Reading Time
推定読了時間を計算し、ページレベルのメタデータとして公開します。
Reading Time 機能は、ドキュメントの読了にかかる時間を推定し、その値をコンパイル済みの MDX モジュールに注入します。これは純粋なページデータ機能です。DOM 要素は一切出力せず、スタイルを当てるマークアップやセレクターもありません。値はページテンプレートから利用でき、表示するかどうか・どう表示するかは利用者が決めます。
Note
zfb.config.ts の readingTime キーで有効化します。
// zfb.config.ts
export default defineConfig({
markdown: {
features: {
readingTime: true,
},
},
});ライブデモはありません
このカテゴリーの他の機能と異なり、Reading Time はページ上に何も描画しません。ウィジェットもバッジも、いかなる要素も挿入しません。代わりに、コンパイル済みモジュールに名前付きエクスポートを追加し、TSX のページコードがそれを読み取って好きなように描画できます。
値の現れ方
この機能は、コンパイル済みの MDX モジュールに export const readingTimeMinutes = N; を名前付きエクスポートとして注入します。TSX ページでは、MDX ファイルから直接インポートして読み取ります。
import { readingTimeMinutes } from "./my-page.mdx";
<p>{readingTimeMinutes} min read</p>;値は分単位の整数で、最小値は 1 です。
Info
zudo-doc の現在のドキュメントレイアウトは readingTimeMinutes をどこにも表示していないため、このサイトでは値は計算済みだが未使用のメタデータです。表示するには、レイアウトコンポーネントがこのフィールドを読み取って描画する(たとえばページタイトルやドキュメント履歴ブロックの横に)必要があります。
オプション
// zfb.config.ts — カスタムの words-per-minute
readingTime: {
wpm: 250, // デフォルトは 200
},単語のカウント方法
ラテン文字テキストは空白で分割され、1 トークン = 1 単語として数えます。
CJK 文字(中国語・日本語・韓国語)は 1 文字ごとに 1 単語として数えます。
コードブロックとインラインコードはカウントから除外されます。
推定値は、総単語数を設定した words-per-minute で割り、切り上げて、最小 1 分としたものです。