Слегка упоротая редакция

From system administration to disease reversal

Запилил вот сайтик

Так как висящий годами листинг веб-сервера на 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.


blog comments powered by Disqus