Ejemplo de documentación python con MKDocs
En uno de mis Ćŗltimos cursos de python me han preguntado cómo se podĆa realizar con python la documentación automatizada de una aplicación. Dado que en los proyectos donde he trabajado nunca he tenido que realizar esta tarea personalmente, desconocĆa la parte prĆ”ctica. Por lo tanto, he creado este tutorial de ejemplo utilizando MKDocs https://www.mkdocs.org/ y Material for MkDocs https://squidfunk.github.io/mkdocs-material/ como aplicación para la presentación de la misma.
Otra opción para quienes tienen un proyecto open source es utilizar la plataforma Read the Docs que permite crear, alojar y navegar por la documentación mediante la creación de una cuenta (gratuita para proyectos open source) en su portal.
Esta cuenta luego se conectarÔ al repositorio donde estÔ alojada la aplicación (Bitbucket, Github, Gitlab, etc.) y genera la documentación automÔticamente a través de unos scripts creados a tal fin. Un completo tutorial lo podéis encontrar en https://docs.readthedocs.io/en/stable/tutorial/index.html y ejemplos en https://docs.readthedocs.io/en/stable/examples.html.

Instalar mkdocs
- Para instalar mkdocs crearemos un proyecto de ejemplo en un ambiente virtual en nuestro ordenador. Abrimos la consola en nuestro Linux y ejecutamos:
python -m venv ejemplo_api/venv
cd ejemplo_api
source venv/bin/activate
- Ahora procedemos a instalar mkdocs y material:
python -m pip install mkdocs
python -m pip install "mkdocstrings[python]"
python -m pip install mkdocs-material
- El repositorio para descargar los ficheros ejemploAsyncioAPImain.py y ejemploAsyncioAPI.py utilizados este ejemplo se encuentran en https://github.com/fortinux/ejemploDocumentacionPython.
Configurar mkdocs y material
- A continuación creamos los ficheros docs/ejemploAsyncioAPImain.md, docs/ejemploAsyncioAPI.md, mkdocs.yml, y requirements.txt. Abrimos nuestro IDE (integrated development environment) preferido y escribimos en el fichero ejemploAsyncioAPImain.md*
::: ejemploAsyncioAPImain
- En docs/ejemploAsyncioAPI.md introducimos:
\# API Reference
::: ejemploAsyncioAPI
- En mkdocs.yml:
site_name: Documentación de la aplicación
theme:
name: "material"
plugins:
- mkdocstrings
nav:
- Ćndice: index.md
- ejemploAsyncioAPImain.md
- ejemploAsyncioAPI.md
- Finalmente para construir la documentación utilizamos en primer lugar doctests:
cd docs python -m doctest ejemploAsyncioAPImain python -m doctest ejemploAsyncioAPI - Luego creamos la aplicación web con MKDocs:
mkdocs build mkdocs serve --dev-addr=0.0.0.0:8088
Ya podremos ir al navegador y abrir la dirección http://127.0.0.1:8088 para ver nuestra documentación.
Imagen de portada: Web de MKDocs Material
If you are looking for a trainer for a course or other training activity (webinar, workshops, bootcamps, etc.) in your organisation, you can find me through the contact page. Thank you very much.
If you liked the article you can help me by donating with cryptocurrencies. Thank you!!!


