На сайте 0x29A появилась автоматическая пагинация для списка технических заметок. Теперь главная страница показывает по 9 публикаций, а если заметок становится больше, генератор самостоятельно создаёт дополнительные страницы: /page/2/, /page/3/ и далее. Никаких ручных правок HTML и никаких кнопок «пожалуйста, создай мне ещё одну страницу».

Вся логика реализована непосредственно в генераторе сайта на Python. При каждой генерации он пересчитывает необходимое количество страниц, раскладывает публикации по девять штук и формирует навигацию в привычном терминальном стиле: ./prev и ./next. Выглядит это не как классический веб-сайт с большими синими кнопками, а скорее как сервер, который вежливо сообщает: «страница закончилась, вот следующая».

Есть и обратная сторона автоматизации. Если публикаций становится меньше, лишние страницы удаляются. Например, было 10 заметок — существует /page/2/. Удалили тестовую десятую запись — генератор пересобрал сайт, обнаружил, что вторая страница больше не нужна, и удалил её. Проверка показала: public/page/2 действительно исчезла.

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

В итоге 0x29A получил ещё одну маленькую, но полезную автоматизацию: количество страниц теперь определяется исключительно количеством записей. Девять заметок — одна страница. Десять — две. Девятнадцать — три. Двадцать восемь — четыре. Математика простая, зато теперь за неё отвечает не человек.