エウレカの技術書典を支えた技術

お久しぶりです!

エウレカでサーバーサイドエンジニアをやっている @takochuu です!
このブログエントリ@yuyakaido が告知している通り、エウレカは技術書典4に有志で出展することになりました。

(スペースは「い-14」サークル名は「エウレカ9」です)

今回は、技術書展に出展するにあたり、日光企画さんを利用させて頂いて実際の本を出版することにしました。
出版にあたって、どのような技術を活用したかについて紹介したいと思います!

執筆までの流れ

今回は @futabooo さんがとりまとめてくださり、2/15日に技術書典4としてキックオフを行いました。
参加メンバーが11人と多いこともあり、githubを用いて記事を書くことにより、以下の利点を享受することにしました。

1. 著作のリビジョン管理ができること
2. 他人のレビューが可能であること
3. README等を用いた執筆環境の共有が可能であること
4. issue管理で進捗を把握できること

キックオフを経て、「エウレ・テクノロギア」とタイトルも決まったことで執筆活動がはじまります。

執筆環境について

私は執筆において、markdownで書いてからRe:VIEWで書き直す方法を試してみました。
Re:VIEWは、紙の本やebookのための使いやすいデジタル出版システムです。

Re:VIEWのフォーマットに則って書く事で、EPUB / LaTeX / IDGXML / Markdown / plain text に出力することができます。

まずはとにかくMarkdownで原稿を完成させなければなりません。
これは根性論なのでとにかく書きましょう。私はGraphQLについて書く事にしました。

vimを使ってゴリゴリMarkdownで書いた原稿を、今度はRe:VIEWの形式に書き直します。
ここで私はvscodeを使用することにしました。
vscodeを使用する理由としては、Re:VIEWのプラグインがあることと、prhのプラグインがあることが大きい理由です。

Re:VIEWプラグインについて

VSCodeにおいて、プラグインを検索し Re:VIEWプラグインをインストールします。
いくつかの機能がありますが、私が一番お世話になったのはLive previewの機能です。
本来pdfに出力しなければ確認ができなかったところが一目で確認できるのは非常にでかいのでオススメします。

■Live preview機能の様子

prhプラグインについて
prhは、techboosterさん謹製の文書校正を支援してくれるプラグインです。
今回はVSCode拡張を利用させていただく事にしました。

使い方は凄く簡単です。

  1. prhとprhlsのインストール
npm install prh
npm install prh-languageserver

2. VSCodeの [Code] -> [基本設定] -> [設定] から以下のように設定を書く

{
// prhによるチェックを行うか行わないか
“prh.enable”: true,
// prhlsコマンドの場所を明示的に指定する
“prh.prhlsPath”: “./node_modules/.bin/prhls”,
// 校正ルールファイルの場所 prhコマンドで — rulesでの指定と同等
“prh.configFiles”: [
“prh.yml”
],
// prhlsからのログ出力レベル
“prh.trace.server”: “off”,
}

設定を書くと、prh.ymlに書いてあるパターンに応じてこのように~~~で書式の指定をしてくれます。
Quick Fixで自動修正も可能になります。

これで、執筆環境は整いました。

とにかくゴリゴリ修正する

Re:VIEW記法については、達人出版会さんのこちらの記事を参考にゴリゴリ直していきます。

PDFを出力する

Re:VIEW記法で書かれた *.re ファイルが出来上がったら、PDFを出力する必要があります。
TechBoosterさんがdocker環境を提供してくださっていて、とても簡単にPDFを生成することができます。

完成した本の一部がこちらです。

すごく簡単に、綺麗なPDFが出力されていることがわかります。

おわりに

便利なプラグインを提供してくださっている techboosterさん / vvakameさんにはとても感謝です!ありがとうございます。
お陰で、日光企画さんの早割に間に合う事ができました。

最後にエウレカ9の進捗グラフを置いておきます。(大体最後の2週間にみんな書いてる)

エウレカでは、期限を守って執筆できるエンジニアのみなさんを求めています!ぜひご応募よろしくおねがいしますー!

https://www.wantedly.com/projects/112277

Like what you read? Give Kentaro Takahashi a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.