Docker/figでSphinxのWebSupportを起動する¶
今日は Python mini Hack-a-thon 51回目 でこのblogを書きました。
Sphinx WebSupportとは¶
SphinxにはWebSupportというAPI群があります。これを使うと、Sphinxでビルドしたドキュメントにコメントを残したり、サーバーサイドで検索できたりするWebアプリケーションを作れます。
しかし、WebSuportはSphinxのAPIでしかなく、実際のWeb画面として動作させるWebアプリケーションはSphinx標準では提供されていません。Flaskで実装されたサンプルアプリケーション Sphinx demo WebApp がbitbucketにあるのですが、2010年に作られたものなので最新のFlaskでは動作しませんでした。そういったこともあり、自分でWebSupportを起動するのはハードルがたくさんあってちょっとつらい感じです。
fig-sphinxwebapp-nginx¶
ということで、Docker/figを使ってSphinxのWebSupportを起動出来るようにしてみました。Vagrant環境があれば、数コマンドでSphinx WebSupportを起動できるようにしてあります。
figで用意した環境はNginxが含まれています。Nginxとか不要、ということであれば、 shimizukawa/sphinxwebapp Dockerコンテナを直接使って下さい。
以下は、Dockerインストール済み環境でSphinx WebSupportを起動している様子です。
これでVagrantのIPアドレスにアクセスすれば、最初に紹介したようなWebSupportの画面にアクセスできます。
今後¶
現状では、まだDocker/figで起動出来るようにしただけなので、これからいくつかの機能を載せて行ければ、執筆レビューや翻訳などに使えるかなーと思っています。
欲しい機能:
用語チェック拡張 の組み込み
HTML自動ビルド(ビルドボタン? ファイル変更検出? WebHook?)
PDF自動ビルド
利用者アカウントの追加・管理
REST API (ビルドのWebHook等)
アーカイブ機能: ボタン押下でreSTソースとビルド結果をzipアーカイブ
コメントのexport
Github, Bitbucket, Twitter, Facebook ソーシャル認証
参考
Sphinx WebSupportを使ってみる - そこはかとなく書くよ。 by @r_rudi
Sphinx demo WebApp というサンプル実装
Python mini hack-a-thon 雪山合宿 / Docker + fig 自分がはじめてfigを触った話
おまけ¶
今日は Python mini Hack-a-thon 51回目 でこのblogを書きました。