Недавно наткнулся на душевную визуальную новеллку от инди-автора с 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 #пердолинг
@xpucckapy, не уверен о чём ты, только понял что @skobkin присунул кому-то, вероятно самому @skobkin@lor.sh-у
@xpucckapy
Просто selfcest
@AncientGood @skobkin
@AncientGood @skobkin вроде в некоторых кругах это называют selfincest