Hugo


為了要讓整理好的簡譜也能正常顯示,需要把簡譜用支援 CJK 的 monospaced font 顯示,例如 Sarasa Gothic。但因為把整包 CJK 字型放到網站上實在太肥,想到既然 Sarasa Gothic 整合 Iosevka思源黑體,那可不可以英數字用 Iosevka、CJK 靠 Google 提供的 webfont Noto Sans Traditional Chinese 來顯示呢?於是就來實驗看看。

Iosevka 可以從 releasesttf-iosevka-fixed-slab,目前 ttf-iosevka-fixed-slab-14.0.0.zip,解開後拿會用到的 iosevka-fixed-slab-regular.ttf 就好,放到 static 裡面。Noto Sans Traditional Chinese 直接到網頁底下選 regular 拿 import 路徑。最後字型相關的設定如下:

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC&display=swap')

@font-face
    font-family: 'Iosevka'
    size-adjust: 86% /* 土炮對齊 QQ */
    src: url('/fonts/iosevka-fixed-slab-regular.ttf')

那個 size-adjust: 86% 實在非常土炮,但我一時也不知道 Sarasa Gothic 做過什麼處理,就先這樣 QQ

設定細節可以看這個 commit;最後 render 起來的感覺可以參考 雨夜花

iOS 上試過 Safari、Firefox、Edge、Chrome 都吃不到 size-adjust,所以還是歪的。但正解應該是用 WOFF 處理 Sarasa Gothic,有空來研究一下,不要再土炮啦!

如果想拿 git commit 的時間作為最後修改時間,可以在 config.yaml 裡設定 enableGitInfo

enableGitInfo: true

接著 page template 就能拿到 .GitInfo.Lastmod 這些資訊了:

{{ .GitInfo | jsonify }}
{{ .Lastmod.Format "Mon Jan 02, 2006" }}

但在 macOS 如果遇到 .GitInfo 是空值,可能是因為 macOS 是用 NFD 格式儲存 unicode 檔名的關係,把 git 的 quotePath 關掉可以解決這個問題:

git config --global core.quotePath false

若還想在 Markdown 的 Front Matter 手動指定 lastmod,則需要 從 config 設定 lastmod 的順位,例如:

// config.yaml
frontmatter:
  lastmod:
    - lastmod
    - :git
    - date
    - publishDate