Markdownのファイル位置とHTMLのファイル位置が大きくズレている #129
Labels
Priority: Medium
Type: Breaking Change
Includes breaking changes
Type: Bug
Bug or Bug fixes
Type: Documentation
Documentation only changes
Type: Maintenance
Repository Maintenance
Type: Refactoring
A code change that neither fixes a bug nor adds a feature
例えば
entry/2023-02-09-17-21-08.md
は、entryを抜いて、
ファイルの
-
を/
に変更してそのディレクトリを作って、index.html
にして置いています。index.html
にすること自体はむしろ良いのですが、-
を/
にしていることが問題で、これにより出力するディレクトリ階層が大きくズレてしまうため、
内部リンクが効かなくなってしまっています。
単なる内部リンクが効かないだけなら絶対リンクを貼れば良いだけです。
しかし画像などへのリンクが効かなくなることが問題で、
現在
/asset/
ディレクトリに全部置いてそれを絶対参照していますが、これはwebサイトして単体でホスティングした時のみ認識可能なトップレベルディレクトリです。
これを行っているとGitHubにはリンクは認識されないからGitHub上でのレンダリングは行われません。
ファイル名補完も効きません。
一部の記事だけを取り出してPDF化するのも困難になります。
ライブプレビューはまあCSSとか面倒だし良いけれど。
サイトをサブディレクトリとして分離するのも不可能です。
将来的にHakyll以外に移ることも難しいかもしれません。
また
/asset/
ディレクトリにある画像名が被ると問題なので、スクリーンショットなどの元から日時があるもの以外にはprefixとして余計な日付をファイル名の前につける必要が出てきます。
一つ一つの記事は独立しているべきなのに、
それぞれを区別するのは煩雑な問題です。
解決方法
まず
entry
は消してしまい年をトップレベルに置きます。そして各ファイルの
-
は/
に変換して、HTMLにした時の階層ギャップを無くします。
ファイル名は
index.md
として、自然に
index.html
となるようにします。これで一段落です。
そして
/asset/
にあるファイルですが、これは雑にリンクを取り出す雑スクリプトを書いて、
それによってファイルを移動させます。
Pandocで画像リンクを読み込んでファイルムーブしてやれば良いですね。
ファイルの名前の方ですが、
プレフィックス付きのファイルは37個しか無いようなので、
年で検索すれば出てくるのでこれぐらいならスクリプト書くより手作業の方が誤爆危険性も少ない可能性がありますね。
Pandocで走査して書き換える手もありますが、
一回ASTにしたMarkdownの画像リンク名を書き換えてMarkdownに戻しても元のデータが残ってないような気がしますね。
ファイル名変える所だけPandocを利用したプログラムにして、
リンク名を書き換えるのはEmacsを利用した正規表現にするべきでしょうか。
The text was updated successfully, but these errors were encountered: