Запилил вот сайтик
Так как висящий годами листинг веб-сервера на vvk.pp.ru мне окончательно надоел, решил вот запилить туда небольшой персональный сайтик. Со всякими вротпрессами возиться не хотелось, а хотелось чего-то простого, чтобы можно было юзать git и редактировать vim-ом, используя markdown-синтаксис, заюзал я такую штуку как генератор статических сайтов cyrax, про который прочёл у j2a. Дизайн тоже взял первый попавшийся не сильно отвратный из свободно доступных. Немного узковато смотрится, разве что.
Cyrax использует шаблонизатор jinja2, который весьма похож на шаблоны django, и есть возможность прогонять текст через фильтры, например через парсер markdown, текстиль и ещё какой-то.
Так же можно включать содержимое с одной страницы на другую с помощью конструкций вида
{% mark body %}
{% filter markdown %}
foo
bar
...
{% endfilter %}
{% endmark %}
на включаемой странице и
{{ post.body|truncate() }}
на целевой. Может пригодиться для отображения постов бложека на заглавной странице.
У меня используется имплементация markdown2.py, который так же нативно умеет подсветку кода с помощью pygments. Но cyrax придётся немножко подправить:
--- template/templatefilters.py.orig 2011-09-22 18:15:13.474779368 +0600
+++ template/templatefilters.py 2011-09-22 18:15:17.598763573 +0600
@@ -8,7 +8,7 @@
except ImportError:
try:
from markdown2 import Markdown
- md = Markdown(extras=['footnotes', 'code-friendly'])
+ md = Markdown(extras=['footnotes', 'code-friendly', 'code-color'])
except ImportError:
raise jinja2.TemplateError('Markdown is not installed!')
И ещё небольшой нюанс: markdown2 не смотрит на шебанг, ему надо начинать блок кода с :::%langname%.
Генерация css-ки для включения подсветки на сайте:
pygmentize -S default -f html |sed -e 's,^.,.codehilite &,' >code.css
Хук с седом потому, что опция -O cssclass=codehilite почему-то не давала эффекта.
Для комментов используется сервис disqus.