Nextraでドキュメント構築してみたよ!
nextra
カスタマイズ
_meta.json

_meta.json

ファイルやディレクトリにて、記事を作成したりすると左項目の順番等をカスタマイズしたい場合が多々生じます
デフォルトでは、アルファベット順にソートされ、基本的には、ファイル・ディレクトリ名が表示されるが、左項目や上部ナビゲーションへの配置設定は、_meta.json を用意する事で可能となる

記事の中に title: xxxx の FrontMatter が記述されていれば、その title 名が表示される

ディレクトリ名や順番をカスタマイズするには_meta.json を作成し、明記する必要がある

このようなファイル構成の場合

pages/
  _meta.json
  contact.md
  index.mdx
  about/
    _meta.json
    legal.md
    index.mdx

階層が深い_meta.json でオーバーライトされる

順番・表示名変更

{
  "index": "My Homepage",
  "contact": "Contact Us",
  "about": "About Us"
}

非表示

一部の項目を非表示にしたい場合 (contact を非表示)

"contact": {
    "display": "hidden"
  },

項目を区切る

"about": {
    "title": "About",
    "---": {
    "type": "separator"
    },
    "type": "page"
  }

外部リンク

プロパティ名(google-link)は任意

"google-link": {
        "title": "Google",
        "href": "https://google.com"
      }

項目をナビゲーションバーへ

about を上部ナビゲーションバーへ移動 (type の属性に page)

"about": {
    "title": "About",
    "type": "page"
  }

メニュー・ドロップダウン

ナビゲーションにした配置した項目をドロップダウンにしたい場合、"type": "menu"   と  "items" を併用

{
  "company": {
    "title": "Company",
    "type": "menu",
    "items": {
      "about": {
        "title": "About",
        "href": "/about"
      },
      "contact": {
        "title": "Contact Us",
        "href": "mailto:[email protected]"
      }
    }
  }
}

その他テーマオプション

テーマオプションでは、パン屑リストやフッター、サイドバー、TOC、ページネーションを表示・非表示も出来る

{
  "index": {
    "title": "Home",
    "theme": {
      "breadcrumb": false,
      "footer": true,
      "sidebar": false,
      "toc": true,
      "pagination": false
    }
  }
}

非スタイルのテキスト表示

Markdown の内容を非スタイルのテキストのみで表示させたい場合、layout に raw モードを指定

"theme": {
      "layout": "raw"
    }

1 コラムのフルモード

サイドバーや TOC 欄を取り除いた 1 コラムのフルレイアウトにしたい場合

"theme": {
      "layout": "full"
    }