Я использовал плохо написанный bash-скрипт, зависящий от pup и pandoc. Я не слишком возражаю против зависимости от pandoc, так как она есть во всех моих системах. Но сценарий грязный, и я бы предпочел что-нибудь почище.

«Почему бы просто не использовать x?»

Большинство генераторов статических сайтов, которые я видел, такие как Hugo и Jekyll, кажутся мне слишком сложными. Я не говорю, что не могу их использовать, я просто почувствовал некоторое трение и подумал, что было бы здорово создать свой собственный.

Моими требованиями к текущему сценарию были:

  • Должно быть как можно меньше зависимостей.
  • Должен работать в UNIX/UNIX-подобных системах
  • Необходимо создать файл RSS со всеми сообщениями в блоге.
  • Необходимо упорядочить сообщения в блоге по дате

Я не слишком задумывался о том, как работал старый сценарий. Я начал с написания функции, которая компилирует файлы уценки моих сообщений в блоге. Все остальное пришло после этого. Всякий раз, когда я сталкивался с препятствием, я искал программу, которая могла бы мне помочь. В конце концов, у меня был хакерский скрипт, который работал, но я не гордился им. Я также начал сталкиваться с проблемами, когда хотел добавить новый функционал или что-то изменить.

Текущий сценарий не так уж и плох. Как это работает, предполагается, что каждый каталог (включая корневой каталог) имеет подкаталог src. Он компилирует каждый файл уценки в подкаталогах src в файлы HTML, которые находятся в самом каталоге. Чтобы не создавать index.html, вместо этого я создаю index.md, и он компилируется, как и любой другой файл уценки.

Это основа того, как это работает. Если хотите подробностей, читайте сценарий.

Я доволен тем, как это работает прямо сейчас, но меня это немного раздражает. Сообщения в блоге упорядочиваются по дате их публикации путем указания даты в имени файла.

Фу

Сначала я пытался использовать для этого ассоциативный массив, но мне было трудно сортировать даты с помощью программы сортировки. Я разберусь с этим в конце концов.

С тех пор я реализовал то, что я называю "сортировкой гетто". Это некрасиво, но работает.

Если у вас есть какие-либо предложения, напишите мне или отправьте запрос на вытягивание :).

Первоначально опубликовано на https://lawrencelogoh.com 24 июня 2022 г.