hyogen-md

0.10.0

型とオプション

公開されている主要な型の要約です。TypeScript 利用時はパッケージから型を import できます。

import type {
  HyogenContext,
  HyogenDiagnostic,
  HyogenError,
  HyogenWarning,
  Loader,
  RenderOptions,
  RenderResult,
  ServerRenderOptions,
  BuildOptions,
  BuildResult,
} from '@b4moss/hyogen-md'

HyogenContext

type HyogenContext = Record<string, unknown>

テンプレート変数のマップです。contextserverContext、front matter、component の props がすべてこの形で束縛されます。

RenderOptions

type RenderOptions = {
  preserveFrontMatter?: boolean   // デフォルト: false
  preserveHgComments?: boolean    // デフォルト: false
  loader?: Loader
  root?: string
}
オプション説明
preserveFrontMatterレンダリング後の Markdown に YAML front matter を残す
preserveHgComments@hg ブロックの HTML コメントを出力に残す(デバッグ用)
loaderファイル読み込み関数
root.doc_root の代わりにドキュメントルートを指定

ServerRenderOptions

type ServerRenderOptions = RenderOptions & {
  serverContext?: HyogenContext
}

renderServerbuild のみ serverContext を受け取れます。

BuildOptions

type BuildOptions = RenderOptions & {
  input: string | string[]
  outDir: string
  includeUnderscoreEntries?: boolean
  context?: HyogenContext
  serverContext?: HyogenContext
}

RenderResult / BuildResult

type RenderResult = {
  markdown: string
  warnings: HyogenWarning[]
}

type BuildResult = {
  files: { path: string; markdown: string }[]
  warnings: HyogenWarning[]
}

Loader

type Loader = (path: string) => Promise<string>

診断型

type HyogenDiagnostic = {
  code: string
  message: string
  path?: string
  details?: Record<string, unknown>
}

type HyogenWarning = HyogenDiagnostic
type HyogenError = Error & HyogenDiagnostic

デフォルト値まとめ

項目デフォルト
front matter を出力に残すOFF
hyogen コメントを出力に残すOFF
Node でのリモート include / component許可
front matter ソースの上限64 KB

関連