技術書典に向けて執筆環境を整えた

概要

技術書典にいい加減参加したく、こんなものを作った。

https://github.com/miketako3/teckbook-template

TechBoosterのRe:VIEWテンプレートを改変したものになる。Webエンジニア目線では使いやすいかもしれない。

技術スタック

  • Re:VIEW
    • 誤解を恐れずにいえばLaTexのラッパー
    • 技術書を描きやすいらしい
    • markdownっぽい形式の.reファイルを書いてPDFに変換できる
  • VSCode
    • Re:VIEWの補完ができる拡張機能がある
    • 本当はIntelliJが良かったが…流石にプラグインを作りたくは無い
    • devcontainerは便利ではある
  • Dev Containers
    • VSCodeの機能
    • Dockerを使って開発環境を構築する
    • Re:VIEWのDockerイメージが公式に配布されているのでそれをベースにすれば楽ちん
    • ということで元々のテンプレートからそのまま持ってきた
  • GitHub Actions
    • 元々のテンプレートではCircleCIで校閲、Github ActionsでPDF作成としていたが、慣れや使い勝手もあり全てGitHub Actionsに変更した
    • Github前提となるので、GitLabなど用のファイルは全て削除した
  • textlint
    • 文章の校閲ツール
    • スタンダードな技術だと思っているので採用した
    • PR時に自動的に実行される
  • reviewdog
    • textlintの結果をPRコメントに表示してくれる
    • さすがにコメントが無いと使いづらいので採用した

感想

これでやっと書けるわけだが、書くまでに手間がかかりすぎる……。

もっと楽に書ける環境があると参入障壁が下がるのになーとなる。

自動校閲とか自動バージョニングとかをいい感じに入れたSaaSがあって、技術書典とか印刷会社とかとシームレスに連携できたら最強な気がする。

参考

https://reviewml.org/ja/

https://review-knowledge-ja.readthedocs.io/ja/latest/

https://github.com/TechBooster/ReVIEW-Template

https://zenn.dev/karaage0703/articles/52be7d25f7d76b

https://zenn.dev/b0b/articles/reviewdog_textlint_ga_tested