Недавно наткнулся на душевную визуальную новеллку от инди-автора с 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 #пердолинг

@skobkin ожидал прочитать про то как @skobkin хотел что-то поделать, но в итоге он несколько часов пердолился в код.
@skobkin оправдал мои ожидания!

@xpucckapy, не уверен о чём ты, только понял что @skobkin присунул кому-то, вероятно самому @skobkin@lor.sh-у

@AncientGood @skobkin вроде в некоторых кругах это называют selfincest

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.