obsdconvをたいへんありがたく利用させていただいている。 しかし、現状の使い方ではいくつか問題がある。

その一つが、Hugoで公開用の記事保存ディレクトリから別のディレクトリへのWiki linkがある場合、処理が完了しないでエラーになり、整形後のmdファイルが生成されないこと。

私の運用で言えば、下書き記事を含む公開用の記事を専用ディレクトリに保存しており、FrontMatterでpublish: trueがあるファイルをobsdconvが処理してくれるのだが、ついつい通常のObsidianでの作業のクセでほかのファイルへのリンクを記述することがある。 そうたとえばノートコンポーザーで分離させて広がったノートがそのまま公開することになったときなどに、抽出前のノートへのリンクを挿入しているし、実際のObsidianではそのリンクはあったほうがいい。

しかし公開するにあたっては、そのリンク先は非公開なのであまり意味をもたない。 obsdconvにいたっては処理できずにエラーになる。

obsdconvの処理で、wiki linkにかんしては整形できなってもとりあえず整形後のファイルは生成されるようにできるといいな。

そうじゃないとほぼ自動で記事を公開しているとエラーで記事が公開までいけていなくても気づかないし、GitHubActionの処理の中身までみないとエラーに気づかないので。

ぱっとみただけではGitHubActionはエラーで終了とはなっていないので。 実際に自分でHugoサイトをみないと気づかないまま。

追記: 予定

strictrefをしないようにしたらいいのかな?

内部リンクの先が見つからなかった場合に, エラーを吐いて処理を停止します.

コマンドを変更してみよう。 ただ、内部リンクエラーがあっても停止せず整形後のファイルを生成してくれるのかは試してみないとわからない。

現在実行用オプションにstdを指定しているのを個別に実行するコマンドを指定するように変更する。

stdには-cptag -title -alias -rmtag -link -cmmt -strictrefこれらのコマンドがまとめて実行される設定だから。

もう一つコマンドをまとめられたobsもあるけれど、もうんのコマンドを自分が指定しているのかわすれそうだからすべて記述しておいた方がいいかもしれない。

-cptag -title -alias -rmtag -link -cmmt -pub -debug

追記: タイトル変更

また、この記事の初期タイトルである「obsdconvを自動化することによる弊害」は己の設定によるものなので誤解をうむだろうから変更すべき。👉変更した