shikhalev.*

Последние записи

ЖизньПриродаWeb

2026.09.04 • Иван Шихалев

Tg: август 2026

В этом августе начались пропуски всего подряд, а еще GitHib Actions то вообще сбоят, то запускают задачи с мно­го­ча­со­вы­ми опозданиями…

Биоразнообразие Свердловской области в TG

По Свердловской области прям сложно выбрать — сразу несколько наблюдений красивых и/или редких… Остановился на птен­це коростеля.


Читать далее »

TelegramiNaturalistбабочкиживотныенасекомыептицырастенияцветы

ЖизньДыбрWebО себе

2026.08.30 • Иван Шихалев

Мерч: гриб, жук и цветок

Добавил на сайт еще три коллекции:


Читать далее »

PrintDirectВсеМайкимерчпринтшопы

ТехнологииПрограммированиеRubyWeb

2026.08.22 • Иван Шихалев

Плагины jekyll‑is‑hookdown и jekyll‑is‑images v0.8.2

jekyll-is-images

Сначала коротко про jekyll-is-images. По срав­не­нию с со­сто­я­ни­ем на прош­лый пост в ос­нов­ном произошло много мелких правок мелких багов, из от­но­си­тель­но су­щес­т­вен­но­го — довел до ума работу галерей в ре­жи­ме слайд-шоу (впрочем, и там есть куда расти). А третью цифру я поднял при сме­не зависимости с is-kramdown-hooked на jekyll-is-hookdown, о ко­то­ром и поговорим далее. Это повлияло на то, что следует указывать в _config.yml — вместо input: ISKram в под­раз­де­ле kramdown следует указывать markdown: Hookdown в кор­не конфига. А под­раз­дел kramdown остается полностью рабочим, и там можно указывать любой input, на­при­мер — GFM1 (что я и собираюсь сделать на сай­те в бли­жай­шее время).

jekyll-is-hookdown

Сгенерированная картинка чисто для красоты

