ReadingTime

估計的閱讀時間是通過將內容中的字詞數量除以閱讀速度來計算的。

預設情況下,Hugo 假設每分鐘 212 個字詞的閱讀速度。對於 CJK 語言,則假設每分鐘 500 個字詞。

{{ printf "估計閱讀時間: %d 分鐘" .ReadingTime }}

閱讀速度會因語言而異。在多語言網站中,您可以使用網站參數來創建語言特定的估計閱讀時間。

hugo.
     
languages:
  de:
    contentDir: content/de
    languageCode: de-DE
    languageName: Deutsch
    params:
      reading_speed: 179
    weight: 2
  en:
    contentDir: content/en
    languageCode: en-US
    languageName: English
    params:
      reading_speed: 228
    weight: 1
[languages]
  [languages.de]
    contentDir = 'content/de'
    languageCode = 'de-DE'
    languageName = 'Deutsch'
    weight = 2
    [languages.de.params]
      reading_speed = 179
  [languages.en]
    contentDir = 'content/en'
    languageCode = 'en-US'
    languageName = 'English'
    weight = 1
    [languages.en.params]
      reading_speed = 228
{
   "languages": {
      "de": {
         "contentDir": "content/de",
         "languageCode": "de-DE",
         "languageName": "Deutsch",
         "params": {
            "reading_speed": 179
         },
         "weight": 2
      },
      "en": {
         "contentDir": "content/en",
         "languageCode": "en-US",
         "languageName": "English",
         "params": {
            "reading_speed": 228
         },
         "weight": 1
      }
   }
}

然後在您的模板中:

{{ $readingTime := div (float .WordCount) .Site.Params.reading_speed }}
{{ $readingTime = math.Ceil $readingTime }}

我們將 .WordCount 強制轉換為浮點數,以便在除以閱讀速度時獲得浮點數。然後,將結果向上取整至最接近的整數。