Sphinxとの連携

Ver3.30から、reStructuredText で書かれた記事をエクスポートして、そのままブラウザ上から Sphinx で処理(make)することが可能になりました。これにより、adiary を Sphinx統合環境CMS として利用できます。

利用条件

  • adiaryが動作する環境。
  • Sphinxがインストールされた環境。
  • adiaryの管理者権限アカウント。

Windowsとminiconda(Anaconda)環境でも動作確認しています。

サーバが Debian系 ならばSphinxは以下のコマンドで導入できます。

apt-get install python-sphinx

設定と注意

使用するためには、adiary.conf.cgi に以下の設定が必要です。

<$v.special_export = true>

この設定より、adiary管理者権限のあるアカウントでのみ、Sphinx連携機能が使えるようになります。*1

SphinxがWeb上から呼び出されることを想定していないため、この設定はセキュリティーホールとなる可能性があります。アカウントの管理には特に注意してください。

*1 : .rstファイルの出力機能は常に使用できます。

使い方

reStructuredText(RST)を使用して、adiary内に記事を執筆します。記事をコンテンツ設定すると「コンテンツkey」+「.rst」が出力ファイル名になります。

執筆した記事を、Sphinxで処理するために、管理メニューから「ブログの管理」→「エクスポート」に進みます。

sphinx.png

「reStructuredText出力」を開き、「Sphinxで処理する」のチェックを入れます。

出力ボタンを押すと .rst ファイルが出力され、Sphinxが起動しそのファイルを処理します。

その他

  • アルバム上に貼り付けた画像等は、そのままSphinxでの出力に反映されます。
  • csv-tableディレクティブで外部ファイル参照時、アルバム内のファイルを files/table.csv のように参照すればSphinxでも問題なく取り込めます。
  • Sphinxの拡張ディレクティブや拡張Roleには今のところ対応していません。必要がありましたら理由を添えてご要望ください。前向きに検討いたします。

conf.pyの変更

一回目の出力時に「sphinx-quickstart」が呼ばれ、「conf.py」が自動的に生成されます。

必要に応じてサーバにsshで入るか、sftpで接続するなどして、conf.pyを書き換えてください。