技術書典13「Babylon.js レシピ集 Vol.1」を寄稿するまでの裏側
こんにちは、XRエンジニアのイワケンです。
この度「Babylon.js勉強会」というコミュニティから「Babylon.js レシピ集 Vol.1」の電子版を技術書典13のオンラインマーケットに寄稿しました!!
執筆者7名。表紙デザインはちょまどさんです。
個人的にこの一連の流れに感動したので、noteに残しておきたいと思います。
私は、コミュニティの立ち上げ人であり、執筆者の1人です。
技術書典とは、技術書オンリーイベントでありお祭りです。技術者を中心に自分たちで技術書を執筆し出展しようというイベントです。
それで今回寄稿した本がこちら。「Babylon.js レシピ集 Vol.1」
私が感動を感じている理由は以下の3つです。
① コミュニティ立ち上げから4か月で技術本を執筆するほどのムーブメントが起きたこと
②コミュニティきっかけでBabylon.jsを学んだ人が執筆者になったこと
③私自身がこの本の執筆に携われたこと
この3つです。このnoteでは、この3つについて詳しく残しておきたいと思います。
①コミュニティ立ち上げから4か月で技術本を執筆するほどのムーブメントが起きたこと
Babylon.jsの日本コミュニティが立ち上がったのは2022年の5月6日です。それまでBabylon.jsは日本ではごく一部の数名が使っているフレームワークでした。(しかも、仕事ではなく趣味の人が多い)
5月6日に立ち上げイベントを行い、200人以上集まりました。しかし、まだ数名を除いてほぼ初学者状態です。そこで
・Discordを作り、気軽に質問できる環境を作る (現在255名)
・Scrapboxを作り、知見をためられるようにする
・ゆるほめLT会を企画し、初学者の開発と発表の機会を作る
という試みをしました。Discordに関しては私が最初立ち上げを行ったのですが、ScrapboxとゆるほめLT会に関しては、コミュニティメンバーの声を拾って企画をサポートする形で一緒に進めていきました。かつ、その企画の話し合いをDiscordで他の人に見える形で進めました。そのことにより
・コミュニティ内でアクティブに行動する人が増えた
・Babylon.js力が少しでもチャレンジできるという機運が生まれた
・本の執筆内容がLTやScrapboxにすでにある状態だった
という流れがあり、4か月で執筆者が集まり寄稿までやりとげやすい状態になっていたとしたら嬉しいですね。
現に、今回の執筆者への参加はDiscord内の募集からの立候補だったのですが、過去イベントに参加した人から立候補した人が多かったです。地道な活動の継続と巻き込みが大事なのだと改めて思いました。
②コミュニティきっかけでBabylon.jsを学んだ人が執筆者になったこと
7名の執筆者の内訳は
・元々Babylon.jsをバリバリ書いていた人 2名
・コミュニティきっかけでBabylon.jsを本格的に学び始めた人 5名
でした。
特に、コミュニティきっかけでBabylon.jsを学び始めた人がいるのが嬉しいですし、その方たちと一緒に本を執筆できたのもとても嬉しいです!
③私自身がこの本の執筆に携われたこと
私は
第8章 ローレンツアトラクタを WebXR で体験する
の章を担当しました。
私自身この半年くらい、趣味でBabylon.jsを触っていました。私自身Web開発が苦手だったので、何回もつまづきながら色んなアウトプットや記事を書いてきました。
その中でお気に入りの「ローレンツアトラクタ」のことと、WebXRについてのことを執筆できたことが嬉しいです。
追記: 執筆環境とフロー
詳しくは、Limesさんのブログとかーでぃさんのブログで紹介されています。今回Limesさんが環境構築を行ったため、私の方からは執筆者の立場でわかるところを共有します。
開発環境
・Re:VIEW 5.4 (元にしたTemplate)
・Visual Studio Code (執筆エディター)
・Github (原稿管理)
・Github issue (レビュー項目)
・Github Action (Pushされたら自動でpdf出力)
・Docker (pdfを手元で出力したい人)
VSCode拡張機能
・Re:VIEW (一応VSCodeでプレビューできるようになる)
・vscode-textlint v0.9.0 (最新だと動かない)
を使用しました。
スケジュールはこんな感じです。かなり早めのレビュー期間でした。
執筆のフロー
最初
・執筆用のGithubプライベートレポジトリをcloneします。
執筆&マージ
・各自ブランチを切る (master push OKルールだったが、最終的にみんなブランチを切っていた)
・各々{○○.reファイル}を書く。(Re:view記法になります)
・VSCodeの拡張機能やDockerでプレビューを確認 (私は最終的にはあまりやらなかった)
・GithubにPush
・Github Actionが走り、pdfがビルドされる。エラーがある場合エラーを返す
・問題なければプルリクエストを出してセルフマージする
レビュー
・自分のも他人のもissueに追加する
・issue見ながら自分の原稿を修正
・修正のフローは執筆フローと同じ
悲しみ
・ソースコードの折り返し、手動で改行するしかない
執筆感想
・Re:VIEW記法、慣れれば楽しい。Markdownよりちょっと難しいくらい。別noteにまとめるか。
・VSCodeのプレビューは不完全のため後半では使用しなかった (画像が表示されないなど)
・PushのタイミングでGithub Actionでpdfビルドされる体験が良かった。プレビュー見るよりPushしてpdf見た方が確実。マージ時のビルドより良い体験。(しかしGithubの容量をひっ迫するのでトレードオフ)
・Docker環境構築できなかった…なので手元のpdfビルドができなかった。残念。
・issueでのレビュー体験良かった。
まとめ
技術本を出版することは一つの夢だったので、それが達成できて嬉しいです。
また、執筆にあたり、執筆メンバーで協力し合いながら進めました。編集長のLimesさん、私の質問にやさしく答えてくださった、cx20さん、turamyさん、にー兄さん、やまゆさん、一緒に執筆とレビューを頑張った、彩さん、かーでぃさん、ヤスさん、表紙をデザインしてくださったちょまどさんありがとうございました!
他の執筆者のブログ (こちらもおススメ)
編集長Limesさんの執筆総まとめブログ。現在英語のみですが、後ほど日本語版も公開されるそうです。
初めてのBabylon.js、初めての執筆のかーでぃさんによるブログ。環境構築なども書かれており、執筆を考えている方にお勧めです!
よろしければサポートお願いします! サポートいただいたお金はハッカソンの運営に使わせていただきたいと思います。