2009-10-16 11 views
32

Sphinxは、ReSTフォーマットのテキストファイルから素敵なドキュメントを生成するためのPythonライブラリです。Sphinxを使って個人のウェブサイトやブログを書く

スフィンクスプラグインを作成した人がいれば、は、個人的なウェブサイトとブログを生成します

特にブログの場合、自動的に投稿を時系列で一覧表示し、RSSフィードを生成する方法が必要です。このような特別なページ/ xml生成を行うためにSphinxプラグインを書く必要があります。

誰もこれを前に試しましたか?

答えて

18

私は​​で行っています。キートリックはプリプロセッサステップを追加することです。私はweblog/yyyy/mm/dd/のフォルダ構造のブログエントリを持っています。

スクリプトは、すべてのディレクトリにサブフォルダをリストしたindex.txt個のファイルを作成して、そのフォルダ構造を反復処理します。通常のSphinxプロセスでは、ファイルindex.txtがレンダリングされます。

タグ用のカスタムSphinxプロセッサを追加しました。だから、 ".. tags :: python、buildout"というWeblogエントリの上部にタグが生成されます。プリプロセッサは再びこれらのエントリを収集し、weblog/tags/TAGNAME.txtファイルを書き出し、Sphinxが再び正常にレンダリングします。

プリプロセッサは最新の10エントリのルートweblog/index.txtも作成します。また、weblog/atom.xmlには、RSSフィードの出力ディレクトリが(ハードコードされている)出力されています。

だから、あなたはカスタムのものが必要ですが、それはかなり普通のテキストなので、私にとっては素晴らしい演習でした。また、テキストファイルをどこかから今日のweblogディレクトリにコピーする(欠けているディレクトリや "svn add"の作成を含む)など、簡単な作業をするためのヘルパースクリプトを書くこともできます。

+0

あなたのタグソリューションは確かですか? –

+0

@ChrisJohnson:はい、http://reinout.vanrees.org/weblog/2012/01/22/website-changes.html#sphinx-as-weblog-code-is-now-available-somewhatを参照してください。カスタマイズされ、部分的にハードコードされています。自由にコピー/ペーストしてください。私はある日ライブラリーにそれを掃除するかもしれませんが、私は今2年間それを考えていましたので、今私は固定の約束をしていません:-) –

2

スフィンクスではありませんが、http://codespeak.net/にあるサイトのいくつかは、ReSTテキストを受け取るスクリプトで行われ、HTMLを生成してサイトにアップロードします。私はそれらのスクリプトを書きませんでしたが、私はそれらを使用しました。

サイトにReSTファイルがたくさん含まれている必要がある場合は、サイトを生成するのが妥当な方法です(もちろん、これらのサイトはすべてについてです)。ソースコードをsvnやhgなどに保存することができるため、サイトをバージョン管理する必要がある場合にも便利です。

しかし、多くの自動メニューやその他の拡張機能の作成を開始すると、最終的にはコンテンツ管理システムが完成します。そして、既にそれらの周りにたくさんの人がいるので、あなたはそれらを最初に見たいかもしれません。

もう1つの例は、新しいpackages.python.orgです。とにかくあなたが望むようにあなたのドキュメントを生成することができますし、PyPIを使ってドキュメントと共にzipファイルをアップロードします。 DistributeはこれをSphinx:http://packages.python.org/distributeで行っています。しかし、特別なスクリプトは必要ありません。それはSphinxのドキュメントからHTMLを生成するだけです。

しかし...

は、私はそんなに優れたブログソフトウェアは、すでにそこに存在している、特に以来、私はスフィンクスの拡張としてビット面白いブログソフトウェアを書くのアイデアを見つけると言わなければなりません。とにかくWordpressを打ち負かすものは何もなく、wordpress.comは私にとって素晴らしいブログ体験となっています。しかし、どのくらいあなたがスフィンクスを虐待することができるかの練習として、どうしたらいいですか? :-)

+2

Wordpressの上でSphinxを使うことは、あなたの記事があなたの好きなエディタで書かれ、バージョン管理下に置かれ、グロッピングされ、構文がハイライトされるなどの利点があります。 –

+1

Wordpressコードの強調表示はひどいです私の経験では、Python、スフィンクスでは、それは動作します:) –

1

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

彼はおそらく、あなたの方法であなたを助けることができるスフィンクスのトピックをカバーするいくつかの記事を持っています。それはうまく動作します。 悲しいことに、SOのマークアップは私のURLの_を改造します。

また、私はスフィンクスでの非プログラマ(http://homepage.mac.com/s_lott/books/nonprog/html/index.html)書籍のためのプログラミングに全体紹介を書き直しました。私はSphinxのPython入門書を書き直しています。

私はブログにSphinxを使用していません。それは完全に便利ではありませんが、うまくいくでしょう。私は、低グラフィック/ハイテキストと比較的高速なブログにはblogspotを使用します。iWeb(http://web.me.com/s_lott/Travel/Welcome.html)を使用して、高いグラフィックスと比較的低速のブログを作成しています。

+0

最初の2つのリンクが壊れています! –

+0

愚かなSOマークアップは、_をマングリングします。私はそれらを修正したと思う。ポイントは、私がスフィンクスを大量に使用していることです。 –

7

それは、スフィンクス-contribの拡張でスフィンクスのためのRSSの拡張機能があることを知っておく価値のIT sphinxcontrib.feed と呼ばれ、スフィンクスの物事がhttp://bitbucket.org/birkenfeld/sphinx-contrib/

(免責事項:私はフィードの拡張子を書いた。)に住んでいる他の多くの楽しみ

今のよう
10

あなたはreStructuredTextで記述する必要がある場合は、Pelicanを試してみてください。

ペリカンは、Pythonで書かれた静的サイトジェネレータです。 reStructuredTextまたはMarkdownにブログエントリを直接書き込むことができます。

4

私はそれを使用してブログを自分自身を開始する過程で午前ABlog for Sphinx

をチェックしてください。

私は飼料中で自分の飼料を通過している間に私はそれを見つけた。私はそれについて調べ、それが興味深いと分かった。また、Disqusとの統合が可能で、Atomフィードを生成することができます(現時点では何もわかりませんが、私はWebを初めて利用しています)。

テストブログを展開する方法はまだ分かりません。何かを見つける。

+0

私はあなたの質問を編集しました。スパムのようなものです多分あなたはそれをさらに編集して*なぜ*それがOPのための良い解決策になるかを説明することができますか?それは?彼/彼女が尋ねたようにRSSを生成する?リンクだけでは不十分です。 –

+0

ええ、ABlogは実際には最高の答えです。汚れと比較すると、より積極的に維持され、フォルダ階層に頼るのではなく、最初に投稿をタグ付けすることができます。 RSSフィード、素晴らしいフォント、Disqus、[その他の多くの機能](http://ablog.readthedocs.org/manual/ablog-configuration-options)をサポートしています。 – ostrokach

関連する問題