メニュー(Menu)
这是第一个标签页的内容。
- 可以包含 Markdown
- **加粗**、`代码`等
export default {
data () {
return {
msg: 'Removed' // [!code --]
msg: 'Added' // [!code ++]
}
}
}
console.log('Not focused');
console.log('Focused') // [!code focus]
console.log('Not focused');
console.log('Not highlighted')
console.log('Highlighted') // [!code highlight]
console.log('Not highlighted')
ある人はブログを使ってドキュメントを書くことがあります(例えば今あなたが読んでいるこのページです)。通常、左側にはジャンプを助けるメニューバー/目次バーがあります。
だからKecareも、よりシンプルで統一されたメニューの書き方を提供していますにゃ~メニューはどこに置くの?
1. メニューはどこにあるのニャ?
Kecare では、メニューにも固定された配置場所があります:
- メニューディレクトリ:テーマディレクトリ/.kecare/menus/
✅ このディレクトリに置くだけで、Kecareがスキャンして対応するメニューを生成できるにゃ~
2. 新しいメニューファイルを作成する(命名規則は重要ですよ)
メニューディレクトリに新規作成:*.menu.source.ts
例えば:
kecare-docs.menu.source.tsmilkio-docs.menu.source.ts
ファイル名の接頭辞(例:
kecare-docs)は、記事のFront Matterで参照する menu になります。英語 + ハイフンを使用することをお勧めします、より安定しますにゃん~
3. メニューコンテンツの作成(navItemsのエクスポート)
メニューファイルで navItems をエクスポートし、型を NavItem[] とします:
import type { NavItem } from "kecare";
export const navItems: NavItem[] = [
{
text: "快速开始喵",
level: 1,
items: [
{
text: "快速开始",
link: "./快速开始",
level: 2,
},
{
text: "写作",
link: "./写作",
level: 2,
},
],
},
{
text: "自定义",
level: 1,
items: [
{
text: "编写主题",
link: "./编写主题",
level: 3,
},
],
},
];
link とは一体何ですか?
link はジャンプ先の記事パスを指します~ 一般的には、記事ページのルート(または記事のスラッグ)に対応し、相対形式で書かれるのが最も一般的です。例えば:
./クイックスタート./執筆
4. 記事内でメニューを有効にするにゃ
メニューを表示する必要がある記事の .md ファイルの Front Matter に menu を追加します:
---
menu: kecare-docs # 这里只写文件名前缀,不用写 .menu.source.ts 喵~
---
対応するメニューファイルは:
テーマディレクトリ/.kecare/menus/kecare-docs.menu.source.ts
✅ 规则のまとめ:menu の値 = .menu.source.ts のファイル名の接頭辞だよ~
5. NavItem 结构说明にゃん
kecare では、NavItem は2種類のノードをサポートしています:
- リーフノード:クリックしてジャンプ可能(link あり)
- グループノード:分類としてのみ機能(items あり)
型定義(参考):
export type NavItem =
| { text: string; link: string; level: number; desc?: string; icon?: string }
| { text: string; items: NavItem[]; level: number };
FAQ(にゃんにゃんにゃん)
- Q:一つの記事に複数のメニューを設定できますか?
通常、一つの記事は一つの
menuにのみ紐付けられます。複数設定したい場合は、テーマ側の対応(例えばマージレンダリングなど)が必要です、にゃ~ - Q:メニューファイルの名前は必ず
\*.menu.source.tsにする必要がありますか? はいにゃ~ これは Kecare がメニューファイルをスキャンする際の命名規則です。ルールに従わないと認識されない可能性があります。