Buffer icon Проекты
8 заметок с тегом

блог

LinkedIn

Linkedin account

Linkedin account

Самая HR-ная сеть очень активизировалась.

Если посмотреть с начала лета, то мне пишут примерно через день. Много предложений из Белоруси, ну и удалёнка понятное дело.

Есть прям интересные предложения. Но в данный момент откликнуться ни на одно не смогу :( надо закончить большой проект, который тянется уже пару лет. Может быть потом.

Вообще странно, сеть заблокирована на территории РФ, но ей все очень активно пользуются, Мой Круг пытается что-то сделать, но пока не особо получается.

UPD: а ещё Телеграм! Если ищете работу, подпишитесь на 3-5 каналов, там куча предложений.

 Нет комментариев    516   2 мес   блог   мысли

Обновил блог

Движок Эгея

Движок Эгея

Установил последнюю версию движка, восстановил тему, вроде всё работает, как должно. Движок тут, Эгея — самый движок для ведения блогов. Единственное, что ему наверно не хватает, так это создание статичных страниц, чтобы они не попадали в общую ленту. А так это пока лучшее, чем я пользовался.

Визуально для читателя в общем-то ничего не поменялось. Кроме поддержки тёмной темы 🌒 и возможности оставлять комменты через ВК :)

А ещё обновил скрипт который генерит турбо-страницы, теперь там корректно вставляются картинки в соответствии с разметкой. Ну это так, для себя.

Если решили попробовать и возникли вопросы — небольшое сообщество в Телеграм.

 Нет комментариев    493   5 мес   блог

Medium

Medium logo

Medium logo

Решил по-переводить некоторые свои посты в Медиум. Проверить канал, так сказать :) Ну и заодно попрактиковаться в английском. Первый блин.

Мне частенько пишут иностранцы, но в основном это с гитхаба, как я понял. А блог то на великом и могучем, поэтому появились мысли, чтобы постить туда, на их площадку. Посмотрим, что из этого выйдет.

Если у кого-то есть опыт, отпишите в комменты.

 Нет комментариев    188   6 мес   блог   продвижение

Лента турбо-страниц

Yandex Turbo pages

Yandex Turbo pages

Мой предыдущий опыт с турбо-страницами провалился :)
Я совсем забыл, что стандартная RSS лента Эгеи выдаёт только последние несколько постов. Поэтому, в поиске всегда появлялись свежие записи, а старые пропадали.

Есть ограничение в 1000 записей от одного источника. Мне это не грозит, но у кого большой блог, надо сделать несколько.

В общем, сделал скрипт по аналогии, как когда-то для карты сайта, который генерирует все записи в соответсвии с разметкой от Яндекса.

Единственный момент интересный, валидатор Яндекса всё время ругался, что тексты не размечены по параграфам. Поэтому добавил такую манипуляцию, которая заменяет конец строки и оборачивает в тег параграфа.

$body = nl2br($body, false);
$body = '<p>' . preg_replace('#(<br>[\r\n\s]+){2}#', "</p>\n\n<p>", $body) . '</p>';

Теперь все записи в поиске без ошибок и оттуда даже пошёл трафик.

 1 комментарий    115   10 мес   блог   продвижение

Заметки на полях в Эгее

Прочитал недавно пост про то, как сделать заметки на полях (маргиналии о_О) у Вениамина Векка. И решил честно не воровать, а сделать сам. Собственно, там и красть-то нечего.

Получились вот такие, простые заметки на полях, в которые можно выносить свои умные мысли и комментарии.

Сделать такие же — очень просто. Нужно в своей теме оформления, добавить всего один стиль, назовём его .note, примерно с такими свойствами:

.e2-text .note {
    padding: 15px;
    float: right;
    clear: right;
    width: 25%;
    min-width: 150px;
    text-align: left;
    background-color: #f2f2f2;
    font-family: var(--smallFontFamily);
    font-size: 12px;
    position: relative;
}

Чтобы вынести часть текста в заметку справа, нужно в начале строки написать название класса, а далее через пробел свой текст:

.note Получились вот такие, простые заметки на полях...

В последних версия Эгеи уже есть три готовых к использованию класса форматирования: .foot, .lead и .loud. Об этом не написано в справке, но можно прочитать в одном из постов Ильи Бирмана.

 2 комментария    125   2018   блог

Турбо-страницы для Эгеи

Яндекс недавно запустил турбо-страницы, но с Эгеей они не дружат, потому что RSS лента формируется без нужных ключей и соответственно не проходит валидацию.

Чтобы это исправить, нужно отредактировать шаблон RSS, он находится по такому пути:

your_site_root/system/default/rss/rss.tmpl.php

