本文へスキップ
md-book

設定#

<md-book> の属性#

属性 意味
manifest manifest.json の URL(既定: ページの隣)
base サイトのベースパス。例: /docs/
router history(既定)または hash
heading ヘッダーと <title> に使うサイト名
theme light、dark、system(初期モード)
blog 付けるとブログのルートが有効になる
blog-dir ブログのディレクトリ(既定 blog)
blog-per-page 一覧 1 ページあたりの記事数(既定 10)
blog-sidebar false でブログのページ(一覧・タグ・カテゴリ・記事)のサイドバーを隠す
site-url canonical / Open Graph のリンクに使う絶対 URL

slot="navbar-end"、slot="sidebar-top"、slot="page-footer" を持つ子要素は、シェルの 対応する領域に移されます。

mount(target, options)#

import { mount } from '@ibitsuki0296/md-book/runtime';

await mount('#app', {
  manifestUrl: '/manifest.json',
  base: '/',
  routerMode: 'history',
  tocDepth: [2, 3],
  theme: { default: 'system', toggle: true },
  blog: { dir: 'blog', perPage: 10 },
  seo: { siteUrl: 'https://example.com/', siteName: 'My Docs', twitterSite: '@me' },
  highlight: (code, lang) => myHighlighter(code, lang),
});

mount() は最初のページを描画し終えると解決し、{ element, theme, navigate, destroy } を返します。

フロントマター#

---
title: ページのタイトル
description: 抜粋とメタディスクリプションに使われる
date: 2026-02-01        # 付けるとブログ記事になる
updated: 2026-02-10
tags: [guide, intro]
categories: [Handbook]
draft: true             # 本番ビルドから除外される
order: 2                # ディレクトリ内でのサイドバーの位置
slug: custom-slug       # パスから決まるスラッグを上書きする
sidebar: false          # このページのサイドバーを隠す
cover: /img/cover.png
author: Your Name
---

CLI#

md-book manifest <contentDir> --base / --title "My Docs"
md-book feed <contentDir> --site-url https://example.com/ --formats rss,atom
md-book dev --root . --content ./content --port 4173

ランディングページ#

ページのフロントマターに layout: home を付けると、ヒーローとフィーチャーカードを持つ全幅の ランディングページになります(サイドバー・目次・ページャはありません)。Markdown の本文は その下に描画されるので、# h1 は書かないでください。hero.name がページの <h1> になります。

---
title: My project
layout: home
hero:
  name: v1.0
  text: 売り込みの見出し
  tagline: 補足の一文。`code` も使えます。
  actions:
    - text: はじめる
      link: /ja/guide/getting-started   # ルートのパス、#hash、絶対 URL
    - text: GitHub
      link: https://github.com/you/project
      theme: alt                         # brand(先頭の既定)| alt
features:
  - icon: "✎"
    title: Markdown だけ
    details: 短い説明。
    link: /ja/guide/showcase             # 省略可: カード全体がリンクになる
---

リンクとして使えるのは、http(s):、mailto:、#hash、サイト内のパスだけです。

サイドバーの順序#

同じ階層のページは、order(または NN- で始まる数字のファイル名)、次に date の新しい順、 最後にタイトルの順に並びます。そのため、ブログ記事は追加の設定なしで新しい順に並びます。