Избранное Все заметки GitHub icon Мой Github Обо мне
4 заметки с тегом

блог

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

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

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

Сделать такие же — очень просто. Нужно в своей теме оформления, добавить всего один стиль, назовём его .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. Об этом не написано в справке, но можно прочитать в одном из постов Ильи Бирмана.

30 марта   блог

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

Яндекс недавно запустил турбо-страницы, но с Эгеей они не дружат, потому что 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>

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

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, а также различных парсеров и утилит.

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

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

2016   блог