Gerar documentação do projeto
Nesta página
Justificativa
A invocação correta de módulos e funções auxiliares pode ser intimidante porque
- estes são gerados dinamicamente (por exemplo, ao criar um novo projeto ou adicionar um novo
recurso
) - eles não são documentados explicitamente (por exemplo,
MyApp.ErrorHelpers.error_tag
) - a documentação não cobre todos os exemplos (por exemplo,
MyApp.Router.Helpers.*_path
emPhoenix.Router
).
Embora os auxiliares criados estejam espalhados por todo o seu projeto, sua localização segue uma lógica sólida. Você pode se acostumar com eles bem rápido e, felizmente, quando você gera um projeto com o Phoenix, o código é enviado com a documentação através dos atributos do módulo @doc
e @moduledoc
do Elixir.
Esses documentos não se limitam apenas a ajudantes, mas você também pode
- veja seu projeto dividido por submódulos/funções/macros
- adicione sua própria documentação
- procure todas as funções que foram geradas no namespace do seu projeto (por exemplo,
MyApp.Repo
contém implementações de função de retorno de chamada deEcto.Repo
)
Gerando os documentos
Para gerar documentação de seu código-fonte, adicione ex_doc
como dependência em seu arquivo mix.exs
:
# config/mix.exs
def deps do
[{:ex_doc, "~> 0.11", only: :dev}]
end
Você pode usar Markdown dentro dos atributos Elixir
@doc
e@moduledoc
.
Em seguida, execute mix deps.get
para buscar e compilar os novos módulos e gerar a documentação do projeto com mix docs
.
Um exemplo de saída é o documentos oficiais do Elixir.
Para servi-los imediatamente, use mix docs --output priv/static/doc
e navegue até my_app_url_or_ip/doc/index.html
.
Leitura adicional:
A maior parte deste guia é referenciada em Receitas de Elixir.