Macでファイル名に濁音を含むとhugo server での自動反映に失敗する

おそらくMacの特殊な濁点の取り扱いが原因だと思うのですが、ファイル名が濁音を含んでいて、かつファイルがhugo serverコマンドよりも先に生成されているとファイル更新を検知しての自動反映が失敗します。

hugo server -D --disableFastRender
# 別タブで
hugo new カ.md
hugo new ガ.md
# この時点では両方とも自動更新が行われる
# ctrl+c で hugo serve を止めてもう一度立ち上げる
hugo server -D --disableFastRender
# ここで カ.md を編集すると自動反映されるが、ガ.md は編集しても自動反映されない

また一度目のhugo serveで正常に反映してる時はなぜか濁音を含むものは “Source changed” のログがダブって記録されますが、

Change detected, rebuilding site.
2021-04-01 18:45:10.991 +0900
Source changed "/Users/ironsand/mysite/content/posts/カ.md": WRITE
Total in 142 ms

Change detected, rebuilding site.
2021-04-01 18:45:17.986 +0900
Source changed "/Users/ironsand/mysite/content/posts/ガ.md": WRITE
Source changed "/Users/ironsand/mysite/content/posts/ガ.md": WRITE
Total in 133 ms

立ち上げ直した時は一度しか表示されません。この場合は自動反映が失敗します。

Change detected, rebuilding site.
2021-04-01 18:46:01.643 +0900
Source changed "/Users/ironsand/mysite/content/posts/ガ.md": WRITE
Total in 129 ms

Change detected, rebuilding site.
2021-04-01 18:46:04.642 +0900
Source changed "/Users/ironsand/mysite/content/posts/カ.md": WRITE
Total in 134 ms

環境は以下になります。

macOS Catelina 10.15.7
hugo v0.82.0+extended darwin/amd64 BuildDate=unknown

バグ報告は英語のフォーラムのほうが良いかと思ったのですが、
日本語関係のバグだったのでこちらに報告させてもらいました。

ファイル名が濁音を含んでいて、かつファイルが hugo server コマンドよりも先に生成されているとファイル更新を検知しての自動反映が失敗します。

共有ありがとうございます ʕ◔ϖ◔ʔ

どこかで以前同じようなスレッドを見かけたような気がするのですが、これだったかな?

返信ありがとうございます。
文字列の取り扱い方の違いはNFCやNFDと呼べばよかったんですね、勉強になります。

リンク先では最終的なHTML生成時の取り扱いが修正されてるようなので
自動反映周りでも同様の問題があることを英語版の方に投稿してみます。


上記の文を投稿しようとすると “Body seems unclear, is it a complete sentence?” と出て警告が出て投稿できなかったんですが、なにか文を追加すると投稿できるかと追記してみています。


追記したら投稿できました。英単語を一定数以上含んでないと弾かれてしまうんでしょうか?

1 Like

自動反映周りでも同様の問題があることを英語版の方に投稿してみます。

ʕ◔ϖ◔ʔ :+1:

上記の文を投稿しようとすると “Body seems unclear, is it a complete sentence?” と出て警告が出て投稿できなかったんですが

Discourse はデフォルト設定だとこのロジックで弾くコメントを決めているようです。日本語は正しく形態素解析できていない (or していない) ために上手く取り扱えていないのだと思います。

Quick Start | Hugo の最小構成で再現しようとしてできなかったので、確認していただけませんか?もしくは再現可能なプロジェクトを共有していただけませんか?

Discourse はデフォルト設定だとこのロジック で弾くコメントを決めているようです。

なるほど Discourseのデフォルトがそうなってるんですね。一部のカテゴリだけ設定を変えるのも難しそうですし。

Quick Start | Hugo の最小構成で再現しようとしてできなかったので、確認していただけませんか?もしくは再現可能なプロジェクトを共有していただけませんか?

すいません、無関係と思い書いてなかったDropboxが原因の一つだったようです。

hugo new ガ.md を実行した時に通常はNFCでファイルが作られるのですが、
Dropbox内で実行するとNFDでファイルが作られ、その場合にだけ自動反映されませんでした。

1 Like

なるほど、ログがダブるのは Dropbox 内で hugo new することで再現できました。

自動反映の失敗は色々試しましたが、起こせませんでした。編集というのは VS Code とかのエディターで編集した、ということで間違いないですかね?

いずれにせよバグなのは間違いないと思うので、もう少し調べてみます。

すいません、バグとしてgithubのIssueに申請したのですが、こちらのフォーラムで補足するのを忘れていました。

動作については hugo serverを立ち上げた後にファイルを自動反映されるのですが
ファイルの生成後にhugo serverを立ち上げると自動反映が失敗します。

編集というのは VS Code とかのエディタ

はい、編集はVS Codeでやっています。

1 Like