More Related Content
Similar to 執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話 (20)
More from Takayuki Shimizukawa (20)
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
- 14. Sphinxで執筆中の書籍4 <- New!!
Pythonプロフェッショナルプログラミング
第2版
執筆者11名
make shuwa で、Sphinxから
直接提出用フォーマットで
出力
2015, 秀和システム刊(予定)
初版の原稿をreSTに戻して
なかったのを反映
校正戻し以降は…どうな
る?(そろそろ考える)
- 19. 中央リポジトリ
中央リポジトリ
Sphinx原稿管理
Push受付
Redmine の関連チケットにcommit表示
Jenkinsへ通知、ビルド
Slackへ通知SCM(Mercurial)
チケット更新
reST 通知
ビルド
- 20. 執筆の工程
1. 私: Sphinx用に初期のディレクトリ構成を作る
2. 私: 社内のMercurialリポジトリにpush
3. 担当者: hg pull
4. 担当者: pip install –r req.txt (初回)
5. 担当者: 各章をそれぞれ執筆(reST)
6. 担当者: 手元でmake html
7. 担当者: ブラウザで自己レビュー
8. 担当者: hg push
9. 担当者: Jenkinsでエラー-> 修正
10. 担当者: レビュー通知-> 修正
前回の
Sphinx原稿
レビュー指摘
①
②
③
⑤
④
⑦ ⑥
⑧
⑨
⑩
- 21. Redmine
Redmine
進捗管理
チケット更新-> Slack通知, メール通知
リポジトリ更新検知-> チケット更新
SCM
(Mercurial)
- 22. Jenkins
ビルド管理
リポジトリ更新検知
hg pull
pip install –r requirements.txt
make html pdf
ビルド成功
Slack通知
成果物を提供
ビルド失敗
Slack通知
SCM
レビュー
通知
PDF生成には、
TeXLive2014が必要。
各執筆者は環境を
持っていない。
TeXLive2014入り
- 23. Google Spreadsheet
レビュー指摘
Redmine等のチケットはあえて使わなかった
レビュアーにとって、チケットは重い(気がする)
Spreadsheetの長所、短所
他の人のレビュー状況がなんとなく分かる
さくさく書ける、緩い感じがして気軽
新しく指摘された部分が分からない
通知はGASを書いて
Slackに更新通知。
差分は分からない。
- 24. 出版社への提出工程(2012)
1. 私: hg pull
2. 私: make shuwa
3. 私: tar zcf bpbook20141205.tgz shuwa
4. 私: cp bpbook20141205.tgz ~/Dropbox
5. 私: メールで連絡
make shuwa
校正
①
②③
④
⑤
- 35. Sphinx誕生: 2007年
作者: Georg Brandl
2007年にSphinxを開発
それまでLaTeXで作っていたPythonドキュメントが
複雑すぎてメンテ不能に。
簡単に扱えるツールが必要だった
DocutilsのreStrucutredTextをベースに
reSTは、2002年にPythonのテキストマークアップとし
て
採用されていた(PEP287)
その他のコミッター
Roland, @shimizukawa, @tk0miya
- 36. Docutils/reStructuredTextの特徴
¥や{ } で目がチカチカしない
レイアウト制御命令がない
レイアウトを意識せずに内容に集中できる
テキストのままでも読みやすい
一部のマークアップを拡張可能(role, directive)
:idx: ロールを追加blockdiag directiveを追加→ 出力
- 45. 執筆に使った/作ったSphinxの拡張
blockdiag
ダイアグラム図を書ける
japanesesupport
reSTマークアップでどうしても入ってしまう空白を除去
時々除去しすぎて英単語同士がくっついてしまう
column-directive
コラム用の体裁でレイアウトする自作ディレクティブ
idx ロール
索引データを自動生成
- 46. 執筆用に作ったSphinxの拡張
Sphinx日本語バリデータ
各自がmake htmlするとNG項目を表示する
半角全角チェック: 英数カナ
ABCABC123123アイウアイウ-> ABC123アイウ
半角全角カッコチェック: 内容が全角ならカッコも全角
NG: (sphinx)(全角)
OK: (sphinx)(全角)
!? は全角直後では全角、半角直後では半角
NG: 日本語!!
OK: 日本語!!
全角直後のカンマ、ピリオドは禁止
用語辞書で指摘
用語辞書
- 50. Sphinxのコミュニティー
Webサイト、資料:
http://sphinx-users.jp/
メーリングリスト:
http://sphinx-users.jp/mailinglist.html
イベント:
http://sphinx-users.jp/event/
Twitter:
#sphinxjp