SphinxCon JP 2017 に参加してきた #sphinxjp

自分がIT系の勉強会へ定期的に参加するようになったきっかけの一つであるSphinxのイベントがあったので参加してきました。

https://sphinxjp.connpass.com/event/71056/

おしゃれな会場の様子が分かるツイート。

以下、今回のイベントの発表目次です。

  1. cocoatomo 「Sphinxが支える翻訳ドキュメント」
  2. 鹿野桂一郎 「Sphinxで売り物の書籍を作ってみた」
  3. r_rudi 「Re:VIEWとSphinxと、時々、ボク」
  4. Iosif Takakura 「社内のマニュアルをSphinxで作ってみた」
  5. 渋川よしき 「HTMLテンプレート再構築案」

イベントが始まるときの会場説明の際の様子はこんな感じでした。

Untitled

イベント途中で提供されていたケータリングの様子。

Untitled

ケータリングに群がる人々。

Untitled

以下、メインコンテンツである発表の様子を写真とともに軽く感想を交えて書き残します。

Sphinxが支える翻訳ドキュメント」 @cocoatomo

Untitled

普段、「ちょびよみ」というこじんまりとした勉強会でお世話になっている @cocoatomoさんの発表でした。

発表内容のメインは「翻訳ドキュメントができるまで」とのことで、想定読者はSphinxを使っている人と翻訳プロジェクトの管理に興味がある人で話をされていました。

これが発表で使われたスライドです。

Pythonドキュメントの翻訳率は2017/11/27時点で日本語が圧倒的の92.73%!

PEP545により、日本語版とフランス語版が docs.python.orgのドメイン配下に置かれるようになったとのことで、素晴らしいですね。

翻訳プロジェクトの始め方

始めるに当たって考えること

  • 原文と訳文は1対1か? 脚注、訳注の追加や文章の順序を入れ替えをしたいか?
    • YesならSphinxはやめておいたほうがいいだろうとのこと
  • 翻訳作業は一度きりか継続的に行うか?
  • 翻訳プロジェクトを管理する上で困難な点は何か?
  • 困難な点をフォローするために、どのツールやサービスを使って、どんな運用をしていくのか

当たり前の話だろうけど、単発型よりも継続型の方が管理・運用が大変とのこと。

翻訳作業の困難さ

  • 原文の管理
    • 更新の取り込み
  • 訳文の管理
    • 原文と訳文の対応つけ
    • 複数人作業による翻訳作業の衝突回避
  • 翻訳
    • 訳語の統一
    • 表現の統一(特に複数人作業)

発表中、一時的にディスプレイとPCの接続がおかしくなったりする、あるあるなトラブルが発生したりしました。

普段から翻訳に対する思いをTwitterやSlackや或いは直接お話しして伺っていたのですが、改めて翻訳に対する熱い思いをお持ちなのだなと感じました。

Sphinxで売り物の書籍を作ってみた」 鹿野桂一郎 (@golden_lucky)

敏腕編集者の鹿野さんによる発表。怪我をされたらしくて松葉杖で歩いていて、発表時は座って喋っていたので下の写真には写っていません。

Untitled

発表に使われたスライドは以下の通りです。

『Goならわかるシステムプログラミング』ではSphinxのmake latexpdfでPDFを生成してはいないとのこと。

正直TeXは全く分からないに等しい知識レベルだったため、発表内容で披露された数々の努力がどれくらい大変なことだったのかは想像でしか分からないですが、売り物の書籍を作るのはやはり大変なことなんだなあというのが感じたことです。

話しを聞く限り、これはTeXに習熟した鹿野さんだからこそ可能になったハックだなあと思いました。話している内容が完全に技術寄りなので、技術者が編集者をしているという評はその通りだと思いました*1

完全に「鹿野専用Sphinx」という趣なくらいの追加・改造をしているようで、何かロボットアニメを見ているような気分になりました。

「生TeX埋め込みのロールを早く作っておけばよかった」という話が面白かったですね。

まとめ: 「Sphinxで困ったら日本語でツイートすればいい」

鹿野さんからの一言を引用。

「Re:VIEWとSphinxと、時々、ボク」 @r_rudi

Untitled

スライドはこちらです。

Re:VIEWとSphinxと、時々、ボク — SphinxCon 2017 1 ドキュメント

