hyogen-md

0.10.0

renderClient

ブラウザ(CSR)向けのレンダリング API です。@b4moss/hyogen-md/client から import します。

import { renderClient } from '@b4moss/hyogen-md/client'

シグネチャ

function renderClient(
  source: string | { path: string },
  context?: HyogenContext,
  options?: RenderOptions,
): Promise<RenderResult>

renderServer と同型ですが、serverContext は使えません

引数

source

  • 文字列、または { path: string }

context

テンプレート変数のオブジェクトです。

options

オプションデフォルト説明
loaderLoader必須ファイル読み込み関数
rootstringドキュメントルートの上書き
preserveFrontMatterbooleanfalse出力に front matter を残す
preserveHgCommentsbooleanfalse出力に hyogen コメントを残す

loader は必須

ブラウザではライブラリがファイルシステムやネットワークに直接アクセスしません。include / component / extend を使う場合は、呼び出し側が loader を必ず渡す必要があります。

const result = await renderClient(
  { path: '/src/index.md' },
  { siteName: 'Demo' },
  {
    loader: async (path) => {
      const res = await fetch(`/virtual-fs${path}`)
      return res.text()
    },
  },
)

serverContext は不可

optionsserverContext 相当の値を渡すと server_context_on_client エラーで中断します。サーバー専用データは renderServer でのみ渡してください。

バンドルに含まれるもの

@b4moss/hyogen-md/client には Node 専用の API(buildcreateNodeLoadercreateFsLoader など)は 含まれません

関連