tudurikata

 tudurikata

OSSのREADME.md更新について

2021-05-01
/code#Nim#Git#GitHub

先日publicリポジトリに移したmarkdownパーサnmarkをちまちま更新しているのだが、更新するたびに以下のような作業が発生していてだんだん面倒になってきた。

(さっき見つけたswimlane.ioを使ってみたかったのであえて作ってみた)

今思いつく解決策としては、

という感じだが、

で、CIを勉強してみようかなぁと思っている。最終的にはジェネレータを使わないという選択になりそうな気がする。

こんなふうに、機能を追加したりバグを修正したりするたびにREADME.md内の細かい数字をアップデートしないといけない状況というのはあると思うのだけれど、何か効率的なやり方があるんだろうか。

追記

シェルスクリプトの代わりにNimscriptを書いて、パフォーマンス比較の詳細を記したmarkdownファイルをREADME.mdとは別に作り、そこにhyperfineの結果をコピーするというやり方にしてみた。

mode = ScriptMode.Verbose

const version = "0.1.6"

const text = """
# Perfomance comparison detail
...
### nmark@""" 

cd "../casa"

exec("nimble install nmark")
exec("nim c -d:release casa")
exec("hyperfine './casa build' --export-markdown nmark.md")
let s = text & version & """
>>
""" & readFile("nmark.md")

cd "../nmark"

writeFile("perfcmp.md", s)

echo "Done."

手動でいじるのは定数として入れているバージョン番号のみなのでだいぶ楽にはなった。この番号も、何らかのスクリプトで.nimbleファイルからとってきたいところだが、適当な関数が見つからないためとりあえずここまでにしている。tomlと見なしてパースすればいいような気もする。