Cómo conectar MkDocs con GitHub y controlar los cambios de tu documentación

Publicada:

Ya te he contado cómo montar tu web estática de manera sencilla con MkDocs, pero ahora vamos un paso más allá: vamos a conectar esa web, tus documentos .md con un repositorio de GitHub para llevar un control de cambios de tu documentación. Es muy sencillo.

Instalamos Git en nuestro ordenador

¿Pasos previos? Tienes que tener instalado Git en tu ordenador. En macOS lo he instalado gracias a homebrew:

brew install git

Pero en Windows o Linux puedes hacerlo también de manera sencilla: En Windows descargas la última versión desde aquí y la instalas. En Linux puedes usar apt-get install git (Ubuntu y Debian) o dnf install git (Fedora).

Creamos un repositorio en Github para nuestro proyecto

Una vez instalado Git en tu ordenador, solo tienes que ir hasta la carpeta donde tengas instalado tu proyecto de MKDocs e iniciar tu proyecto Git en local. ¡Ojo! Date de alta en GitHub y crea tu primer repositorio en https://github.com/new. Ponle el nombre que quieras y luego decide si quieres hacerlo público o privado. Empieza con Privado si estás montando tu proyecto.

Repositorio en Github de AEM

En cuanto le das a crear, te va a salir la siguiente pantalla con todas las opciones que tienes que poner en el terminal de tu ordenador para conectarte a este repositorio online y subir tu web a GitHub.

Solamente tienes que poner estas instalaciones en orden para que funcionen y se conecten. Puedes elegir entre conectarte mediante HTTPS o mediante SSH (si tienes configuradas las claves SSH en tu ordenador y en GitHub). Todas estas órdenes hay que ejecutarlas desde la línea de comandos en la carpeta donde estés tu proyecto de MkDocs.

Conectamos nuestro proyecto local con el repositorio online

Mediante HTTPS (con tu clave). Puedes hacerlo directamente:

echo "# algoentremanos" >> README.md
git init
git config user.name "Tu nombre"            
git config user.email "tu email"
git add .
git commit -m "first commit"
git branch -M main
git remote add origin [email protected]:tu_usuario/tu_repositorio.git
git push -u origin main

Mediante SSH (con una clave SSH que hay que crear). Tienes que pasar antes al paso siguiente:

echo "# algoentremanos" >> README.md
git init
git config user.name "Tu nombre"            
git config user.email "tu email"
git add .
git commit -m "first commit"
git branch -M main
git remote add origin [email protected]:tu_usuario/tu_repositorio.git
git push -u origin main

En los dos casos vas a tener que autenticarte. Te recomiendo que des de alta las claves SSH en GitHub pinchando en la foto de tu perfil arriba a la derecha > Settings > SSH ang GPG Keys:

Creando SSH Key en Github

En esa Key en GitHub tienes que poner la clave pública de la SSH Key que hayas creado en tu ordenador tal y como indican en https://docs.github.com/es/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account. ¿Cómo la generas en tu ordenador? Yo lo he hecho con 1Password, pero puedes hacerlo desde la línea de comandos: https://docs.github.com/es/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent y poner la clave privada con contraseña en tu agente SSH.

Para probar la conexión, puedes poner el siguiente comando en tu ordenador:

ssh -T [email protected]

En cuanto termines de poner git push -u origin main, todos los documentos de tu proyecto MkDocs se subirán a tu nuevo repositorio de GitHub. Así de sencillo.

Cuando vayas a hacer cambios en tu documentación local, puedes poner lo siguiente para que se suban online a GitHub:

git status
git add .
git commit -m "Actualización en la documentación de MkDocs"
git push origin main

¿Qué podemos añadir a Mkdocs para que tenga en cuenta nuestro repositorio de GitHub en su plantilla (con el tema Material)? Estos dos plugins, para que aparezcan la persona que ha creado la documentación y cuándo se han subido los documentos y los últimos cambios (https://squidfunk.github.io/mkdocs-material/setup/adding-a-git-repository/).

pip install mkdocs-git-revision-date-localized-plugin
pip install mkdocs-git-authors-plugin

Y en el tema de tu web con Material, te aparecerá algo así:

Mkdocs Material y GitHub: muestra la fecha de cambios y el autor del git.

¡Ojo! Si quieres publicar tu web MkDocs con Material en las páginas gratuitas de GitHub, puedes hacerlo con GitHub Actions. Está todo explicado en https://squidfunk.github.io/mkdocs-material/publishing-your-site/. Yo no lo he hecho, porque las publico en mi propio servidor. Hay guías para hacerlo en Cloudflare, Netlify y muchos otros sitios. Las oportunidades son infinitas.

Github, Obsidian y MkDocs

¿Estás usando como yo Obsidian para gestionar la documentación de MkDocs? Pues entonces puedes instalar el plugin Obsidian Git, para gestionar las subidas de documentación y sincronización desde la interfaz de Obsidian. Si ya has realizado los pasos anteriores, la instalación de este plugin y puesta en marcha es sencilla.

Plugin Obsidian Git para subir tus documentos a Github.

Desde la barra derecha de Obsidian, vas a poder sincronizar toda tu documentación. Es muy cómodo.

¿Qué opciones estás usando tú? Me gustaría saberlo.


Descubre más desde algoentremanos.com

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Foto del autor

Ivan Benito

Apasionado de la lectura y los viajes, experto en tecnología e informática y fan de la privacidad online. Desde el año 2007 me he dedicado al SEO, a escribir y a crear páginas web con WordPress sobre todo tipo de temáticas. Si tienes alguna duda y necesitas ayuda... ¡Pregúntame!

Si tienes preguntas, quieres que hagamos una review de una app, programa o producto, simplemente mándanos un e-mail mediante nuestro formulario de contacto. Te contestaremos en el menor tiempo posible. ¡Muchas gracias y salU2! Algoentremanos realiza reviews de manera profesional y en muchas ocasiones recibimos compensación de las compañías cuyos productos revisamos. Probamos cada producto a fondo y otorgamos altas calificaciones solo a los mejores. La propiedad de Algoentremanos.com es independiente y las opiniones expresadas aquí son solo nuestras. Algunos enlaces del artículo son afiliados: pueden generar un beneficio a algoentremanos.com. Saber más.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.