Autodoc Yaml Snippets (Visual Studio Code)Essa extensão tem como objetivo faciliar a utilização da ferramenta de CLI Autodoc Yaml, que foi criado com intuito de facilitar o processo de documentação de software, onde o usuário apenas necessita seguir um padrão de comentários com algumas anotações (labels) utilizando a sintaxe de arquivosyaml para que a documentação seja gerada de forma automatica, é uma ferramenta de linha de comando que funciona com projetos construídos em python, java, yaml, javascript e typescript. Instalação do Autodoc YamlPara realizar a instalação do pacote é necessário ter o versão 8.+ do node.js, caso já possua o mesmo instalado em sua máquina, executar o seguinte comando:
após finalizar o download do pacote, abrir os arquivos que devem ser documentados e comentar as classes e métodos seguindo o seguinte padrão:
Os blocos de documentação devem conter no inicio de cada linha a 3 barras (///) caso a linguagem utilizada tenha o padrão de comentário usando barra, caso contrátio utilizar 3 cerquilhas (###), que é o simbolo usado para comentários em outras linguagens como python.Além disso é possível também gerar a documentação fazendo as anotações direto em arquivos yaml, na pasta yamlFIles. Obs: se for necessário utilizar o simbolo de dois pontos ( : ) ou 2 asteriscos ( ** ) no texto, o mesmo deve ficar entre aspas duplas para que seja tratado de forma literal.A label Annotation deve conter a seguinte estrutura ( - Annotation), pois cada uma representa um bloco diferente de documentação,além disso apenas é o único label que é obrigatório os demais podem ser incluidos de acordo com a necessidade e caso seja necessário usar mais de uma anotação num mesmo bloco, será preciso separar os labels repetidas por uma label annotation o nome do mesmo incluindo um número no finalizar como no exemplo abaixo:
Descrição das labels de um bloco de documentaçãoAnnotation Label obrigatória em todo o bloco de documentação, ela serve para delimitar o inicio de um novo bloco, e a mesma deve a seguinte estrutura:
mainTitle Label que cria um título principal no bloco, tem a seguinte sintaxe:
title Label que cria um título principal secundário no bloco, tem a seguinte sintaxe:
text_description Label que cria um paragrafo no bloco, no inicio de cada linha de cada linha deve ser inserida com o caractere traço ( - ) no inicio e incluir as labels paragraph para definir os paragrafos como o exemplo abaixo:
parameters Label que cria um ou mais parêmetros para auxiliar na descrição de um método ou função, cada parâmetro deve ser inserido em uma linha com o caractere traço ( - ) no inicio como o exemplo abaixo:
ex Label que cria um bloco de exemplo de código para auxiliar na descrição de um método ou função, no inicio de cada linha deve ser inserido com o caractere traço ( - ) seguido do nome da linguagem e dois pontos ( : ) no inicio como o exemplo abaixo:
exception Label que cria um bloco de paragrafo de descrição de uma exception como o exemplo abaixo:
return Label que cria a descrição do retorno de um método ou função como o exemplo abaixo:
image Label que cria uma imagem deve receber o altText que será o título da imagem e o texto de acessibilidade caso o link da imagem esteja quebrado e o nome da mesma junto com a extensão como o exemplo abaixo:
unorderedList Label que cria uma lista inordenada cada item deve ser inserido em uma linha com o caractere traço ( - ) no inicio como o exemplo abaixo:
orderedList Label que cria uma lista ordenada cada item deve ser inserido em uma linha com o caractere traço ( - ) no inicio como o exemplo abaixo:
link Label que cria uma lista ordenada cada item deve ser inserido em uma linha com o caractere traço ( - ) no inicio como o exemplo abaixo:
logo Label que insere um logo no topo e no rodapé dos pdf's gerados, é necessário que o logo esteja na raiz do projeto e essa anotação deve ir no inicio da documentação (na anotação que fica no inicio do pdf) e deve ser implementada da seguinte forma:
Exemplo de uso em um arquivo java
Exemplo de uso em um arquivo python
Command Line (CLI)No final depois de finalizar o processo de documentação, basta executar os comandos com os devidos parâmetros na raiz do projeto documentado para que a documentação seja gerada.
Observações finaisA lib irá criar na raiz do projeto uma pasta documentation contendo as seguintes pastas:
os arquivos de documentação gerados serão armazenados nas pastas citadas anteriormente, além disso os arquivos md podem ser visualizados através de um algum software de preview no no vscode, basta instalar um plugin, ou, então abrir os pdf's exportados na documentação na pasta pdfFiles. PS: os arquivos exportados na pasta confluenceFiles são gerados no padrão do confluence, e podem ser usados para publicação da documentação sem a necessidade de adaptação. |