cloiw-md-links
v0.4.3
Published
Markdown project
Readme
Markdown Links
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.
Dentro de una comunidad de código abierto, nos han propuesto crear una
herramienta usando Node.js, que lea y analice archivos
en formato Markdown, para verificar los links que contengan y reportar
algunas estadísticas.
Instrucciones
Para instalar utilizar el siguiente comando en la terminal:
npm install cloiw-md-linksJavaScript API
mdLinks(path, options)
Argumentos
path: Ruta absoluta o relativa al archivo o directorio.options: Un objeto con las siguientes propiedades:validate: Booleano que determina si se desea validar los links encontrados.stats: Booleano que determina si se desea ver estadisticas de los links.
Valor de retorno
La función retorna una promesa (Promise) que resuelve a un arreglo (Array) de objetos (Object), donde cada objeto representa un link y contiene las siguientes propiedades:
- href: URL encontrada.
- text: Texto que aparecía dentro del link
- file: Ruta del archivo donde se encontró el link.
const mdLinks = require('cloiw-md-links');
mdLinks.mdLinks('./test_folder',{validate:false,stats:false})
.then(res => {
// => [{ href, text, file }]
}).catch(err=>{
console.log(err)
})
mdLinks.mdLinks('./test_folder',{stats:true}).then(res => {
// => {total,unique}
}).catch(err=>{
console.log(err)
}) CLI (Command Line Interface - Interfaz de Línea de Comando)
md-links <path-to-file> [options]
$ md-links ./test/md-files-test/test-file-1.md
./test/md-files-test/test-file-1.md https://es.wikipedia.org/wiki/Markdown Markdown
./test/md-files-test/test-file-1.md https://es.wikipedia.org/wiki/Markdown Markdown
./test/md-files-test/test-file-1.md https://docs.npmjs.com/getting-started/what-is-npm NPMOptions
--validate
Si pasamos la opción --validate, el módulo hace una petición HTTP para
averiguar si el link funciona o no. Si el link resulta en una redirección a una
URL que responde ok, entonces consideraremos el link como ok.
$ md-links ./test/md-files-test/test-file-1.md --validate
./test/md-files-test/test-file-1.md https://es.wikipedia.org/wiki/Markdown Markdown 200 OK
./test/md-files-test/test-file-1.md https://es.wikipedia.org/wiki/Markdown Markdown 200 OK
./test/md-files-test/test-file-1.md https://docs.npmjs.com/getting-started/what-is-npm NPM 200 OK--stats
Si pasamos la opción --stats el output será un texto con el total de links y el total de links únicos.
$ md-links ./test/md-files-test/test-file-1.md --stats
Total Links: 3
Unique Links: 2--stats --validate
También podemos combinar --stats y --validate para obtener la cantidad de links buenos y rotos.
$ md-links ./test/md-files-test/test-file-1.md --stats --validate
Total Links: 3
Ok Links: 3
Broken Links: 0