суботу, 3 січня 2015 р.

RST-рендеринг в браузере

Вы уже прошли долгий путь, дойдя до этой публикации, потому она может быть вам тоже полезна. RST - очень хороший формат для документации, научных статей, потому как вы не задумываетесь над разметкой, а, фактически, пишете сам текст. Потом, когда надо, его можно переконвертировать в другой формат разметки текста. Очень удобен html в этом деле. Кроме того, можно сделать так, что ваш документ будет доступен из любого компьютера подсети и конвертироваться автоматически. Вот это и есть суть данной публикации.

Итак, собственно, инструкция:
1) установить python-docutils, чтобы был доступен скрипт rst2html.py, который и производит нужную нам конвертацию;
2) выяснить, где находятся конфигурационные файлы вашей версии httpd (в большинстве случаев просто httpd или apache), на моей Fedora 20 это
/etc/httpd/conf.d/*.conf
3) добавить туда свой новый конфигурационный файл (например, /etc/httpd/conf.d/docs_rst.conf) с таким содержанием:

ScriptAlias /cgi-bin/ /var/www/cgi-bin/ Action RSTHandler /cgi-bin/rst2html.sh AddHandler RSTHandler .rst


Как видно, здесь просто добавлен хендлер, который запустит скрипт rst2html.sh, если в строке запроса идёт обращение к файлу с расширением "rst".

4) Теперь надо добавить соответствующий файл rst2html.sh в папку /var/www/cgi-bin/ с таким содержанием:

#!/bin/sh
echo "Content-type: text/html"
echo ""
/usr/bin/rst2html /var/www/html/${REQUEST_URI}
exit 0

5) Теперь можно помещать ваши rst-документы под папку /var/www/html и доступаться к ним через браузер (в моем случае - localhost/docs/mydoc.rst).



Не забудьте перезапустить ваш httpd, дабы все настройки вступили в силу!

Таким же образом можно добавлять и другие обработчики для других типов файлов. Удачи!