переопредилить его для своей темы нельзя, поэтому правим там. После обновления движка, надо будет снова редактировать.

<?= '<?xml version="1.0" encoding="utf-8"?>' ?> 
<rss version="2.0">

<channel>

<title><?= htmlspecialchars ($content['title'], ENT_NOQUOTES, HSC_ENC); ?></title>
<link><?= $content['home_page_url'] ?></link>
<description></description>
<generator><?= $content['_e2_ua_string'] ?></generator>
<language>ru</language>
<yandex:analytics id="<YOUR_METRIKA_ID>" type="Yandex"></yandex:analytics>

<?php foreach ($content['items'] as $item) { ?>
<item turbo="true">
<title><?= htmlspecialchars ($item['title'], ENT_NOQUOTES, HSC_ENC); ?></title>
<guid isPermaLink="<?= $item['_rss_guid_is_permalink'] ?>"><?= $item['_rss_guid'] ?></guid>
<link><?= $item['url'] ?></link>
<comments><?= $item['url'] ?></comments>
<description><?= htmlspecialchars ($item['content_html'], ENT_NOQUOTES, HSC_ENC) ?></description>
<pubDate><?= $item['_date_published_rfc2822'] ?></pubDate>
<turbo:content><?= htmlspecialchars ($item['content_html'], ENT_NOQUOTES, HSC_ENC) ?></turbo:content>
<author><?= @$content['blog']['author'] ?></author>
</item>

<?php } ?>

</channel>
</rss>

Я ещё добавил Яндекс.Метрику, но это необязательный параметр, также как язык и автор.
После этого, заходим в Яндекс.Вебмастер и активируем турбо-страницы. Всё должно работать.

 1 комментарий    84   2017   блог

Sitemap для Эгеи

Обновлено для последней беты

Знаю, что Илья Бирман, разработчик движка для блога Эгея, «против» нативной генерации sitemap файла, поэтому пришлось сделать небольшой PHP скрипт для себя. Добавил задание в Cron, чтобы раз в неделю генерил новый файл. Квест пройден.

<?
$domain = 'mopsicus.ru'; // домен
$db_user = 'login'; // логин к БД
$db_password = 'password'; // пароль к БД
$db_database = 'blog'; // название БД
$db_host = 'localhost'; // адрес БД

$db = new mysqli($db_host, $db_user, $db_password, $db_database);

$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= "\n";
$xml .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';
$result = $db->query("SELECT MAX(`LastModified`) AS `LastModified` FROM `notes` WHERE 1");
while ($row = $result->fetch_assoc()) {
$xml .= "
<url>
	<loc>http://$domain</loc>
	<priority>1.0</priority>
	<lastmod>".date('Y-m-d\TH:i:s\Z', $row['LastModified'])."</lastmod>
</url>";
}
$result = $db->query("SELECT OriginalAlias, LastModified FROM `notes` WHERE IsPublished = 1 AND isvisible = 1");
while ($row = $result->fetch_assoc()) {
	$page = $row['OriginalAlias'];
	$xml .= "
<url>
	<loc>http://$domain/all/$page</loc>
	<priority>0.8</priority>
	<lastmod>".date('Y-m-d\TH:i:s\Z', $row['LastModified'])."</lastmod>
</url>";
}	
$xml .= "
</urlset>";
$db->close();
$fp = fopen('sitemap.xml', 'w'); 
fwrite($fp, $xml);
fclose($fp);
echo "ok";
?>

Обо мне

Добрый день, меня зовут Игорь Лопатин.

Лопатин Игорь

Лопатин Игорь

Это мой персональный блог. В основном он посвящен разработке на Unity и играм. Этим я занимаюсь последние несколько лет. Много времени уделяю мобильным платформам (iOS и Android), знаю как спроектировать, разработать, выпустить и продвинуть приложение в AppStore и Google Play.

Большой опыт в разработке клиент-серверных приложений и игр, в том числе realtime, умею писать расширения редактора Unity и плагины для Android и iOS (iCloud, Google Sign-in, Sign-in with Apple, Firebase Push Service, Browser, Sharing, Mail, Images, Review, NativeInput, ...). Работаю с Git (Flow, Submodules). Пользуюсь профайлером и memory профайлером. Знаю как работают многопользовательские онлайн игры (>50k online), настольные, сессионные, 2D. Могу интегрировать рекламные и другие SDK в Unity приложение: FB, Twitter, Firebase, GA, OneSignal, etc.

Один год отдал стартапам и все что с ними связано, проработав руководителем IT-инкубатора: customer development, lean startup, agile, unit-экономика, аналитика, инвестиции, презентации — все это знаю, умею и применяю.

Со мной можно связаться по почте, в Телеграм или найти в Фейсбуке.

 417   2016   блог