Markdown es un lenguaje de marcado
ligero muy popular entre developers. Es usado en muchísimas plataformas que
manejan texto plano (GitHub, foros, blogs, ...) y es muy común
encontrar varios archivos en ese formato en cualquier tipo de repositorio
(empezando por el tradicional README.md).
Estos archivos Markdown normalmente contienen links (vínculos/ligas) que
muchas veces están rotos o ya no son válidos y eso perjudica mucho el valor de
la información que se quiere compartir.
El proyecto MD-links es una herramienta de línea de comandos desarrollada en JavaScript que permite analizar y validar links en archivos Markdown. La herramienta recorre los archivos Markdown en una carpeta y verifica la validez de los links encontrados en ellos. También puede generar estadísticas y reportes sobre los links, como el número de links encontrados y el número de links rotos.

Flowchart
Es necesario tener una versión reciente de node.js instalada.
En tu terminal instalas la librería por npm con el siguiente comando:
npm install git@github.com:CarolynYQ/MD-links.git
Si deseas instalarlo como una dependencia:
npm install --save --dev git@github.com:CarolynYQ/MD-links.git
Solo ruta
cyq-mdlinks ruta/a/analizar
kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\draft.md
[
{
href: 'https://www.universia.net/es/home.html',
text: 'Universia',
file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md',
},
]Ruta y validación
cyq-mdlinks ruta/a/analizar --validate
kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\draft.md --validate
[
{
href: 'https://www.universia.net/es/home.html',
text: 'Universia',
file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md',
status: 200,
OK: 'ok'
},
]Ruta y estados
cyq-mdlinks ruta/a/analizar --status
kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\draft.md --status
[
{
href: 'https://www.universia.net/es/home.html',
text: 'Universia',
file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md',
},
]
{ Total: 1, Unique: 1, Broken: 0 }Ruta, validación y estados
cyq-mdlinks ruta/a/analizar --validate --status
kingk@DESKTOP-H8RBQC8 MINGW64 ~/Laboratoria/MD-links cyq-mdlinks .src\\sample\\draft.md --validate --status
[
{
href: 'http://aSinglepage.net/',
text: 'asinglepage',
file: 'C:\\Users\\kingk\\Laboratoria\\MD-links\\src\\sample\\draft.md',
status: null,
OK: 'fail'
},
]
{ Total: 1, Unique: 1, Broken: 1 }| path | --stats | --validate | Resultado |
|---|---|---|---|
| ✔ | ✖ | ✔ | Solo ruta ---> href, text y file |
| ✔ | ✖ | ✔ | Ruta & validate ----> href, text, file, status y OK |
| ✔ | ✔ | ✖ | Ruta & stats ----> href, text, file y # de links totales, únicos y rotos |
| ✔ | ✔ | ✔ | Ruta & validate & stats ----> href, text, file, status, OK y # de links totales, únicos y rotos |
Las funcionalidades para implementar a futuro son los siguientes issues
Este trabajo fue creado con 💛 gracias a la colaboración de Carolyn Yaker
