📦 plugin-content-docs
Fornece a funcionalidade do Docs e é o plugin padrão da documentação do Docusaurus.
#
Instalação- npm
- Yarn
npm install --save @docusaurus/plugin-content-docs
yarn add @docusaurus/plugin-content-docs
tip
Se você instalou o @docusaurus/preset-classic
, você não precisa instalá-lo como uma dependência. Você também pode configurá-lo através das opções predefinidas clássicas em vez de fazer como abaixo.
#
Configuraçãodocusaurus.config.js
module.exports = { plugins: [ [ '@docusaurus/plugin-content-docs', { /** * Path to data on filesystem relative to site dir. */ path: 'docs', /** * Base url to edit your site. * Docusaurus will compute the final editUrl with "editUrl + relativeDocPath" * Omitting this variable entirely will disable edit links. */ editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/', /** * For advanced cases, compute the edit url for each Markdown file yourself. */ editUrl: function ({ locale, version, versionDocsDirPath, docPath, permalink, }) { return `https://github.com/facebook/docusaurus/edit/master/website/${versionDocsDirPath}/${docPath}`; }, /** * Útil se você fizer commit de arquivos localizados para git. * When Markdown files are localized, the edit url will target the localized file, * instead of the original unlocalized file. * Nota: Essa opção é ignorada quando editUrl é uma função */ editLocalizedFiles: false, /** * Útil se você não quiser que os usuários enviem pedidos de ponto para versões mais antigas. * Quando documentos são versionados, a url de edição irá vincular para o documento * na versão atual, em vez do documento versionado. * Nota: Essa opção é ignorada quando editUrl é uma função */ editCurrentVersion: false, /** * Rota de URL para a seção de documentos do seu site. * * NÃO * inclua uma barra final. * INFO: É possível definir apenas `/` para documentos de entrega sem caminho base. */ routeBasePath: 'docs', include: ['**/*.md', '**/*.mdx'], // Extensões a incluir. /** * No route will be created for matching files */ exclude: [ '**/_*.{js,jsx,ts,tsx,md,mdx}', '**/_*/**', '**/*.test.{js,jsx,ts,tsx}', '**/__tests__/**', ], /** * Path to sidebar configuration for showing a list of markdown pages. */ sidebarPath: 'sidebars.js', /** * By default, all sidebar categories will be collapsible. * This can be overriden per-category. */ sidebarCollapsible: true, /** * By default, all sidebar categories will be initialized in a collapsed state. * This can be overriden per-category. */ sidebarCollapsed: false, /** * Function used to replace the sidebar items of type "autogenerated" * by real sidebar items (docs, categories, links...) */ sidebarItemsGenerator: async function ({ defaultSidebarItemsGenerator, // útil para reutilizar/melhorar a lógica da geração da barra lateral padrão do Docusaurus numberPrefixParser, // numberPrefixParser análise de prefixo de número configurado para esse item do plugin item, // o item da barra lateral com o tipo "autogenerated" version, // a versão atual docs, // todos os documentos dessa versão (não filtrados) }) { // Use os dados fornecidos para gerar uma fatia personalizada da barra lateral return [ {type: 'doc', id: 'intro'}, { type: 'category', label: 'Tutorials', items: [ {type: 'doc', id: 'tutorial1'}, {type: 'doc', id: 'tutorial2'}, ], }, ]; }, /** * O plugin Docs suporta prefixos numéricos como "01-My Folder/02. y Doc.md". * Prefixos de números são extraídos e usados como posição para encomendar itens da barra lateral gerada automaticamente. * Para conveniência, os prefixos dos números são automaticamente removidos do Id padrão do documento, nome, título. * Esta lógica de análise é configurável para permitir todos os possíveis padrões de usos e nomes de arquivos. * Use "false" para desativar esse comportamento e deixar a documentação intocada. */ numberPrefixParser: function (filename) { // Implemente sua própria lógica para extrair um prefixo de número potencial const numberPrefix = findNumberPrefix(filename); // Prefixo encontrado: devolva-o com o nome do arquivo limpo if (numberPrefix) { return { numberPrefix, filename: filename.replace(prefix, ''), }; } // Nenhum prefixo de número encontrado return {numberPrefix: undefined, filename}; }, /** * Componentes de tema usados pelas páginas de documentos */ docLayoutComponent: '@theme/DocPage', docItemComponent: '@theme/DocItem', /** * Plug-ins Remark e Rehype passados para MDX */ remarkPlugins: [ /* require('remark-math') */ ], rehypePlugins: [], /** * Plug-ins Remark e Rehype personalizados passados para MDX * antes dos plug-ins Docusaurus Remark e Rehype padrão. */ beforeDefaultRemarkPlugins: [], beforeDefaultRehypePlugins: [], /** * Se deve ser exibido o autor que atualizou o documento pela última vez. */ showLastUpdateAuthor: false, /** * Se deve exibir a última data em que o documento foi atualizado. */ showLastUpdateTime: false, /** * Por padrão, o controle de versão é habilitado em sites com controle de versão. * Este é o modo de desativar explicitamente o recurso de versionamento. * This will only include the "current" version (the `/docs` directory) */ disableVersioning: false, /** * Include the "current" version of your docs (the `/docs` directory) * Tip: turn it off if the current version is a work-in-progress, not ready to be published */ includeCurrentVersion: true, /** * The last version is the one we navigate to in priority on versioned sites * It is the one displayed by default in docs navbar items * By default, the last version is the first one to appear in versions.json * By default, the last version is at the "root" (docs have path=/docs/myDoc) * Note: it is possible to configure the path and label of the last version * Tip: using lastVersion: 'current' make sense in many cases */ lastVersion: undefined, /** * The docusaurus versioning defaults don't make sense for all projects * This gives the ability customize the properties of each version independantly * - label: the label of the version * - path: the route path of the version * - banner: the banner to show at the top of a doc of that version: "none" | "unreleased" | "unmaintained" */ versions: { /* Example configuration: current: { label: 'Android SDK v2.0.0 (WIP)', path: 'android-2.0.0', banner: 'none', }, '1.0.0': { label: 'Android SDK v1.0.0', path: 'android-1.0.0', banner: 'unmaintained', }, */ }, /** * Sometimes you only want to include a subset of all available versions. * Dica: limite a 2 ou 3 versões para melhorar o tempo de inicialização e construção em visualizações de desenvolvimento e implantação */ onlyIncludeVersions: undefined, // ex: ["current", "1.0.0", "2.0.0"] }, ], ],};
#
Markdown FrontmatterDocumentos de Markdown podem usar os seguintes campos de metadados de Markdown FrontMatter, colocados por uma linha ---
de ambos os lados:
id
: Um id único do documento. Valor padrão: caminho do arquivo (incluindo pastas, sem extensão)title
: O título do texto do seu documento. Usado para metadados da página e como um valor de fallback em vários lugares (barra lateral, próxima/anteriores botões...). Adicionado automaticamente no topo do seu documento se não contiver qualquer título de Markdown. Valor padrão: título ou documento do Markdownid
hide_title
: Ocultar o título no topo da documentação. Só oculta um título declarado através da frontmatter e não tem efeito sobre um título Markdown no topo do seu documento. Valor padrão:false
hide_table_of_content
: Se deseja ocultar a tabela de conteúdos à direita. Valor padrão:false
sidebar_label
: O texto mostrado na barra lateral para este documento. Valor padrão:title
sidebar_position
: Permite controlar a posição de um documento dentro da fatia gerada da barra lateral, ao usar itensautogenerated
da barra lateral. Pode ser Int ou Float.pagination_label
: O texto usado nos botões seguinte/anterior do documento para este documento. Valor padrão:sidebar_label
, outitle
parse_number_prefixes
: Quando um documento tem um prefixo numérico (001 - My Doc.md
,2. MyDoc.md
...), é automaticamente analisado e extraído pelo pluginnumberPrefixParser
, e o prefixo do número é usado comosidebar_position
. Useparse_number_prefixes: false
para desabilitar a análise do prefixo do número neste doc. Valor padrão: opção do pluginparse_number_prefixes
custom_edit_url
: O URL para editar este documento. Valor padrão: calculado usando as opções do plugineditUrl
keywords
: Meta tag de palavras-chave para a página do documento, para mecanismos de pesquisadescription
: A descrição de seu documento, que se tornará<meta name="description" content="..."/>
e<meta property="og:description" content="..."/>
em<head>
, usado por mecanismos de pesquisa. Valor padrão: a primeira linha de conteúdo Markdownimage
: Capa ou imagem em miniatura que será usada ao exibir o link para a sua publicação.slug
: Permite personalizar a url do documento (/<routeBasePath>/<slug>
). Suporte vários padrões:slug: meu-doc
,slug: /my/path/myDoc
,slug: /
.
Exemplo:
---id: doc-markdowntitle: Docs Markdown Featureshide_title: falsehide_table_of_contents: falsesidebar_label: Markdownsidebar_position: 3pagination_label: Markdown featurescustom_edit_url: https://github.com/facebook/docusaurus/edit/master/docs/api-doc-markdown.mddescription: How do I find you when I cannot solve this problemkeywords: - docs - docusaurusimage: https://i.imgur.com/mErPwqL.pngslug: /myDoc---# Markdown Features
My Document Markdown content
#
i18nLeia a introdução i18n primeiro.
#
Localização dos arquivos de tradução- Caminho base:
website/i18n/<locale>/docusaurus-plugin-content-docs
- Caminho de multi-instância:
website/i18n/<locale>/docusaurus-plugin-content-doc-<pluginId>
- Arquivos JSON: extraídos com
docusaurus escreveu-traduções
- Arquivos Markdown:
website/i18n/<locale>/docusaurus-plugin-content-docs/<version>
#
Exemplo de estrutura de sistema de arquivoswebsite/i18n/<locale>/docusaurus-plugin-content-docs││ # translations for website/docs├── current│ ├── api│ │ └── config.md│ └── getting-started.md├── current.json││ # translations for website/versioned_docs/version-1.0.0├── version-1.0.0│ ├── api│ │ └── config.md│ └── getting-started.md└── version-1.0.0.json