zudo-doc
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

コードブロック

作成 2026年5月4日更新 2026年7月18日Takeshi Takatsudo

タイトル、行ハイライト、差分表示に対応した、zfbのセマンティッククラスモードによるフェンスドコードブロック。

zudo-docのフェンスドコードブロックは、zfbのビルド時セマンティッククラスモードでハイライトされます。開始フェンスの後に言語識別子を指定するとハイライトが有効になります。

基本的な使い方

トリプルバッククォートでコードを囲み、開始フェンスの後に言語識別子を追加します。

function add(a: number, b: number): number {
  return a + b;
}
```ts
function add(a: number, b: number): number {
  return a + b;
}
```

サポートされている言語

zfb のクラス方式ハイライタは多くの言語をサポートしています。主な識別子は以下の通りです:

言語識別子
TypeScriptts, typescript
JavaScriptjs, javascript
HTMLhtml
CSScss
JSONjson
Bash / Shellbash, sh, shell, zsh
Markdownmd, markdown
MDXmdx
YAMLyaml, yml
Pythonpython, py
Rustrust, rs
Gogo
SQLsql
GraphQLgraphql
Diffdiff
TOMLtoml
JSX / TSXjsx, tsx

認識できない言語識別子が指定された場合は、ハイライトされない素のコードブロックとしてレンダリングされます。コンテナのスタイル、コピーボタン、折り返しトグルはそのまま動作します。

コードブロックのタイトル

titleメタ属性を追加すると、コードブロックの上にファイル名やラベルを表示できます。

src/utils/math.ts
export function multiply(a: number, b: number): number {
  return a * b;
}
```ts title="src/utils/math.ts"
export function multiply(a: number, b: number): number {
  return a * b;
}
```

差分表示

diff言語を使用すると、+-のプレフィックスで追加・削除行をハイライト表示できます。

- const greeting = "Hello";
+ const greeting = "Hello, world!";
  console.log(greeting);
```diff
- const greeting = "Hello";
+ const greeting = "Hello, world!";
  console.log(greeting);
```

ネストされたコードブロック

MDXの例の中にフェンスドコードブロックを表示する必要がある場合は、外側のフェンスに4つのバッククォートを使用し、内側のブロックには3つを使用します。

````mdx
```ts
const x = 1;
```
````

シンタックスハイライトのテーマ

ビルド時のハイライタは zfb のクラス方式レンダラーです。pre.hi-root の配下に hi-kwhi-str などのセマンティッククラスを出力し、zudo-doc がそれらを現在の --zd-syntax-* デザイントークンへ対応付けます。ドキュメントフェンスは、パレット色のインライン指定やクライアント側 JavaScript なしでアクティブなカラースキームに追従します。HtmlPreview の遅延 WASM レンダラーも同じクラス/トークン契約を出力します。

Revision History

Takeshi Takatsudo作成: 2026-05-05T04:41:24+09:00更新: 2026-07-19T07:26:05+09:00

AI Assistant

Ask a question about the documentation.

Preview theme

Loading theme previews…