Poole: генератор статических сайтов
Poole — генератор статических сайтов, написанный на Питоне, на нём же можно писать расширения. Работает очень просто: копирует файлы из папки input
в папку output
, файлы с некоторыми расширениями преобразовывает по встроенным или описанным пользователям правилам.
Из коробки Poole умеет преобразовывать файлы Markdown в HTML. Исходные файлы с раширением .md
состоят из заголовка и тела, выглядят примерно так:
title: Заголовок страницы
date: 2013-11-20 14:04
---
Содержимое страницы:
- поддерживает форматирование;
- можно использовать HTML код;
- можно встраивать код на Питоне hello
Poole переводит содержимое этого файла в HTML, загружает шаблон page.html
и подставляет результат в него.
Расширение с помощью плагинов
Плагинов в базовой версии Poole нет, но их легко добавить с помощью файла macros.py
. У меня плагины — это модули (файлы с расширением .py
), которые живут в папке plugins
. Подключаются и настраиваются они добавлением такого кода в macros.py
:
from plugins.meta import *
OG_COUNTRY_NAME = "Russia"
OG_LOCALITY = "Sebezh"
OG_EMAIL = "[email protected]"
Раньше я собирал все функции и хуки в macros.py
— получался бардак. Теперь в нём чисто, а весь код разложен по стройным плагинам, которые я повторно использую на разных своих сайтах.
Описание некоторых плагинов
- RDFa для картинок (rdfa.py)
- RSS ленты (feeds.py)
- Карта сайта для роботов (sitemap.py)
- Метаданные страницы и сайта (meta.py)
- Простое одноуровневое меню (simple_menu.py)