<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Sphinx / Drkcore</title><link>http://blog.kzfmix.com/Sphinx</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Sun, 24 Mar 2013 17:05:22 +0919</lastBuildDate><item><title>Sphinxでmobi化がうまくいっていない</title><link>http://blog.kzfmix.com/entry/1364111812</link><description>&lt;p&gt;昨日から&lt;a href="http://blog.kzfmix.com/entry/1364016960"&gt;Flask入門のやつをSphinxに移植&lt;/a&gt;していた。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1364111792" src="http://www.kzfmix.com/images/blog/1364111792.jpg" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.kzfmix.com/flaski/"&gt;Flask 入門&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.kzfmix.com/docs/flask.epub"&gt;(epub版)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.kzfmix.com/docs/flask.mobi"&gt;(mobi版)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;epubはさくっとmakeできたのだけど、&lt;a href="http://tdoc.info/blog/2012/12/01/mobibuilder.html"&gt;Sphinx mobi builder&lt;/a&gt;にならってビルドしてみたけどNotImplementedErrorがでたので、Sphinxでmobiにするのは諦めて&lt;a href="http://sho.tdiary.net/20110816.html"&gt;calibre&lt;/a&gt;を使った。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;Exception occurred:
  File &lt;span class="s2"&gt;&amp;quot;/Users/kzfm/Sphinx_projects/kindlebuilder/kindlebuilder/kindlewriter.py&amp;quot;&lt;/span&gt;, line 295, in visit_image
    raise NotImplementedError&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;should implement this feature&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
NotImplementedError: should implement this feature
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;ちょっと負けた感があるので、Shizuoka.pyまでにはいい感じのmobi変換のやり方を見つけておきたい。あと&lt;a href="http://internet.watch.impress.co.jp/docs/news/20130321_592550.html"&gt;Send to Kindle Button&lt;/a&gt;でmobiをkindleに送れるように設定できるのだろうか？できるのであればSphinxでつくったGitHub Pagesにmobi用のボタンつけることができてかなり快適になると思うんだけどなぁ。&lt;/p&gt;
&lt;p&gt;というような内容のLTをやれればと思っているので、興味があれば&lt;a href="http://atnd.org/events/38088"&gt;Shizuoka.py&lt;/a&gt;に参加よろしくお願いします。&lt;/p&gt;</description><pubDate>Sun, 24 Mar 2013 17:05:22 +0919</pubDate><category>Python</category><category>Sphinx</category></item><item><title>Sphinxのテーマにtwitter bootstrapを使う</title><link>http://blog.kzfmix.com/entry/1359873152</link><description>&lt;p&gt;&lt;a href="http://pypi.python.org/pypi/sphinx-bootstrap-theme"&gt;pipできるように&lt;/a&gt;なってた。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;sudo pip install sphinx_bootstrap_theme
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;で使えるようになる。&lt;/p&gt;
&lt;p&gt;&lt;img alt="1359877269" src="http://www.kzfmix.com/images/blog/1359877269.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;あまりCSSをいじる気がなければこれでいいかなと思うが、弄りたい場合には&lt;a href="http://blog.physalis.net/post/15583009532/sphinx-twitter-bootstrap"&gt;こっち&lt;/a&gt;のやり方のほうがいいかな。&lt;/p&gt;
&lt;p&gt;あとで何かで使ってみようっと。&lt;/p&gt;</description><pubDate>Sun, 03 Feb 2013 16:42:08 +0919</pubDate><category>Sphinx</category><category>twitter-bootstrap</category></item><item><title>SphinxでMSWord(docx)ファイルを出力する</title><link>http://blog.kzfmix.com/entry/1348572220</link><description>&lt;p&gt;sphinx-quickstart でスキャフォールドを作成したら、sphinx-docxbuilderエクステンションを使えるようにするためクローンする&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;mkdir exts
&lt;span class="nb"&gt;cd &lt;/span&gt;exts/
hg clone https://bitbucket.org/haraisao/sphinx-docxbuilder
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;conf.pyの15-30行目あたりを編集&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;abspath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;exts&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c"&gt;# -- General configuration -----------------------------------------------------&lt;/span&gt;

