今、欲しい物はこういうモノです。
Real World Haskellのように、文書のパラグラフ毎にコメントが入れられるようなシステム。それをSphinxでやりたい。つまりSphinxで文書を書いてmake htmlをするとパラグラフ毎にtwitterのOAuthかGoogleの認証使ってコメントが入れられるようなHTMLが出力されるナイスなドキュメント
実際にReal World Haskellのソースを追いかけてみると、jQuery Form Pluginを使っていてAjax化が簡単にできそうなので、別の題材で試してみる。もちろんflaskr
- statisticsにjqueryとjquery.form.jsを配置
- show_entries.htmlのformにid属性をつける(id='flaskr_form'っていう属性をつけた)
- layout.htmlにjsの設定を追加
layout.html
<script type="text/javascript" src="{{ url_for('static', filename='jquery-1.6.min.js') }}"></script> <script type="text/javascript" src="{{ url_for('static', filename='jquery.form.js') }}"></script> <script type="text/javascript"> // wait for the DOM to be loaded $(document).ready(function() { // bind 'myForm' and provide a simple callback function $('#flaskr_form').ajaxForm(function() { $(document.body).load("/"); alert("Thank you for your comment!"); }); }); </script>
これでsubmitしたときにアラート画面が出るようになります。今回書いたコードはここからダウンロードできます。
というわけで、flaskかGAEでパラグラフのidをクエリとしてコメントをjsonで返すサービスを用意しておいて、SphinxにjQuery埋め込んでコメントサービスと連携させれば望みのものはできそうな気がするんだけど、Sphinxのパラグラフに固有のIDを付加する方法がわからない。
どうやるのがいいのかなぁ