技術にゃんこの混ぜご飯

関東某所でITエンジニア生活を送るブログ主がチラ裏メモを放り込む場所

【GitHub】職務経歴書の目次生成をgithub-markdown-toc.goに移行した話

せっかく書いたけど、やつは役目を終えたのだ…!(´;ω;)

カテゴリ:GitHub(github-markdown-toc gh-md-toc)
海を眺める白黒猫

  • 2023/06/09 現在

久々に職務経歴書を更新する

就職してからというもの、面倒臭くてサボっていた職務経歴書の更新をしようと、重い腰を上げて対応に取り掛かりました。

ブログも久しぶりに触ると、記事を書くよりもデザインの粗が目立って修正したくなるのはいけないですね。もうその辺はいいから、記事を書けよと自分でも思います。

話が脱線しました。とにかく『目次生成部分』何か良い方法ないかな、と思って調べ始めた訳です。

github-markdown-toc.goとやらがあるらしい

覚えておいでだろうか。かつてgh-md-tocを用いて職務経歴書の目次を生成したことを。

実はそのままだと望む形式にならないので、シェルスクリプトで頑張って加工 していました。ぶっちゃけ力技なのであまり褒められた実装ではないです。

そして久々に GitHub - ekalinin/github-markdown-toc: Easy TOC creation for GitHub README.md を確認していたら、

If you want it on Windows, you better to use a golang based implementation:
* github-markdown-toc.go
It's more solid, reliable and with ability of a parallel processing. And absolutely without dependencies.

と書いてあるではありませんか。しかもGo版には見出しレベルの指定オプションがある…! これはもう乗り換えるしかない…!

というか職務経歴書を書いた当時には既に書かれているような…汗。これだから適当に調べて「できたからいいや(・ω<) テヘペロ」で済ますの良くない、本当に良くない。

ややこしいので一旦整理する

各々のリポジトリとREADME.mdの見出しがこれ。

そして実行コマンドは、どちらも gh-md-toc から始まる…ということです恐らく。

一応、GitHubの目次も確認してみるが…

何もしなくていいのであれば、それに越したことはない。

GitHub 職務経歴書(公式目次)
GitHub - noranuko13/curriculum-vitae: My curriculum vitae / 職務経歴書

うーん…フィルターで検索できるのは良いが、全体を見渡すのに分かりやすいかと聞かれると微妙そうな。

レベル指定によって小さい見出しを表示しないようにできれば…。今の構成であれば、小さいレベルの見出しを太字にすることで代用できなくもないのだが…。

だとしても、職務経歴の長い見出しは改行+途中省略されてしまって、全体を見渡す一覧としての役割は果たせないだろう。

github-markdown-toc.goへの移行作業

ということで早速乗り換えです。

github-markdown-toc.goに乗り換え

:notes: [gh-md-toc] github-markdown-toc.goに乗り換え · noranuko13/curriculum-vitae@7c5c264 · GitHub

そんなに難しいことはありません。元々、docker composeで実行されるようにしていたので、イメージをgolangにしてREADME通りにインストールして、コマンドを実行するようにするだけです。

indentの指定方法など微妙に書き方が違う部分があるので注意。

見出しレベルをオプションで指定する

:notes: [Shell] 見出しレベルをオプションで指定する · noranuko13/curriculum-vitae@2caf3f3 · GitHub

もうね、バッサリ削除ですよ。

コードは書けば書くだけ負債になるんですから、オプションで済むなら最初から複雑なコードなんて書かなくていいんですよ。

Gitの履歴には残りますし、似たような処理を書くことがあれば、『なんか昔書いた気がする』と言って引っ張ってくればいいんですよ、えぇ。

他の方法もあるが保留

今のところ github-markdown-toc で足りているので、わざわざ他のものに変えるつもりもないんですが。

DocToc の方が利用者も多く、便利機能も多いと思いので、こっちでもいいのではないかと思います。

というより、VSCode などの IDE で簡単に生成したり、それこそ言語ごとにライブラリがあったり、目次を生成するWebアプリが提供されていたりするので、逆に色々あり過ぎて選ぶのに困る感じ。検索しようにも『markdown toc』だけだと引っかかりにくいものもあり。

まあ趣味の範囲であれば、気分で変えてもいいでしょう。