Мой прошлый сайт (oleggromov.com, сейчас там редирект сюда) был сгенерирован самописным генератором Feisty. У него есть крутая фишка: он поддерживает произвольную вложенность в yaml-шаблонах страниц, в которые можно включать либо md-файлы с контентом, либо другие yml. Благодаря этому каждая страничка собирается из небольшого дерева на файловой системе.
Кроме вложенности, крутота ещё в том, что контент разбит на произвольное количество мелких частей — и это очень удобно при вёрстке нелинейных страниц со всякими врезками, списками и прочим. Весь HTML, кроме базового форматирования, отдельно от контента.
Но у статики есть косяк, который я не могу побороть даже концептуально: отсутствие user-generated контента. Хочу я, чтобы комментарии посетителей оставались со мной навсегда — и для SEO, и чтоб владеть своими данными, и, потенциально, для email-рассылок. А никак. Есть только какая-то чепуха вроде комментариев в issues на гитхабе и какой-то треш вокруг всего этого — но это ж не серьёзно, плюс, опять же, данные мне не принадлежат.
И что же делать? Писать нового франкенштейна 🙂 Конечно же, Wordpress или {{ your_favorite_cms }}
я брать не буду, потому что мне нужны мои любимые чанки — их я сделал как разложенные на строчки таблицы узлы дерева, каждый из которых доступен по своему пути. А Postgres замечательно индексирует их с помощью расширения ltree
. Например, чтобы получить about.experience.klarna.period
, можно сделать SELECT * FROM chunks WHERE path <@ ‘about.experience’
.
К тому же комментарии, ради которых это все затевается, прекрасно ложатся в эту древовидную структуру. Красота да и только! Покажу вам потом, когда готово будет.
А пока вопрос на миллион: не порю ли я фигню? Нет ли какого-то более-менее адекватного способа прикрутить комментарии к статичному сайту? Ну, например, пересобирать страницу в момент отправки комментария каким-то третьим сервисом? Может, идея для стартапа? 😄