Docusaurus 2 で 2 つのドキュメントを作成する方法はありますか? 質問する

Docusaurus 2 で 2 つのドキュメントを作成する方法はありますか? 質問する

私の知る限り、Docusaurus はカスタマイズされたページをサポートしていますが、1 つの Docusaurus プロジェクトに 2 つのドキュメントを含める方法はありますか?

オリジナルの Navbar 項目には次のものがあります:

  • ドキュメント
  • ブログ
  • ...

次のようなものがほしいです:

  • ドキュメント 1
  • ドキュメント 2
  • ブログ
  • ...

1 つのドキュメント内に多数のサブフォルダーを作成できることはわかっていますが、何らかの理由で、ドキュメントに簡単にアクセスできる 2 つのドキュメント構造が必要です。

Docusaurus が現在この機能を提供できない場合、他のドキュメント フレームワークがこの機能を提供しているかどうかをお聞きしたいです。

ベストアンサー1

使用する必要があるのはプラグインコンテンツドキュメント

まず、、、などの他のフォルダーをdocs作成します。docsdocs-apidocs-system

(1)ファイル内でdocusaurus.config.js、「デフォルト」ドキュメントを構成します。

(module.exports = { // start of the module.export declaration
[…]

    presets: [
        [
          '@docusaurus/preset-classic',
          {
            docs: {
              routeBasePath: 'docs',
              path: 'docs',
              sidebarPath: require.resolve('./sidebars.js'),
              lastVersion: 'current',
              onlyIncludeVersions: ['current'],
            },
            theme: {
              customCss: require.resolve('./src/css/custom.css'),
            },
          },
        ],
      ],

[…] 
}); // end of the module-export declaration

(2)さて、魔法!: 同じファイルで、他のドキュメントを設定します。

(module.exports = { // start of the module.export declaration
[…]

plugins: [
    […]
    [
      '@docusaurus/plugin-content-docs',
      {
        id: 'docs-api',
        path: 'docs-api',
        routeBasePath: 'docs-api',
        sidebarPath: require.resolve('./sidebars.js'),
      }, 
    ],
    [
      '@docusaurus/plugin-content-docs',
      {
        id: 'docs-system',
        path: 'docs-system',
        routeBasePath: 'docs-system',
        sidebarPath: require.resolve('./sidebars.js'),
      }, 
    ],
],

[…]
}); // end of the module-export declaration

(3)おそらく、これらのドキュメントを NavBar に表示したいと思いませんか? それで追加しましょう!

(module.exports = { // start of the module.export declaration
[…]

navbar: {
  hideOnScroll: true,
  title: 'your title',
  logo: {
    alt: '',
    src: 'img/favicon.ico',
  },
  items: [
    {
      to: '/docs/Intro',    // ./docs/Intro.md
      label: 'Docs Title',
      position: 'left',
      activeBaseRegex: `/docs/`,
    },
    {
      to: '/docs-api/Intro',    // ./docs-api/Intro.md
      label: 'API',
      position: 'left',
      activeBaseRegex: `/docs-api/`,
    },
    {
      to: '/docs-system/Introducao',  // ./docs-system/Intro.md
      label: 'My System',
      position: 'left',
      activeBaseRegex: `/docs-system/`,
    },
  ],
},

[…]
}); // end of the module-export declaration

重要

場合によっては、変更してdocusaurus.config.jsも「動作」しなくなることがあります。その場合は、docusaurus を閉じてservice(ターミナル/Power Shell で Ctrl+C を押すだけ)、再起動してください。これを事前に知っていれば、数時間を節約できたでしょう。

plugin-content-docs プラグインをお持ちでない場合は、インストールしてください:

npm をインストール --save @docusaurus/plugin-content-docs


ロードマップ

これを理解するのに苦労しました。私がしたのは、docusaurus プロジェクト全体をダウンロードし、Web サイト部分を取得し、不要なものをすべて削除して、これが得られたものです。


参考文献(2022/03/02更新)

https://docusaurus.io/docs/docs-マルチインスタンス

おすすめ記事