mdtsql v0.0.3
Posted on:
mdtsql v0.0.3をリリースしました
mdtsql v0.0.3をリリースしました。 Markdown テーブルに対してSQLを実行できるツールです。
README.mdやGitHubのWikiなどで、Markdownのテーブルを書くことがありますが、ドキュメント翻訳担当リスト14.0のようにテーブルが大きくなる場合に手で編集するのも大変ですが、探し出したり、集計したり、更新したり、といった作業が面倒になることがあります。
そこでtrdsqlのモジュールを使って、Markdown Tableに対してもSQLを実行できるようにしました。
trdsqlは既に様々なフォーマットに対して実行できるようになっているため、Markdownを追加しても良いわけですが、一緒にするにはMarkdown用のオプションが必要になるのもどうかと思って、別にしてあります。
mdtsqlはMarkdownファイルに対して実行すると解析してテーブルがあればテーブル情報を表示します。markdownにテーブルは複数含むことができるため、Markdown内のテーブルを指定するテーブル名をここで得ます。
「ドキュメント翻訳担当リスト13.1.md」というファイルに実行してみます。
$ mdtsql ドキュメント翻訳担当リスト13.1.md
Table Name: [ドキュメント翻訳担当リスト13.1]
+-------------+------+
| column name | type |
+-------------+------+
| ファイル名 | text |
| 担当者 | text |
| 進捗 | text |
| 備考 | text |
+-------------+------+
Table Name: [ドキュメント翻訳担当リスト13.1_2]
+------------------------+------+
| column name | type |
+------------------------+------+
| お名前 | text |
| マニュアルへの表記 | text |
| マニュアルへの記載可否 | text |
| 主な貢献内容 | text |
+------------------------+------+
テーブル名がわかったら、-q SQL文
でSQLを実行できます。
$ mdtsql -q "SELECT 担当者,count(担当者) FROM \"ドキュメント翻訳担当リスト13.1\" GROUP BY 担当者" ドキュメント翻訳担当リスト13.1.md
担当者 | count(担当者) |
---|---|
- | 36 |
分割して進行中 | 1 |
北山 | 6 |
小泉 | 120 |
斉藤 | 23 |
星合 | 3 |
橋本 | 3 |
田中 | 1 |
田中ひ | 5 |
石井 | 5 |
高塚 | 6 |
と担当したファイル数を集計できます。
mdtsql自体はちょっと前に作ってましたが、今回Markdown parserをgoldmarkに変更したことで、更新しやすくなったため新しい版を出しました。
今後の改良がしやすくなったのではないかと思います。