タイトルからも分かるようにRe:VIEWとSphinxの話が主でした。全体的にRe:VIEWとreSTの特徴や変換についての話が多かったのですが、reST->Re:VIEWの変換をするSphinx拡張を書いていただけではなく、Re:VIEWの方にreSTへ変換する機能をPRで出してmergeされていたという話しを聞いてびっくりすると同時にすごいなって思いました。

SphinxCon 2017が終わった後、@r_rudiさんを含めた有志で軽く飲み会みたいなものが開かれていたのでそれにお邪魔して色々楽しい話が出来たのもよかったですね。

「社内のマニュアルをSphinxで作ってみた」 Iosif Takakura(@huideyeren)

Untitled

発表に使われたスライドはこちらです。

Excel方眼紙が大嫌いです!」ということを言ったら会場から拍手が出たのが面白かったですね。

技術よりも現実世界と戦う機会の多い人は彼の発表スライドを読んでみると共感することが多々あると思います。

実は発表者のTakakuraさんは前職の同僚で、同じプロジェクトをいくつか手がけたりしていたので、彼の発表の裏にある背景とかを知っている関係もあり、「ああ、やっぱり大変そうだなぁ…」と共感することばかりでした。

以下、発表を聞いているときの私の感想です。

「HTMLテンプレート再構築案」 渋川よしき(@shibu_jp)

Untitled

発表に使われたスライドはこちらです。

HTML Template Proposal for Sphinx 2.x — HTML Template proposal for Sphinx 2.x 2017.11.23 documentation

前の発表者のTakakuraさんの発表内容を受けて、「make singlehtmlでwordやmediumに貼り付けると綺麗な形のまま形式を変換できるので、引き継ぎの形の一つとしておすすめ」という小話があり、かなり有用な知識が得られましたね。

渋川さんの話はデベロッパーやメンテナ向けの話とのことで、epub3ビルダーの走りをSphinxにプルリクした身としてはかなりためになる話でよかったです。

話の内容を箇条書きにすると以下のような感じ。

  • HTMLテンプレートの依存の多さ・複雑さにより、自作のテンプレートを差し替えるのが難しくなっているので簡素化したい
  • 検索機能の強化をしたい
  • OGP(Open Graph Protocol)の強化
  • Offlineモード
  • パフォーマンス改善
    • Prefetch
    • AMP

今回の発表とは直接関係ないですが、私がプルリクでSphinxに追加した拙いepub3ビルダーを渋川さん*2がガシガシ作り直してくれたおかげで、昔とは比べものにならないほどvalidなepub3が生成できるようになったので感謝すると同時に、その辺りの作業を外から眺めていたこともあって、HTMLテンプレートの話とかは興味深く聞かせてもらいました。

r_rudiさんの項目でも触れた有志の飲み会に渋川さんも参加していて色々お話しできたのも楽しかったですね。

LT: 木星人はnbsphinx使ってみよう by driller/どりらん

Untitled

nbsphinxいいよ!という話しでした。

…すいません、集中力が切れていて、あまりちゃんと話を聞けてなかったです。

今発表スライドを見たらnbsphinx良さそうですねという感想です。最近Jupyter notebookを使うことが増えてきたので活用したいと思いました。

以下終了後の余談。

LT: Sphinx-users.jp というコミュニティの紹介 by @usaturn

今回のSphinxCon 2017の開催のとりまとめをしていたusaturnさんによるSphinx-users.jpの紹介。

Sphinx-users.jpが普段どういう活動をしているかを紹介して、来場者の人だけに『Sphinxをはじめよう 第2版』を安く購入できるクーポンコードを提示していたりしました。

多分発表スライドが公開されていない(はず)理由はこのクーポンコードがスライドに含まれていたからだと思います。

忙しい中、会場調整だったり各種とりまとめをしていたはずなのでお疲れさまでしたと伝えたいです。

まとめ

理由は分からないですが、何故か久し振りに参加して楽しく過ごせて「かつ」翌日体調的にそれほどダメージを受けなかったのでとてもよかったです。

あとそれほど日をまたがずに参加ブログ記事をアップできてよかったですね!

*1:世の中に存在する編集者の中で自分の編集作業用にHaskellでソフトを書ける人、そうそういないと思います

*2:アクティブなメンテナの小宮さんも結構改良に参加されていたはず