Как сгенерировать боковую панель, как они есть на странице документации следующего js в следующем js с заголовками и путями к страницам? - PullRequest
0 голосов
/ 30 января 2020

Я искал способ создания манифеста. json файл, как они делают в исходном коде для документации здесь: https://github.com/zeit/next.js/blob/canary/docs/manifest.json

  "routes": [
    {
      "title": "Documentation",
      "heading": true,
      "routes": [
        { "title": "Getting Started", "path": "/docs/getting-started.md" },
        {
          "title": "Basic Features",
          "open": true,
          "routes": [
            {
              "title": "Pages",
              "path": "/docs/basic-features/pages.md"
            },
            {
              "title": "Data fetching",
              "path": "/docs/basic-features/data-fetching.md"
            },
            {
              "title": "Built-in CSS Support",
              "path": "/docs/basic-features/built-in-css-support.md"
            },
            {
              "title": "Static File Serving",
              "path": "/docs/basic-features/static-file-serving.md"
            },
            {
              "title": "TypeScript",
              "path": "/docs/basic-features/typescript.md"
            }
          ]
        },

Чтобы создать navbar / sidebar, как вы видите на странице документации здесь: https://nextjs.org/docs

Но я просто не могу найти информацию где-либо. И манифест. json у меня находится в .next/server/manifest.json. Когда я нашел его, то, наконец, понял, но в моем файле манифеста нет значений, которые вы можете увидеть в исходном коде. Они жестко закодировали это или как-то сгенерировали? Вот как выглядит мой манифест. json выглядит так:

"path": "static/SomeSortOfHashedValue/pages/path/page.js",

Проблема в том, что у меня слишком много страниц на данный момент, чтобы жестко запрограммировать что-то подобное. Я должен буду генерировать это как-то. В gatsby вы можете просто использовать graphql и slugs для определения страниц и их глубины, но я не нашел аналогичного решения в следующих js.

Есть ли какие-нибудь обходные пути, которые могут работать в то же время, может быть добавить метаданные ко всем файлам mdx таким образом, чтобы приложение сообщало глубину страницы, заголовок и путь?

...