Why Nostr? What is Njump?
2023-12-22 18:44:10

Alexey Skobkin on Nostr: Недавно наткнулся на душевную визуальную ...

Недавно наткнулся на душевную визуальную новеллку от инди-автора с DeviantArt.

Решил посмотреть, что там у него ещё есть.
С одной стороны наткнулся на потешные фанфики с раптор-тянами - этакий кроссовер Monster Musume и Jurrasic World. Сами фанфики пока не читал, но иллюстрации забавные.
С другой стороны обнаружил, что в общем-то у визуальной новеллы есть сорц в виде полноценной новеллы публиковавшейся у него в профиле отдельными главами.

Подумал, что надо почитать.

В 1:30 ночи вспомнил об этом и решил, что надо из текстов на DeviantArt зафигачить EPUB и на телефоне послушать перед сном.

Нашёл ноунейм скрипт на питоне, который делает EPUB из Markdown.
Написал на том же питоне простую обвязку чтобы из файлов лежащих рядом собрать конфиг него и потом было достаточно запустить сборку.

Всё это оформил в Git репозиторий, сделал конфиг Drone для запуска в CI - ну а хули бы и нет!

Начал тестить локально. Питоновая софтина, что я нашёл работает как говно. Точнее не работает вовсе. Её надо переписывать, а там - лапша. XML вперемешку с сорцами, сам питон написан не по PEP, IDE половину подсвечивает как пиздец.

Забил хуй. Взял pandoc в официальных Docker образах. Удалил всё, что написал и переписал под него.

В CI началась какая-то хуйня с запуском команд в контейнере. Проебался какое-то время чтобы понять, что у меня контейнер minimal с одним только бинарником pandoc, а я там шеллом пытался собирать, сортировать и скармливать главы конвертеру.
Взял полный контейнер pandoc уже с шеллом - всё заработало.

EPUB собирается. Но он собирается и пропадает вместе со всем пайплайном - его надо куда-то деплоить.

Взял плагин Gitea Release для Drone.
Пердолился какое-то время с ним пока не понял как его корректно сконфигурировать - недостаточно прав выдал токену, который ему кормил. Потом из-за немногословной документации не сразу разобрался с ещё одним параметром.

В получился пайплайн, который первым шагом собирает файлики, кормит их pandoc и получает артефакт в виде EPUB-файла, а вторым - деплоит артефакт с помощью Gitea Release.

5 утра. pandoc собирает EPUB, Gitea Release создаёт в Gitea релиз и выкладывает туда книжку.

Но я всё это время возился с кодом, а саму новеллку с DeviantArt не притащил - только несколько глав для теста.

В результате послушал то, что собралось из тех глав, что были и уснул.

Итого за вечер:

- Два переписывания конфигурации сборки с нуля
- ~7% книжки собрано

С одной стороны хочется сказать, что иногда надо выкидывать этот системный подход и делать быстро на коленке чтобы работало.
А с другой - охуенно провёл время же!

#books #dev #pandoc #Markdown #DeviantArt #fantasy #MonsterClub #EPUB #log #fun #CI #git #Gitea #Drone #пердолинг
Author Public Key
npub1vwl5wd8j98l66lkcpsytgkx88r2p66x3qzrzqveuppej44sf8kgqyrde7w