Um template simples para criar documentações usando MkDocs com tema Material Design e deploy automático no GitHub Pages.
- Clique em "Use this template" no GitHub
- Nomeie seu novo repositório
- Clone o repositório para sua máquina local
Edite o arquivo mkdocs.yml e altere as seguintes configurações:
site_name: Seu Nome da Documentação # Altere aquiPara testar localmente antes do deploy:
# Criar ambiente virtual (recomendado)
python -m venv .venv
# Ativar ambiente virtual
# No Linux/macOS:
source .venv/bin/activate
# No Windows:
# .venv\Scripts\activate
# Instalar dependências
pip install --upgrade pip
pip install -r requirements.txt
# Servir localmente
mkdocs serveA documentação estará disponível em http://127.0.0.1:8000
Nota: O uso de ambiente virtual é altamente recomendado para evitar conflitos de dependências.
template-mkdocs/
├── docs/ # Arquivos de documentação
│ └── index.md # Página inicial
├── .github/workflows/ # GitHub Actions
│ └── ci.yml # Deploy automático
├── mkdocs.yml # Configuração do MkDocs
├── requirements.txt # Dependências Python
└── README.md # Este arquivo
- Crie novos arquivos
.mdna pastadocs/ - Adicione as páginas no
mkdocs.yml:
nav:
- Início: index.md
- Sobre: sobre.md
- Guias: guias.mdEste template inclui diversas extensões para formatação avançada:
- Admonitions: Caixas de aviso, dica, erro, etc.
- Syntax highlighting: Destaque de código com Pygments
- Tables: Tabelas com suporte a alinhamento
- Footnotes: Notas de rodapé
- Abbreviations: Abreviações com tooltips
- Definition lists: Listas de definição
- Tabbed: Abas para organizar conteúdo
- Details: Seções recolhíveis
- Emoji: Suporte a emojis 😄
- Keys: Representação de teclas ++ctrl+c++
- Math: Fórmulas matemáticas com MathJax
- Task lists: Listas de tarefas com checkboxes
- Superfences: Code blocks avançados com anotações
- Search: Busca integrada
- Git revision date: Data de criação e modificação dos arquivos
Exemplo de admonition:
!!! note "Nota"
Este é um exemplo de caixa de nota.
!!! warning "Atenção"
Cuidado com esta configuração!Exemplo de abas:
=== "Python"
`python
print("Hello World")
`
=== "JavaScript"
`javascript
console.log("Hello World");
`O deploy é automático! Sempre que você fizer push para a branch main:
- O GitHub Actions será executado
- A documentação será construída usando ambiente virtual
- Os arquivos serão publicados na branch
gh-pages - Sua documentação estará disponível em:
https://seuusuario.github.io/nome-do-repo
- Vá em Settings → Pages no seu repositório
- Em "Source", selecione "Deploy from a branch"
- Escolha a branch
gh-pages - Clique em "Save"
Este template já vem preparado para Google Analytics (GA4) e banner de consentimento de cookies do Material for MkDocs.
Como configurar:
- Substitua o ID de medição do GA4 em
mkdocs.yml(formatoG-XXXXXXXXXX):
extra:
analytics:
provider: google
property: G-SEU_ID_AQUI
consent:
title: "Aceitar os cookies"
description: >-
Utilizamos cookies para melhorar sua experiência e analisar o uso
da documentação. :)-
O banner de consentimento (seção
extra.consent) é exibido automaticamente e o Analytics só é carregado após o usuário aceitar. -
Personalize o texto do banner alterando
titleedescriptionconforme sua necessidade (LGPD/GDPR). -
Para desativar o Analytics, remova ou comente o bloco
extra.analytics. -
Teste localmente com
mkdocs serve. O banner deve aparecer na primeira visita. Para testar novamente, limpe os dados do site no navegador.
Edite o mkdocs.yml para personalizar:
theme:
palette:
- scheme: default
primary: green # Mude a cor aquiCores disponíveis: red, pink, purple, blue, cyan, teal, green, yellow, orange
O template já vem configurado com as seguintes extensões:
Markdown Extensions:
abbr: Abreviações com tooltipsadmonition: Caixas de aviso, nota, dicaattr_list: Atributos personalizados para elementosdef_list: Listas de definiçãofootnotes: Notas de rodapétoc: Índice automático com links permanentestables: Tabelas Markdown avançadasmd_in_html: Permite Markdown dentro de HTML
PyMdown Extensions:
pymdownx.arithmatex: Fórmulas matemáticaspymdownx.betterem: Melhor formatação de ênfasepymdownx.caret: Texto sobrescritopymdownx.details: Seções recolhíveispymdownx.emoji: Suporte a emojispymdownx.highlight: Destaque de sintaxe avançadopymdownx.inlinehilite: Código inline destacadopymdownx.keys: Representação de teclaspymdownx.magiclink: Links automáticospymdownx.mark: Texto marcadopymdownx.saneheaders: Cabeçalhos mais previsíveispymdownx.smartsymbols: Símbolos inteligentespymdownx.superfences: Code blocks com anotaçõespymdownx.tabbed: Sistema de abaspymdownx.tasklist: Listas de tarefaspymdownx.tilde: Texto subscrito e riscadopymdownx.blocks.caption: Legendas para blocos (ex.: código, tabelas)
Plugins:
search: Busca integrada na documentaçãogit-revision-date-localized: Datas de criação e modificação automáticas
Este template já inclui suporte a fórmulas matemáticas com MathJax e KaTeX. Os arquivos necessários de JavaScript e CSS são adicionados automaticamente via as opções extra_javascript e extra_css no mkdocs.yml.
Assim, você pode usar sintaxe LaTeX diretamente nos arquivos Markdown para exibir fórmulas matemáticas, sem necessidade de configuração adicional.
Exemplo de uso:
A equação de Euler é $e^{i\pi} + 1 = 0$.
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$- Use headers (
#,##,###) para organizar o conteúdo - Coloque imagens na pasta
docs/images/ - Use ambiente virtual para desenvolvimento local
- Teste localmente com
mkdocs serveantes de fazer commit - O deploy leva alguns minutos para aparecer online
- As datas de criação/modificação são adicionadas automaticamente
Deploy falhou?
- Verifique se o
mkdocs.ymlestá com sintaxe correta - Confira se todas as páginas referenciadas no
navexistem - Verifique se o
requirements.txttem todas as dependências
Página não carrega?
- Aguarde alguns minutos após o deploy
- Verifique se o GitHub Pages está ativado nas configurações do repositório
Problemas com ambiente virtual?
- Certifique-se de ativar o ambiente virtual antes de instalar dependências
- Use
pip install --upgrade pippara atualizar o pip - No Windows, use
python -m pipse houver problemas compip
Extensões não funcionam?
- Verifique se todas as dependências estão instaladas
- Confirme se a extensão está listada no
mkdocs.yml
Feito usando MkDocs e Material for MkDocs