Ir para o conteúdo

Sistema de Documentação

Manifesto
Configuração do Obsidian

Arquitetura do Sistema

A ideia geral

Visão geral da arquitetura

Aqui está uma representação gráfica da arquitetura do sistema:

flowchart LR
A(Conteúdo) --> B(Controle de versão)
C(Software de edição) --> A
A --> D(Tornar acessível online)

Em detalhe:

Visão geral da arquitetura

flowchart LR
A[Obsidian] <--> B{Arquivos}
B <--> C(Github Desktop)
C <--> D{Github}
B <--> E(MkDocs)
D --> F(Github Pages)
G(Tema: MkDocs-Material) --> E
H(MkDocs-Publisher) --> E
E --> D
  • Obsidian: Um editor de texto opcional, mas recomendado por mim, para editar arquivos Markdown.
  • Arquivos: Os arquivos Markdown que contêm o conteúdo da minha documentação.
  • Github Desktop: Uma ferramenta para gerenciar facilmente meus repositórios Git.
  • Github: Um serviço online para controle de versão e colaboração.
  • Github Pages: Um serviço gratuito para publicar meu site.
  • MkDocs: Uma ferramenta para criar automaticamente o site a partir dos meus arquivos Markdown.
  • MkDocs-Material: Um tema para MkDocs que oferece um layout moderno e atraente.
  • MkDocs-Publisher: Uma coleção de plugins que facilita a colaboração com o Obsidian e oferece funcionalidades adicionais.

Componentes em detalhe

1. Markdown

Markdown como base

Eu uso o formato Markdown para minha documentação. Markdown é uma linguagem de marcação simples que me permite formatar texto com formatação básica (por exemplo, títulos, listas, links).

Vantagens:

  • É fácil de aprender e usar, o que me permite focar no conteúdo.
  • É independente de plataforma, então posso continuar meu trabalho em qualquer dispositivo.
  • É ideal para controle de versão, o que me permite rastrear e gerenciar alterações.
  • É à prova de futuro e não proprietário, o que me dá a certeza de que meu trabalho permanecerá acessível a longo prazo.

Markdown

2. Obsidian

Obsidian como editor de texto

Obsidian é um editor de texto opcional, mas recomendado por mim. Ele me oferece as seguintes vantagens:

  • Posso armazenar meus dados localmente e editá-los offline, o que me dá flexibilidade e controle.
  • Posso vincular e conectar arquivos facilmente, o que me ajuda a organizar informações complexas.
  • Posso marcar arquivos com tags e gerenciá-los facilmente, o que me dá uma dimensão adicional de organização.
  • Posso visualizar meus dados graficamente, o que me ajuda a identificar padrões e relacionamentos.
  • Posso estender a funcionalidade do Obsidian com plugins, o que me permite adaptar a ferramenta às minhas necessidades específicas.

3. Git e Github

Git para controle de versão

Git é um sistema de controle de versão que me permite rastrear e gerenciar alterações na documentação. Github é um serviço online que me permite armazenar meus repositórios Git e colaborar com outras pessoas.

Vantagens:

  • Controle de versão: Cada alteração é documentada e pode ser rastreada a qualquer momento, o que me ajuda a evitar erros e a manter o controle.
  • Colaboração: Várias pessoas podem trabalhar na documentação simultaneamente, o que me dá a oportunidade de integrar feedback e contribuições de outras pessoas.
  • Backup: Minha documentação está segura e é regularmente copiada, o que me dá a certeza de que meu trabalho não será perdido.

4. Github Desktop

Github Desktop como ferramenta

Github Desktop é uma interface gráfica para Git que me permite usar Git de forma fácil e sem linha de comando.

Vantagens:

  • Fácil de usar, o que facilita o uso do Git.
  • Não são necessários conhecimentos de linha de comando, o que me poupa tempo e esforço.
  • Simplifica meu fluxo de trabalho, o que me permite focar na criação de conteúdo.

5. MkDocs

MkDocs como gerador de sites

MkDocs é um gerador de sites estáticos que converte meus arquivos Markdown em um site estático.

Vantagens:

  • Criação de sites simples, o que me permite publicar minha documentação de forma rápida e fácil.
  • Atualização rápida, o que me permite ver as alterações em tempo real.
  • Layout consistente, o que garante uma apresentação profissional e uniforme da minha documentação.
  • Pré-visualização offline, o que me permite verificar minha documentação antes de publicá-la.

6. Github Pages

Github Pages para hospedagem

Github Pages é um serviço de hospedagem gratuito do Github que me permite publicar meu site facilmente online.

Vantagens:

  • Hospedagem gratuita, o que me permite publicar minha documentação sem custos adicionais.
  • Publicação fácil, o que me livra da implementação técnica da publicação.
  • Confiável, o que me dá a certeza de que minha documentação estará sempre disponível.

7. MkDocs-Material

MkDocs-Material como tema

MkDocs-Material é um tema para MkDocs que oferece um layout moderno e atraente.

Vantagens:

  • Design moderno, o que faz minha documentação parecer profissional e atual.
  • Personalizável, o que me permite adaptar o layout às minhas necessidades específicas.
  • Fácil de usar, o que facilita o uso da documentação.

8. MkDocs-Publisher

MkDocs-Publisher como coleção de plugins

MkDocs-Publisher é uma coleção de plugins MkDocs que simplifica a colaboração com o Obsidian e oferece funcionalidades adicionais.

Vantagens:

  • Integração simplificada com Obsidian: Ajuste automático da sintaxe Markdown do Obsidian (Callouts, Wikilinks, etc.).
  • Metadados expandidos: Integração de tags e categorias do frontmatter do Obsidian.

Fluxo de trabalho

Meu fluxo de trabalho

Aqui está meu fluxo de trabalho típico:

  1. Crio e edito arquivos Markdown com um editor de texto (opcionalmente Obsidian).
  2. Salvo os arquivos Markdown localmente.
  3. Envio minhas alterações para o repositório Git com o Github Desktop.
  4. Gero automaticamente o site com o MkDocs.
  5. Publico o site com o Github Pages.

Sistema de arquivos

Estrutura de diretórios

Aqui está a estrutura de diretórios do meu sistema:

/docs/     (Aqui estão meus arquivos Markdown)
/site/     (Aqui o site é gerado)
license    (Informações de licença)
mkdocs.yml (Arquivo de configuração para MkDocs)
readme.md  (Arquivo para descrever o repositório)

Alternativas para criação de conteúdo

Alternativas para criação de conteúdo

Estou ciente de que nem todos estão familiarizados com Markdown e Git. Portanto, ofereço as seguintes alternativas:

  1. Wordpress: O conteúdo pode ser criado no Wordpress como uma página.
  2. Arquivo de texto, arquivo Word: O conteúdo pode ser criado como um arquivo de texto, arquivo Word (ou em outros formatos típicos).

Nesses casos, posso então integrar o conteúdo ao sistema.