&lt;span class="c"&gt;# If your documentation needs a minimal Sphinx version, state it here.&lt;/span&gt;
&lt;span class="c"&gt;#needs_sphinx = &amp;#39;1.0&amp;#39;&lt;/span&gt;

&lt;span class="c"&gt;# Add any Sphinx extension module names here, as strings. They can be extensions&lt;/span&gt;
&lt;span class="c"&gt;# coming with Sphinx (named &amp;#39;sphinx.ext.*&amp;#39;) or your custom ones. &lt;/span&gt;
&lt;span class="n"&gt;extensions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;sphinx-docxbuilder&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Makefileにdocx用の設定を追加&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nf"&gt;docx&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;$(&lt;/span&gt;SPHINXBUILD&lt;span class="k"&gt;)&lt;/span&gt; -b docx &lt;span class="k"&gt;$(&lt;/span&gt;ALLSPHINXOPTS&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;BUILDDIR&lt;span class="k"&gt;)&lt;/span&gt;/docx
    @echo
    @echo&lt;span class="s2"&gt;&amp;quot;Build finished. now you can process the docx file. $(BUILDDIR)/docx.&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;文書を作成してみる&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;make docx
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;おお！&lt;/p&gt;
&lt;p&gt;&lt;img alt="sphinxでdocx" src="http://www.kzfmix.com/images/blog/sphinx-docx.png" /&gt;&lt;/p&gt;
&lt;p&gt;業務の文書をMSWordで提出しないとだめいうカルチャーの会社は多いと思うが、文書がフォルダに収められた後に、実際に再利用されるのを見たことがある人は少ないはず(探すの面倒だし)。&lt;/p&gt;
&lt;p&gt;そういう場合にはReSTで書けるWIKIなんかを使うと常に参照できるうえに必要に応じてレポーティング出来ていいよねと思うのだが。僕は&lt;a href="http://blog.kzfmix.com/entry/1201872099"&gt;そういうスタイルでやっていた&lt;/a&gt;が超快適だった。&lt;/p&gt;
&lt;p&gt;この快適さをmoin2+Sphinxで再現したい。&lt;/p&gt;</description><pubDate>Wed, 26 Sep 2012 05:41:47 +0919</pubDate><category>Python</category><category>Sphinx</category></item><item><title>Git+Sphinxでサイト管理のベストプラクティスがわからないなぁというはなし</title><link>http://blog.kzfmix.com/entry/1347869142</link><description>&lt;p&gt;&lt;a href="http://twitter.com/ando_ando_ando"&gt;@ando_ando_ando&lt;/a&gt;に呼ばれて&lt;a href="https://www.facebook.com/comf.jp"&gt;コミュニティf&lt;/a&gt;でSphinxサイト構築の手伝いをしてきた。&lt;a href="http://d.hatena.ne.jp/cantimerny/20120918"&gt;彼のためのGit入門サイト&lt;/a&gt;が出来てたのを本人に教えてもらったのだけど、alias切ってなくてstatusとかcommitとかフルで手打ちしてたので、上の4つくらいはやっておいたほうがいいんじゃないかなぁ(と今思った)。&lt;/p&gt;
&lt;p&gt;ついでに、&lt;a href="http://twitter.com/ando_ando_ando"&gt;@ando_ando_ando&lt;/a&gt;の「静岡の東部にはHaskellerが多い」という主張を検証するために、今週末に香香飯店あたりで集まって飲むことになったので、参加される方がいれば連絡してください。&lt;/p&gt;
&lt;h2&gt;Git+Sphinxでサイト管理&lt;/h2&gt;
&lt;p&gt;さて、彼はインフラエンジニアなので、作業メモとか&lt;a href="http://blockdiag.com/en/blockdiag/index.html"&gt;blockdiag&lt;/a&gt;で描いた図なんかを手元で編集して、さくらのVPSで管理したいそうだ(GithubPagesでいいじゃんって言ったら、認証かけたいからそれはダメらしい)。&lt;/p&gt;
&lt;p&gt;&lt;img alt="サイト構成" src="http://www.kzfmix.com/images/blog/git_sphinx0.png" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;_build/html/*もGit管理&lt;/li&gt;
&lt;li&gt;共有リポジトリはベア(git init --bare)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という状態にして、サーバー側にGitの共有リポジトリ置いて、プッシュしたタイミングで公開サイトのほうも更新するようにフックを設定しておけばいいよねーという僕の提案に対し&lt;/p&gt;
&lt;p&gt;&lt;img alt="サイト構成" src="http://www.kzfmix.com/images/blog/git_sphinx1.png" /&gt;&lt;/p&gt;
&lt;p&gt;pushしたらpullするようにフックを設定すると、もとのrstとかMakefileがサイトのディレクトリに含まれてしまい&lt;strong&gt;美しくない&lt;/strong&gt;。_build/html以下のファイルだけを公開サイトに置きたいと言い出した&lt;/p&gt;
&lt;p&gt;ここから、ちょっとハマった。&lt;/p&gt;
&lt;h3&gt;bareをやめる(失敗)&lt;/h3&gt;
&lt;p&gt;_build/html以下のみを公開するんだったら、サーバー側にpushした後に、一回cloneとかpushして作業ディレクトリを作ってからcpするなりしないといけないということなので、最初からbareオプション付けないで共有リポジトリ設定すればいいんじゃないと。&lt;/p&gt;
&lt;p&gt;これは見事に失敗する&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require &lt;span class="s1"&gt;&amp;#39;git reset --hard&amp;#39;&lt;/span&gt; to match
remote: error: the work tree to HEAD.
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;メッセージ見たら、まぁそうだよなと思った。なので、これは却下した。&lt;/p&gt;
&lt;h3&gt;一回別の場所にclone(pull)してその後必要な物だけcp&lt;/h3&gt;
&lt;p&gt;結局サーバーにもクローンを作って_build/html/*を/var/www/html以下の適当なディレクトリにコピーするようにした（今ココ）。&lt;/p&gt;
&lt;p&gt;&lt;img alt="サイト構成" src="http://www.kzfmix.com/images/blog/git_sphinx2.png" /&gt;&lt;/p&gt;
&lt;p&gt;手でコマンド叩いたけど、フックに書いておけばいいかな。&lt;/p&gt;
&lt;h3&gt;scpする(番外)&lt;/h3&gt;
&lt;p&gt;単にbuildしたやつをscpすればいいんじゃない？ってことで&lt;/p&gt;
&lt;p&gt;&lt;img alt="サイト構成" src="http://www.kzfmix.com/images/blog/git_sphinx3.png" /&gt;&lt;/p&gt;
&lt;p&gt;を提案してみたが、彼の美意識にそぐわなかったのかボツった。&lt;/p&gt;
&lt;h3&gt;まとめ&lt;/h3&gt;
&lt;p&gt;cpするためだけにサーバー側に作業リポジトリを作っておくというのはなんとなく気持ち悪いんだけど、他にいい方法ないのかな？&lt;/p&gt;
&lt;p&gt;Makefile書き換えて/var/www/htmlにbuildするようなオプション付けておけば、そもそも_buildをGitで管理しなくていいだろうとも思うんだけど、そこらへんの管理のさじ加減みたいなのもちょっと自信がない。&lt;/p&gt;
&lt;h3&gt;ToDo&lt;/h3&gt;
&lt;p&gt;Pythonプロフェッショナルプログラミングになんかヒントっぽいもの書いてないかなぁと読みなおす。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798032948/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41bZDMzzeTL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Pythonプロフェッショナルプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    ビープラウド&lt;br /&gt;
    秀和システム / 2940円 ( 2012-03-26 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;h3&gt;参考&lt;/h3&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/477415184X/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51I5ZLcWDaL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;Gitポケットリファレンス&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    岡本 隆史&lt;br /&gt;
    技術評論社 / 2604円 ( 2012-07-10 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4048686291/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51wSTTIQtgL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;エキスパートPythonプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Tarek Ziade&lt;br /&gt;
    アスキー・メディアワークス / 3780円 ( 2010-05-28 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Sun, 23 Sep 2012 05:34:14 +0919</pubDate><category>Python</category><category>Sphinx</category></item><item><title>PyConJPのSphinxのセッションのスライドを見た</title><link>http://blog.kzfmix.com/entry/1348266678</link><description>&lt;p&gt;2日目の途中で&lt;a href="http://blog.kzfmix.com/entry/1347859979"&gt;帰ってしまった&lt;/a&gt;ので、朝コーヒーを飲みながら、残りのスライドを眺めてた。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kashewnuts-tech.blogspot.jp/2012/09/pyconjp2012.html"&gt;PyConJP2012 スライド・資料まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://shkumagai.github.com/slides/sphinxcon.jp.201209/#/title"&gt;HTMLテーマの拡張の話&lt;/a&gt;と&lt;a href="https://gist.github.com/3730720"&gt;Docutils&lt;/a&gt;が参考になった。&lt;/p&gt;
&lt;p&gt;そういえば&lt;a href="http://blog.kzfmix.com/entry/1286878521"&gt;二年くらい前に原稿書くときに使ったとき&lt;/a&gt;はwordに出力するのに難儀したけど、今はdocxに出力できるらしいので、MSWORDな会社でも安心して使えますね。さらに&lt;a href="http://moinmo.in/MoinMoin2.0"&gt;moin2&lt;/a&gt;を組み合わせれば、&lt;strong&gt;普段はWikiで使いつつ、必要に応じてSphinx経由で好きな書式で文書出力&lt;/strong&gt;ってのもやりやすくなるだろうし。&lt;/p&gt;</description><pubDate>Sat, 22 Sep 2012 07:34:10 +0919</pubDate><category>Python</category><category>Sphinx</category></item><item><title>GitHub PagesでSphinxを使う</title><link>http://blog.kzfmix.com/entry/1341740948</link><description>&lt;p&gt;GitHub Pagesを使って文書を管理したら快適そうだったので試してみた。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://kzfm.github.com/laskell/"&gt;ゆるふわHaskell&lt;/a&gt;というものを書いてます。&lt;/p&gt;
&lt;p&gt;Haskellで人工無脳をつくってみたいとか、PLEAC埋めたいとか、&lt;a href="http://blog.kzfmix.com/entry/1341623613"&gt;Invent with Python&lt;/a&gt;を書きなおしてみたいとか色々あったのでGitHub+Sphinxでやりたくなったというのがモチベーション。&lt;/p&gt;
&lt;p&gt;基本的な流れとしては&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;gh-pagesというブランチを作る&lt;/li&gt;
&lt;li&gt;sphinxtogithubというエクステンションを入れる&lt;/li&gt;
&lt;li&gt;Sphinxで文章を書く&lt;/li&gt;
&lt;li&gt;make htmlする&lt;/li&gt;
&lt;li&gt;cp -pr _build/html/* ./でビルドされたhtmlをカレントディレクトリに移動する&lt;/li&gt;
&lt;li&gt;commitしてpushすると公開できるようになる&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;となるが、4-5のステップはもうちょっとスマートにできると思う。ちなみに参考にしたのが以下のサイトだけど、オフィシャルのヘルプには一通り目を通しておくといいと思う。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://help.github.com/articles/creating-project-pages-manually"&gt;Creating Project Pages manually&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/kuma8/20110925/1316937363"&gt;github pages に Sphinx で生成したドキュメントを公開する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tell-k.hatenablog.com/entry/2012/01/18/224126"&gt;github のプロジェクトにSphinxドキュメントを良さげな感じにおきたい 其の一&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;GitHub+Sphinxのよさそうなところ(要検証)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Issueの管理が楽&lt;/li&gt;
&lt;li&gt;pull requestで変更を取り込める&lt;/li&gt;
&lt;li&gt;コードの管理するよりソーシャルなやり取りの敷居が低そう&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 10 Jul 2012 05:40:29 +0919</pubDate><category>git</category><category>Sphinx</category></item><item><title>gitでcommitしたらsphinxのmake htmlが走るようにする設定</title><link>http://blog.kzfmix.com/entry/1309561912</link><description>&lt;p&gt;うちのサーバー(&lt;a href="http://www.kzfmix.com/"&gt;これ&lt;/a&gt;とか&lt;a href="http://www.fujinism.com/"&gt;これ&lt;/a&gt;)も同じような構成でGit管理しているので、&lt;a href="http://at-aka.blogspot.com/2009/05/git-push.html"&gt;@ Git で集中リポジトリーに push したら、自動でワーク・ディレクトリーにも反映させる&lt;/a&gt;を見ながら、git pushしたらそのまま公開できるようにしたら快適。&lt;/p&gt;
&lt;p&gt;ついでに、Sphinxで管理している文書もcommitしたらmake htmlするようにしてみた。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; .git/
&lt;span class="nb"&gt;cd &lt;/span&gt;hooks/
cp post-commit.sample post-commit
vim post-commit
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;post-commitにはmake htmlって書いておくだけ&lt;/p&gt;
&lt;table class="codehilitetable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;1
2
3&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c"&gt;#!/bin/sh&lt;/span&gt;

make html
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;これでOK&lt;/p&gt;
&lt;p&gt;余談だが、本読んだけどpost-update post-receiveの違いが分からなかったので後で調べる。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798023809/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/41R5gj5VRFL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;入門Git&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    濱野 純(Junio C Hamano)&lt;br /&gt;
    秀和システム / 2310円 ( 2009-09-19 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Sat, 02 Jul 2011 08:21:39 +0919</pubDate><category>git</category><category>Sphinx</category></item><item><title>Sphinxにgoogle adsenseとanalyticsを挿入した</title><link>http://blog.kzfmix.com/entry/1309519678</link><description>&lt;p&gt;&lt;a href="http://sphinx-users.jp/reverse-dict/index.html"&gt;Sphinx 逆引き辞典&lt;/a&gt;を見ながら。&lt;/p&gt;
&lt;p&gt;Jinja2のextendsを使えば簡単に挿入できるのね。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.fujinism.com/"&gt;ふじにずむ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 01 Jul 2011 20:29:00 +0919</pubDate><category>Python</category><category>Sphinx</category></item><item><title>jQuery Form Pluginを使えば簡単にAjaxなformを導入できる</title><link>http://blog.kzfmix.com/entry/1305109011</link><description>&lt;p&gt;今、欲しい物はこういうモノです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://book.realworldhaskell.org/read/"&gt;Real World Haskell&lt;/a&gt;のように、文書のパラグラフ毎にコメントが入れられるようなシステム。それをSphinxでやりたい。つまりSphinxで文書を書いてmake htmlをするとパラグラフ毎にtwitterのOAuthかGoogleの認証使ってコメントが入れられるようなHTMLが出力されるナイスなドキュメント&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;実際に&lt;a href="http://book.realworldhaskell.org/read/"&gt;Real World Haskell&lt;/a&gt;のソースを追いかけてみると、&lt;a href="http://jquery.malsup.com/form/"&gt;jQuery Form Plugin&lt;/a&gt;を使っていてAjax化が簡単にできそうなので、別の題材で試してみる。もちろん&lt;a href="http://flask.pocoo.org/docs/tutorial/introduction/"&gt;flaskr&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;statisticsにjqueryとjquery.form.jsを配置&lt;/li&gt;
&lt;li&gt;show_entries.htmlのformにid属性をつける(id='flaskr_form'っていう属性をつけた)&lt;/li&gt;
&lt;li&gt;layout.htmlにjsの設定を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;layout.html&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;{{ url_for(&amp;#39;static&amp;#39;, filename=&amp;#39;jquery-1.6.min.js&amp;#39;) }}&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt; 
&lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;{{ url_for(&amp;#39;static&amp;#39;, filename=&amp;#39;jquery.form.js&amp;#39;) }}&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt; 
&lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind &amp;#39;myForm&amp;#39; and provide a simple callback function 
            $(&amp;#39;#flaskr_form&amp;#39;).ajaxForm(function() { 
            $(document.body).load(&amp;quot;/&amp;quot;);
                alert(&amp;quot;Thank you for your comment!&amp;quot;); 
            }); 
        }); 
    &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;これでsubmitしたときにアラート画面が出るようになります。今回書いたコードは&lt;a href="http://www.kzfmix.com/pub/flaskr_form.tar.gz"&gt;ここ&lt;/a&gt;からダウンロードできます。&lt;/p&gt;
&lt;p&gt;&lt;img alt="flaskr_form" src="http://www.kzfmix.com/images/blog/flaskr_form.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;というわけで、flaskかGAEでパラグラフのidをクエリとしてコメントをjsonで返すサービスを用意しておいて、SphinxにjQuery埋め込んでコメントサービスと連携させれば望みのものはできそうな気がするんだけど、&lt;strong&gt;Sphinxのパラグラフに固有のIDを付加する方法がわからない。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;どうやるのがいいのかなぁ&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4048686291/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51wSTTIQtgL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;エキスパートPythonプログラミング&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Tarek Ziade&lt;br /&gt;
    アスキー・メディアワークス / 3780円 ( 2010-05-28 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Wed, 11 May 2011 19:32:40 +0919</pubDate><category>Python</category><category>Flask</category><category>Sphinx</category><category>GAE</category></item><item><title>SphinxをWikiのかわりに利用する</title><link>http://blog.kzfmix.com/entry/1301710115</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1300870253"&gt;wikiやめた&lt;/a&gt;のでSphinxにメモるようにしてます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.kzfmix.com/sakura/"&gt;さくらのVPS設定メモ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;で、ちょっと悩んでいるのがmake html後の手順だ。&lt;/p&gt;
&lt;p&gt;現在/var/www/html以下はgitで管理していて、/var/www/html/[sphinx_html]みたいにドキュメントを置こうかなと考えているんだが、それってクライアント側でmake htmlして_build/htmlをcp -Rして/var/www/htmlを管理している方のGitに管理させるのがいいのかそれとも分けて管理してサーバー側で改めてmake htmlするようにしたほうがいいのかと。&lt;/p&gt;
&lt;p&gt;あとはmake htmlしたあとの_buildディレクトリってもうちょっと自動的に公開されるようにできんかなと。&lt;/p&gt;
&lt;p&gt;自動化といえば作業しているrstを監視しといてrstが更新されたら裏で自動的にmake htmlかかるようにできんかなとかも思った。&lt;/p&gt;
&lt;h4&gt;追記　11.04.02&lt;/h4&gt;
&lt;p&gt;Makefile読んだらmake htmlは&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;html:
        &lt;span class="k"&gt;$(&lt;/span&gt;SPHINXBUILD&lt;span class="k"&gt;)&lt;/span&gt; -b html &lt;span class="k"&gt;$(&lt;/span&gt;ALLSPHINXOPTS&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;BUILDDIR&lt;span class="k"&gt;)&lt;/span&gt;/html
        @echo
        @echo &lt;span class="s2"&gt;&amp;quot;Build finished. The HTML pages are in $(BUILDDIR)/html.&amp;quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;ということなのでSPHINXBUILDつまりsphinx-buildコマンドを直接呼び出して明示的にBUILDDIRを指定してやればいいってことだった。&lt;/p&gt;</description><pubDate>Sat, 02 Apr 2011 20:47:36 +0919</pubDate><category>Python</category><category>Sphinx</category></item></channel></rss>