Criando mapas mentais com Mermaidjs no MkDocs

2 minute read

mapa mental mermaidjs

Criar um mapa mental utilizando Mermaid.js em páginas de sites feitos com MkDocs e disponibilizado num Gitlab Pages.

Processo:

  1. Subir uma imagem com python instalado
  2. Python vai instalar algumas biliotecas
  3. MkDocs lê o arquivo de configuração
  4. MkDocs lê arquivos markdown de uma página e gera um site estático
  5. Site estático é disponibilizado numa pasta
  6. Gitlab lê esta página e disponibiliza o site no Gitlab Pages.

Arquivos do projeto:

  • .gitlab-ci.yml : configura toda a execução do projeto;
  • requirements.txt : pacotes que serão instalados pelo python e utilizados no projeto;
  • mkdocs.yml : configuração do MkDocs como tema (material) e plugins (mermaidjs);
  • wiki : pasta com as páginas de conteúdo;
    • index.md : página que conterá o mapa mental;

requirements.txt

Bibliotecas que serão instaladas pelo python e utilizadas pelo mkdocs.

1# Criar site estático de conteúdo markdown
2mkdocs>=1.4.2
3
4# Material tema para o site
5mkdocs-material>=9.1.17
6
7# Mermaidjs - biblioteca para diagramas
8mkdocs-mermaid2-plugin

mkdocs.yml

Configuração do mkdocs.

 1site_name: Mapas Mentais                        # título do site
 2site_url: https://url-projeto-gitlab-pages      # url do projeto do gitlab pages        
 3site_dir: public                                # pasta onde serão depositados os arquivos gerados
 4docs_dir: ./wiki                                # pasta onde está o conteúdo em markdown
 5
 6# Adicionando o tema
 7theme:
 8  language: pt-BR
 9  name: material
10  palette:
11    scheme: default
12
13
14# Configração para adicionar o mermaidjs
15markdown_extensions:
16  - pymdownx.superfences:
17      custom_fences:
18              - name: mermaid
19                class: mermaid
20                format: !!python/name:mermaid2.fence_mermaid_custom
21  
22
23# Informando os plugins que serão utilizados
24plugins:
25  - mermaid2

.gitlab-ci.yml

Controlando o fluxo do projeto.

 1image: python:3.8-slim # sobe uma imagem com python instalado
 2
 3pages:
 4    stage: deploy
 5    script:
 6        - pip install -r requirements.txt # instalação das bibliotecas.
 7        - mkdocs build --strict --verbose # geração dos site estático.
 8    artifacts:
 9        paths:
10            - public # todos os arquivos gerados serão guaradados nessa pasta. Pasta padrão do Gitlab para os sites do Gitlab Pages.
11    only:
12        refs:
13        - schedules

wiki/index.md

Para sabe a sintaxe dos diagramas visite o site Mermaid.js

Esse seria o resultado.

mapa mental numa página mkdocs

comments powered by Disqus