Movatterモバイル変換


[0]ホーム

URL:


PPTX, PDF8,583 views

執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話

Sphinxを出版に使っている事例。以下の書籍の執筆にSphinxを使った際のシステム構成などを紹介。・エキスパートPythonプログラミング・Pythonプロフェッショナルプログラミング・Sphinxをはじめよう・Pythonプロフェッショナルプログラミング第2版

Embed presentation

Downloaded 41 times
Sphinx-users.jp & Sphinxコミッター 清水川貴之
自己紹介: 清水川貴之 @shimizukawa  株式会社BeProud所属  Sphinxコミッター  Sphinx-users.jp お財布担当  一般社団法人PyConJP理事  Pepper レンタル中
Sphinxで執筆した書籍1 エキスパートPythonプログラミング 2010, アスキー・メディアワークス刊  翻訳者4名  Sphinxを使って書いた日本 初の書籍(たぶん)  reSTで提出して、アスキー さんがEWBにがんばって変 換  校正戻し以降は執筆側で両 方メンテナンス地獄
エキPyシステム PDFからコピペ &Sphinxに整形 SCM (Bazzar) reST 校正 reST -> -> make html 執筆 確認 レビュー Spreadsheetでレビュー指摘
エキPyシステム PDFからコピペ &Sphinxに整形 SCM (Bazzar) 出版 翻訳 校正 レビュー Spreadsheetでレビュー指摘
Sphinxで執筆した書籍2 Pythonプロフェッショナルプログラミング  執筆者14名  make shuwa で、Sphinxから 直接提出用フォーマットで 出力  人数多くてマークアップや 文体を揃えるのが大変  校正戻し以降は執筆側で両 方メンテナンス地獄 2012, 秀和システム刊
PyProシステム Sphinxの雛形作成 SCM (Mercurial) reST make html 執筆 確認 レビュー 通知 Spreadsheetでレビュー指摘
PyProシステム Sphinxの雛形作成校正 make shuwa SCM (Mercurial) reST make html 執筆 確認 レビュー 通知 Spreadsheetでレビュー指摘
PyProシステム 校正 SCM (Mercurial) 執筆 レビュー 出版 Spreadsheetでレビュー指摘
Sphinxで執筆した書籍3 Sphinxをはじめよう(電子書籍) 2013, オライリー・ジャパン刊  執筆者4名  オライリーさんがmake xml からのRe:VIEW変換  リポジトリ直接校正のため、 戻しがなくて平和
レビュー Sphinxをはじめようシステム Sphinxの雛形作成 SCM (Bitbucket) reST make html 執筆 確認 Spreadsheetでレビュー指摘
レビュー Sphinxをはじめようシステム Sphinxの雛形作成 SCM (Bitbucket) reST make html 執筆 確認 出版 reST Re:VIEW 校正 make xml Spreadsheetでレビュー指摘
Sphinxで執筆中の書籍4 <- New!! Pythonプロフェッショナルプログラミング 第2版  執筆者11名  make shuwa で、Sphinxから 直接提出用フォーマットで 出力 2015, 秀和システム刊(予定)  初版の原稿をreSTに戻して なかったのを反映  校正戻し以降は…どうな る?(そろそろ考える)
PyPro第2版システム 前回のSphinx原稿 SCM (Mercurial) reST make html 執筆 確認 レビュー 通知 通知 Spreadsheetでレビュー指摘
PyPro第2版システム 前回のSphinx原稿 SCM (Mercurial) reST make html 執筆 確認 レビュー 通知 make shuwa Spreadsheetでレビュー指摘 校正 差分をもらう予定 通知
PyPro第2版(2014/9 ~ 2015/02)
PyPro第2版システム 前回のSphinx原稿 SCM (Mercurial) reST make html 執筆 確認 レビュー 通知 make shuwa Spreadsheetでレビュー指摘 校正 差分をもらう予定 通知
中央リポジトリ 中央リポジトリ  Sphinx原稿管理  Push受付  Redmine の関連チケットにcommit表示  Jenkinsへ通知、ビルド  Slackへ通知SCM(Mercurial) チケット更新 reST 通知 ビルド
執筆の工程 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原稿 レビュー指摘 ① ② ③ ⑤ ④ ⑦ ⑥ ⑧ ⑨ ⑩
Redmine Redmine  進捗管理  チケット更新-> Slack通知, メール通知  リポジトリ更新検知-> チケット更新 SCM (Mercurial)
Jenkins  ビルド管理  リポジトリ更新検知  hg pull  pip install –r requirements.txt  make html pdf  ビルド成功  Slack通知  成果物を提供  ビルド失敗  Slack通知 SCM レビュー 通知 PDF生成には、 TeXLive2014が必要。 各執筆者は環境を 持っていない。 TeXLive2014入り
Google Spreadsheet  レビュー指摘  Redmine等のチケットはあえて使わなかった  レビュアーにとって、チケットは重い(気がする)  Spreadsheetの長所、短所  他の人のレビュー状況がなんとなく分かる  さくさく書ける、緩い感じがして気軽  新しく指摘された部分が分からない 通知はGASを書いて Slackに更新通知。 差分は分からない。
出版社への提出工程(2012) 1. 私: hg pull 2. 私: make shuwa 3. 私: tar zcf bpbook20141205.tgz shuwa 4. 私: cp bpbook20141205.tgz ~/Dropbox 5. 私: メールで連絡 make shuwa 校正 ① ②③ ④ ⑤
執筆者 執筆はreST、執筆者レビューはHTML レビュー指摘はRedmine、または直接編集
社内レビュー&早期レビュー 社内レビューはHTML or LaTeX PDF レビュー指摘はGoogle Spreadsheet
社外レビュー 出版形式PDF(希望者にはHTML渡し) レビュー指摘はGoogle Spreadsheet
各フォーマットの比較 reStructuredText HTML LaTeX -> PDF 秀和システム原稿フォーマット
SphinxのHTML出力
SphinxのPDF出力
秀和システム原稿フォーマット&出力 秀和システム原稿フォーマット出版用PDF出力
ここで改めて
Sphinx誕生: 2007年 作者: Georg Brandl 2007年にSphinxを開発  それまでLaTeXで作っていたPythonドキュメントが 複雑すぎてメンテ不能に。 簡単に扱えるツールが必要だった DocutilsのreStrucutredTextをベースに  reSTは、2002年にPythonのテキストマークアップとし て 採用されていた(PEP287) その他のコミッター Roland, @shimizukawa, @tk0miya
Docutils/reStructuredTextの特徴  ¥や{ } で目がチカチカしない  レイアウト制御命令がない  レイアウトを意識せずに内容に集中できる  テキストのままでも読みやすい  一部のマークアップを拡張可能(role, directive) :idx: ロールを追加blockdiag directiveを追加→ 出力
Sphinxの特徴  Docutilsは単ページのみ。Sphinxは複数ページを扱 う。  全てのページをツリー構造に繋ぐtoctree  複数のページを縦横に繋ぐ参照  各種フォーマットの出力  HTML, PDF(LaTeX), EPUB  (WYSIWYGエディタがない)
Sphinxの処理、出力フォーマット
Sphinxのデータ変換イメージ
numfig: 図表番号(Sphinx-1.3b1) index.rst index.html conf.py
bizstyle: HTMLテーマ(Sphinx-1.3b1) Sphinx default Sphinx bizstyle
literalinclude:外部ソース埋め込み index.rst code/sample.rst
todo  文中に入れておきたい、「あとでやること」 preface.rst preface.html JenkinsのToDo検知 todolist.html
執筆に使った/作ったSphinxの拡張 blockdiag  ダイアグラム図を書ける japanesesupport  reSTマークアップでどうしても入ってしまう空白を除去  時々除去しすぎて英単語同士がくっついてしまう column-directive  コラム用の体裁でレイアウトする自作ディレクティブ idx ロール  索引データを自動生成
執筆用に作ったSphinxの拡張 Sphinx日本語バリデータ 各自がmake htmlするとNG項目を表示する  半角全角チェック: 英数カナ  ABCABC123123アイウアイウ-> ABC123アイウ  半角全角カッコチェック: 内容が全角ならカッコも全角  NG: (sphinx)(全角)  OK: (sphinx)(全角)  !? は全角直後では全角、半角直後では半角  NG: 日本語!!  OK: 日本語!!  全角直後のカンマ、ピリオドは禁止  用語辞書で指摘 用語辞書
執筆用に作ったSphinxの拡張 rst2shuwa  秀和システム原稿 フォーマットでビ ルド  make shuwa -------> 3年前の資産! (やっと元が取れそ う) (Pythonプロフェッショナルプログラミング2012年2月の最終稿よ
校正戻し原稿の扱い  2012年は、秀和フォーマットで校正された データが戻ってきた  差分を手動でreSTに戻す作業が発生  今回はどうする?  最初から差分で受け取る・・これはこれ で大変そう
Sphinxのコミュニティー  Webサイト、資料:  http://sphinx-users.jp/  メーリングリスト:  http://sphinx-users.jp/mailinglist.html  イベント:  http://sphinx-users.jp/event/  Twitter:  #sphinxjp
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話

Recommended

PPTX
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
PDF
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
PPTX
Sphinxの使い方事例
PPTX
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
PDF
ドキュメントシステムはこれを使え2015年版
PPTX
マークアップ言語の拡張 メリットとデメリット #hankumi
PPTX
Sphinx拡張 探訪 2014 #sphinxjp
PPTX
Sphinx で手軽に作るドキュメント
PDF
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
PPTX
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
PPTX
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
PDF
Sphinxを使って本を書こう #pyconjp 2012
PPTX
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
PDF
Oktavia全文検索エンジン - SphinxCon JP 2014
PDF
SIerでもSphinxを使いたい!総括
PDF
SIerでもSphinxを使いたい! 前編
PDF
社内のマニュアルをSphinxで作ってみた
PPTX
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
PPTX
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
PPTX
APIドキュメントの話 #sphinxjp
PPTX
Sphinx GO!!
PPTX
ドキュメントの話、しませんか? #428rk01
PDF
Sphinx customization for OGP support at SphinxCon JP 2018
PPTX
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
PDF
How to spread reST and Sphinx
PPT
ひとりsphinx
PDF
Sphinx HTML Theme Hacks
PDF
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
PDF
ドキュメントの継続的改善―Sphinxを使いながら
PDF
ソフトウェア工学2023 13 ドキュメンテーション

More Related Content

PPTX
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
PDF
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
PPTX
Sphinxの使い方事例
PPTX
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
PDF
ドキュメントシステムはこれを使え2015年版
PPTX
マークアップ言語の拡張 メリットとデメリット #hankumi
PPTX
Sphinx拡張 探訪 2014 #sphinxjp
PPTX
Sphinx で手軽に作るドキュメント
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Sphinxの使い方事例
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
ドキュメントシステムはこれを使え2015年版
マークアップ言語の拡張 メリットとデメリット #hankumi
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx で手軽に作るドキュメント

What's hot

PDF
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
PPTX
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
PPTX
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
PDF
Sphinxを使って本を書こう #pyconjp 2012
PPTX
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
PDF
Oktavia全文検索エンジン - SphinxCon JP 2014
PDF
SIerでもSphinxを使いたい!総括
PDF
SIerでもSphinxを使いたい! 前編
PDF
社内のマニュアルをSphinxで作ってみた
PPTX
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
PPTX
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
PPTX
APIドキュメントの話 #sphinxjp
PPTX
Sphinx GO!!
PPTX
ドキュメントの話、しませんか? #428rk01
PDF
Sphinx customization for OGP support at SphinxCon JP 2018
PPTX
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
PDF
How to spread reST and Sphinx
PPT
ひとりsphinx
PDF
Sphinx HTML Theme Hacks
PDF
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Sphinxを使って本を書こう #pyconjp 2012
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Oktavia全文検索エンジン - SphinxCon JP 2014
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい! 前編
社内のマニュアルをSphinxで作ってみた
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
APIドキュメントの話 #sphinxjp
Sphinx GO!!
ドキュメントの話、しませんか? #428rk01
Sphinx customization for OGP support at SphinxCon JP 2018
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
How to spread reST and Sphinx
ひとりsphinx
Sphinx HTML Theme Hacks
JUS関西 Sphinxワークショップ@関西 Sphinx事例紹介

Similar to 執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話

PDF
ドキュメントの継続的改善―Sphinxを使いながら
PDF
ソフトウェア工学2023 13 ドキュメンテーション
PDF
Sphinxでドキュメントを書こう
PDF
SIerでもSphinxを使いたい! 後編
PDF
Our docsys-pyfes-2012-11
PPTX
Introduce for sphinx-users-jp
PDF
Markdownもはじめよう
PDF
OSS開発勉強会-01B
PPTX
Sphinxはじめの一歩
PPTX
Publishing of sphinx2018
PDF
Sphinx/reST
PPTX
世界のSphinx事情 @ SphinxCon JP 2015
PDF
ドキュメントなんとかしたい
POTX
素振りのススメ at Python入門者の集い
PDF
Building document with the Sphinx public edtion
PDF
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
PPTX
個人的ドキュメンテーションツール トップ100
PPTX
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
PPTX
Sphinx Tutorial at BPStudy#30
PPTX
個人的なさがしもののはなし #rubyhiroba
ドキュメントの継続的改善―Sphinxを使いながら
ソフトウェア工学2023 13 ドキュメンテーション
Sphinxでドキュメントを書こう
SIerでもSphinxを使いたい! 後編
Our docsys-pyfes-2012-11
Introduce for sphinx-users-jp
Markdownもはじめよう
OSS開発勉強会-01B
Sphinxはじめの一歩
Publishing of sphinx2018
Sphinx/reST
世界のSphinx事情 @ SphinxCon JP 2015
ドキュメントなんとかしたい
素振りのススメ at Python入門者の集い
Building document with the Sphinx public edtion
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
個人的ドキュメンテーションツール トップ100
PyPro2の読みどころ紹介:Python開発の過去と現在 - BPStudy93
Sphinx Tutorial at BPStudy#30
個人的なさがしもののはなし #rubyhiroba

More from Takayuki Shimizukawa

PDF
pytestを爆速にする10の方法 @ PyCon JP 2025
PPTX
Easy contributable internationalization process with Sphinx @ pyconmy2015
PPTX
Easy contributable internationalization process with Sphinx @ pyconsg2015
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
PPTX
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
PPTX
Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)
PPTX
Sphinx autodoc - automated api documentation - PyCon.KR 2015
PPTX
Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)
PPTX
Sphinx autodoc - automated api documentation - PyCon.MY 2015
PPTX
IKEv2-VPN PyHackCon2023
PDF
エキスパートPythonプログラミング改訂3版の読みどころ
PDF
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
PPTX
独学プログラマーのその後
PDF
『自走プログラマー』 が我々に必要だった理由
PPTX
【修正版】Django + SQLAlchemy: シンプルWay
PPTX
RLSを用いたマルチテナント実装 for Django
PDF
Webアプリを並行開発する際のマイグレーション戦略
PPTX
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
PPTX
Navigating Python: Milestones from Essential Reads
PPTX
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
pytestを爆速にする10の方法 @ PyCon JP 2025
Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconsg2015
Pythonはどうやってlen関数で長さを手にいれているの?
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Sphinx autodoc - automated API documentation (EuroPython 2015 in Bilbao)
Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated API documentation (PyCon APAC 2015 in Taiwan)
Sphinx autodoc - automated api documentation - PyCon.MY 2015
IKEv2-VPN PyHackCon2023
エキスパートPythonプログラミング改訂3版の読みどころ
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
独学プログラマーのその後
『自走プログラマー』 が我々に必要だった理由
【修正版】Django + SQLAlchemy: シンプルWay
RLSを用いたマルチテナント実装 for Django
Webアプリを並行開発する際のマイグレーション戦略
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Navigating Python: Milestones from Essential Reads
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016

執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話


[8]ページ先頭

©2009-2025 Movatter.jp