Я использовал плохо написанный bash-скрипт, зависящий от pup и pandoc. Я не слишком возражаю против зависимости от pandoc, так как она есть во всех моих системах. Но сценарий грязный, и я бы предпочел что-нибудь почище.
«Почему бы просто не использовать x?»
Большинство генераторов статических сайтов, которые я видел, такие как Hugo и Jekyll, кажутся мне слишком сложными. Я не говорю, что не могу их использовать, я просто почувствовал некоторое трение и подумал, что было бы здорово создать свой собственный.
Моими требованиями к текущему сценарию были:
- Должно быть как можно меньше зависимостей.
- Должен работать в UNIX/UNIX-подобных системах
- Необходимо создать файл RSS со всеми сообщениями в блоге.
- Необходимо упорядочить сообщения в блоге по дате
Я не слишком задумывался о том, как работал старый сценарий. Я начал с написания функции, которая компилирует файлы уценки моих сообщений в блоге. Все остальное пришло после этого. Всякий раз, когда я сталкивался с препятствием, я искал программу, которая могла бы мне помочь. В конце концов, у меня был хакерский скрипт, который работал, но я не гордился им. Я также начал сталкиваться с проблемами, когда хотел добавить новый функционал или что-то изменить.
Текущий сценарий не так уж и плох. Как это работает, предполагается, что каждый каталог (включая корневой каталог) имеет подкаталог src
. Он компилирует каждый файл уценки в подкаталогах src
в файлы HTML, которые находятся в самом каталоге. Чтобы не создавать index.html
, вместо этого я создаю index.md
, и он компилируется, как и любой другой файл уценки.
Это основа того, как это работает. Если хотите подробностей, читайте сценарий.
Я доволен тем, как это работает прямо сейчас, но меня это немного раздражает. Сообщения в блоге упорядочиваются по дате их публикации путем указания даты в имени файла.
Фу
Сначала я пытался использовать для этого ассоциативный массив, но мне было трудно сортировать даты с помощью программы сортировки. Я разберусь с этим в конце концов.
С тех пор я реализовал то, что я называю "сортировкой гетто". Это некрасиво, но работает.
Если у вас есть какие-либо предложения, напишите мне или отправьте запрос на вытягивание :).
Первоначально опубликовано на https://lawrencelogoh.com 24 июня 2022 г.