Подтвердить что ты не робот

Использование Sphinx для написания личных веб-сайтов и блогов

Sphinx - это библиотека Python для создания хорошей документации из набора ReST форматированные текстовые файлы.

Интересно, что кто-то написал Sphinx плагины, чтобы сделать создание личных веб-сайтов и блогов.

Специально для блогов, должен быть способ автоматически записывать записи в хронологическом порядке и генерировать RSS-канал. Нужно написать плагин Sphinx для создания такой специальной генерации страницы /xml.

Кто-нибудь пробовал это раньше?

4b9b3361

Ответ 1

Я сделал это на http://reinout.vanrees.org/weblog. Основной трюк заключается в добавлении шага препроцессора. У меня есть записи в блоге в структуре папок weblog/yyyy/mm/dd/.

A script выполняет итерацию через эту структуру папок, создавая файлы index.txt в каждом каталоге, перечисляя подпункты. Обычный процесс Sphinx затем отображает те файлы index.txt.

Я добавил собственный Sphinx-процессор для тегов. Итак, ".. tags:: python, buildout" где-то в верхней части моей записи в блоге генерирует теги. И препроцессор снова собирает эти записи и выписывает файл weblog/tags/TAGNAME.txt, который Sphinx снова отображает нормально.

Препроцессор также создает корень weblog/index.txt с последними 10 элементами. И weblog/atom.xml in (hardcoded) выходной каталог для rss-канала.

Итак: вам нужны некоторые пользовательские вещи, но это довольно простой текст, поэтому для меня это было отличное упражнение. И вы можете написать некоторые вспомогательные скрипты, чтобы облегчить жизнь, например, тот, который копирует текстовый файл из любого места в каталог веб-журнала (включая создание отсутствующих каталогов и "svn add" ).

Ответ 3

Doug hellmann, автор "Python Module of the Week", делает свой сайт с помощью Sphinx.

http://www.doughellmann.com/PyMOTW/

У него есть несколько сообщений, которые охватывают темы sphinx, которые могут помочь вам на вашем пути:

http://blog.doughellmann.com

Ответ 4

Если вам нужно написать reStructuredText, вы должны попробовать Pelican.

Pelican - это статический генератор сайтов, написанный на Python. Вы сможете писать записи в блоге непосредственно в reStructuredText или Markdown.

Ответ 5

Стоит знать, что существует расширение RSS для сфинкса в расширениях sphinx-contrib, называемое sphinxcontrib.feed Это и многие другие забавные вещи Сфинкса живут на http://bitbucket.org/birkenfeld/sphinx-contrib/

(Отказ от ответственности: я написал расширение канала.)

Ответ 6

Отъезд ABlog для Sphinx

В процессе создания собственного блога я использую его.

Я наткнулся на него, пока я проходил через каналы. Я искал ее и нашел интересным. Он также имеет интеграцию с Disqus и может генерировать каналы Atom (не очень уверен, что это на данный момент, я новичок в сети).

Я еще не понял, как развернуть свой тестовый блог, будет обновляться, когда я что-то узнаю.

Ответ 7

Not Sphinx, но несколько сайтов в http://codespeak.net/ выполняются со сценариями, которые принимают текст REST, генерируют HTML и загружают их в сайт. Однако я не писал эти сценарии, но я их использовал.

Это разумный способ создания сайтов, если в любом случае сайты должны содержать много файлов ReST, например, при создании документации для модулей python, что, конечно же, относится к этим сайтам. Это также хорошо, если вам нужно, чтобы сайт контролировался версиями, потому что вы можете сохранить исходный код в svn или hg или что-то в этом роде.

Но если вы начнете писать множество автоматических меню и других расширений, то в конце концов вы получите систему управления контентом. И их уже много, поэтому сначала вы можете посмотреть на них.

Другим примером является новый package.python.org. Там вы можете создать свою документацию в любом случае, если хотите, а затем через PyPI загрузите zip файл с документами. Распространение сделала это с помощью Sphinx: http://packages.python.org/distribute. Но нет особого script, который просто генерирует HTML из документации Sphinx.

Однако...

Я должен сказать, что я нахожу идею написания программного обеспечения для блогов, поскольку расширение Sphinx немного забавно, тем более, что там так много отличного программного обеспечения для ведения блогов. И ничто не будет превзойти Wordpress в любом случае, а wordpress.com - отличный опыт ведения блога для меня. Но как упражнение в том, сколько вы можете злоупотреблять Сфинкс, почему бы и нет!: -)

Ответ 8

Я переделал свой личный сайт (http://homepage.mac.com/s_lott/steve/) в Sphinx. Он работает красиво. К сожалению, разметка SO изменяет _ в моем URL-адресе.

Я также переписал все введение в программирование для не-программистов (http://homepage.mac.com/s_lott/books/nonprog/html/index.html) в Sphinx. Я в процессе перезаписи Введение в Python в Sphinx.

Я не использую Sphinx для блогов - это не совсем удобно, но это сработает. Я использую blogspot для низко-графических/высокотекстовых и относительно высокоскоростных блогов. Я использую iWeb (http://web.me.com/s_lott/Travel/Welcome.html) для высокого графического и относительно низкоскоростного ведения блога.