Итак, что же это такое? Это специальный гем, который «хакает» процесс обработки markdown в Je­kyll, добавляя хук на тот момент, когда страница уже распарсена во внут­рен­нее AST-представление и еще не пре­об­ра­зо­ва­на во что-то другое. Зачем это надо? Чтобы не де­лать лишней работы по пар­син­гу исходного markdown или фи­наль­но­го HTML.

  1. GitHub Flavored Markdown. Конкретно мне это нужно для того, чтобы использовать ``` (тройной бэктик) для блоков кода вместо окружения {% highlight %}. 


Читать далее »

CSSHTMLJekyll

ЖизньДыбрWebО себе

2026.08.15 • Иван Шихалев

Мерч: Большой крохаль

Фото самца большого крохаля (Mergus merganser). 18 мая 2026 года, Дружино-Бардымский пруд.
Фото самца большого крохаля (Mergus merganser). 18 мая 2026 года, Дружино-Бардымский пруд.

PrintDirectВсеМайкимерчпринтшопы

ЖизньДыбрWebО себе

2026.08.09 • Иван Шихалев

Мерч: Паук и еще один пейзаж

FUNPrintDirectВсеМайкимерчпринтшопы

О себеТекстыWeb

2026.08.07 • Иван Шихалев

Ссылки на Suno

Фрагмент скриншота моей страницы на Suno

Давно собирался, наконец-то сделал — ссылки на мои опыты в Suno, непосредственно со страниц соответствующих текстов. Нужно, конечно, сделать еще нормальные плейлисты и альбомы, но это потом. И, конечно, надо делать нормальную верстку… И это как раз в процессе, вместе с прочим рефакторингом и редизайном.

Пока можно посмотреть список омузыкаленных текстов по тегу «suno».

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

SunoИИмузыка

ТехнологииПрограммированиеRubyWeb

2026.08.05 • Иван Шихалев

Плагин jekyll-is-images v0.8.0.2

Картинка для привлечения внимания

Сделал таки плагин для Jekyll, реализующий именно то, и именно так, как мне надо…

Коротко суть: картинки обрезаются, ресайзятся и конвертируются в зависимости от параметров, и далее заворачиваются в теги <figure>. Более того, легко и непринужденно из этих картинок формируются галереи, которые тоже можно всячески кастомизировать.

Подробности можно почитать в README-ru проекта на Github. Здесь коротко.

Зависимости и ограничения

  • Требуется ImageMagick 6-й или 7-й версии. И это та зависимость, которая не подтягивается через bundle install по по­нят­ным причинам.

  • Полноценно плагин будет работать, только если в качестве markdown-конвертера выбран Kramdown (это дефолтный выбор, так что, думаю, для большинства пользователей Jekyll — не проблема).

    • Кроме того, в настройках самого kramdown нужно выбрать кастомный парсер ISKram, что может стать проблемой, если уже используется какой-то кастомный парсер…

      markdown: kramdown
      kramdown:
        input: ISKram
  • Запуск с нуля — при пустом кэше — это долго.

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

Далее о хорошем.

Синтаксис

Стандартный. Т.е. пишем, как это в Markdown принято, ![Text](url){: атрибуты } и радуемся. Вся кастомизация сидит в ат­ри­бу­тах и контексте.

Если разметка рисунка сидит на отдельной строке, отбитая пустыми строками сверху и снизу, то она заворачивается не в <p>, как это обычно делает Kramdown, а в <figure>.

Но самая магия начинается, когда у нас в одном абзаце несколько картинок, и нет ничего другого — в этом случае формируется галерея.

Можно, впрочем, использовать и liquid-теги {% image ... %} и {% gallery ... %}, как раз на тот случай, если нет возможности использовать Kramdown с кастомным парсером. Правда, Kramdown все равно подтянется по зависимостям, и именно он будет разбирать параметры тегов.

Превьюшки для соцсетей

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

Кстати, именно это и занимает большую часть времени работы — формирование и наложение текста ImageMagick’ом.

Статус и планы

Текущая версия — 0.8.0.2, т.е., как и все 0.8.xxx у меня — это скорее публичная альфа, чем что-то еще.

Далее буду допиливать фичи и, главное, шлифовать стилизацию. Но делать это получится не быстро, поскольку проверять буду не на сферическом в вакууме сайте, а на своем живом — параллельно с редизайном…

Upd по GitHub Actions

Так и не удалось пока подружить плагин с ImageMagick v6. Пришлось через одно место ставить v7. Вероятно, буду все-таки уже в ближайшее время делать сборку через собственный контейнер, иначе слишком много бубнов сотрется…

CSSHTMLJekyll

ЖизньДыбрWebО себе

2026.08.02 • Иван Шихалев

Мерч: Туманные низины

Продолжаю пополнять каталог (да, очень медленно). Внес товары с июньским пейзажем «Туманные низины».

Начало дня после очень туманного утра июня 2026 года

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

FUNPrintDirectВсеМайкимерчпринтшопы

ЖизньПриродаWeb

2026.08.02 • Иван Шихалев

Tg: июль 2026

Сбоев при автопостинге вроде бы не было. Зато начались пропуски птиц, не хватает свежих видов… Видимо, я немного оптимистично выставил лимиты. Но ничего страш­но­го — потихоньку со временем идем на новый круг.

Биоразнообразие Свердловской области в TG

Просто красивые щеглы. Обычные, но очень симпатичные птицы.


Читать далее »

TelegramiNaturalistбабочкигрибыживотныенасекомыепопугаиптицырастенияцветы

ЖизньДыбрWebО себе

2026.07.13 • Иван Шихалев

Стартовал «псевдо-определитель»

Развертка кружки с «определителем» Fringilla coelebs

Как и обещал, запустил мерч с «как бы определителем». И начал с Зяблика.

Решил не выпендриваться с латынью, в первую очередь потому, что не мо­гу быть уверенным в правильности подписей. Так что все тексты на со­вре­мен­ном русском (и не сге­не­ри­ро­ван­ные, а написанные мной в ко­неч­ном итоге, точ­нее — скомпилированные из раз­ных источников). Были некоторые колебания между декором и информативностью, в итоге склонился к более-менее информативности. Из чистого декора осталась только стилизация и имитация старой бумаги.

Зяблика (Fringilla coelebs) для старта я выбрал, потому что птичка эта распространенная, широко известная, кроме того хорошо визуально определяемая, да еще и с четкими половозрастными различиями. Идеальный объект для тренировки и понимания, как что делать в общем случае, поскольку на нем я, с одной стороны, сразу столкнулся со многими нюансами генерации, а с другой — столкнулся я с ними, как выяснилось, в довольно лайтовом варианте: генерация следующего вида — юрка (Fringilla montifringilla) оказалась куда более геморройной, скорее всего, потому что его изображений в датасетах нейросетей существенно меньше… Хотя и там проблемы оказались решаемыми, так что скоро будет.

На данный момент доступны предметы только с PrintDirect, на ВсехМайках жду модерации (и что-то мне подсказывает, что она пройдет нескоро — всё замерло уже почти три недели как), а на FUN.ru модерация не прошла — фон им не понравился (их проблемы, хотя термос немного жалко).

В любом случае, всё, что есть, можно посмотреть на странице «Зяблик (Fringilla coelebs)». А отдельно хочу обратить внимание на большой постер (на пенокартоне опционально): там максимум информационных блоков, на остальных то­ва­рах — что влезло, то влезло.

Fringilla coelebsPrintDirect«определитель»ВсеМайкиживотныемерчпринтшопыптицы