1.3.0 • Published 5 years ago

mahalirobles-mdlinks v1.3.0

Weekly downloads
5
License
ISC
Repository
github
Last release
5 years ago

Markdown Links

Diagrama de flujo

Sin titulo

Pseudocodigo

FunciónIngresaProcesoSalida
1. evaluatePathRuta (string)Utilizar método path.isAbsolute para reconocer si la ruta es absolutatrue/false (booleano)
2. transformToAbsPathRuta (string)Utilizar método path.resolve para convertir ruta relativa a absolutaRuta absoluta (string))
16. recognizeIfIsFileRuta absoluta (string)Utilizar método fs.lstat.isFile para reconocer si es archivotrue/false (booleano)
13. getFilesRuta absoluta (string)Obtener todos los archivosArray con las rutas de todos los archivos(array)
3. getMDContentRuta absoluta MD (string)Obtener contenido del archivo markdown utilizando la libreria fs.readFile (con UTF)Contenido(string)
5. convertMDToHtmlContenido (string)Usar librería Marked para convertir contenido a HTMLContenido HTML(string)
7. extractATagAttrHTML (string)Utilizar librería JSDOM para obtener href y contenido de los link.Informacion de los link(objeto)
8. createArrLinkObjInformacion de los link(objeto)Crear array, meter objeto a array.Array con informacion de links dentro de objeto(array)
9. extractHrefArray con objetos(array)Extraer href de cada objeto y guardarlo en un nuevo arrayArray con href de cada link(array)
10. validateLinkArray con href de cada link(array)Utilizar node-fetch para evaluar hrefArray con status de cada link(array)
12. calculateStatsArray con links o Array con links validados (array)Calcular total de links, unicos, y rotos.total, unique y broken (objeto)

Product Backlog

Sin titulo

Documentación técnica

El propósito de esta librería es que el usuario pueda obtener los links que se encuentran dentro de archivos markdown, ya sea ingresando la ruta de un archivo markdown o de carpetas que contengan archivos markdown, también brinda la opcion para verificar el status de cada link y obtener estadisticas como el total de links, cuantos son únicos o no se repiten y cuantos estan rotos.

Instalación

Para instalar esta librería tienes que ejecutar el siguiente comando:

npm i mahalirobles-mdlinks

Uso en línea de comandos

Hay cuatro opciones:

  1. Para obtener los links, ingresar md-links y la ruta del archivo o directorio.
$ md-links ./some/example.md
./some/example.md http://algo.com/2/3/ Link a algo
./some/example.md https://otra-cosa.net/algun-doc.html algún doc
./some/example.md http://google.com/ Google
  1. Para obtener los links y saber su status (si esta bien o roto), ingresar md-links, ruta del archivo o directorio y la opcion --validate.
$ md-links ./some/example.md --validate
./some/example.md http://algo.com/2/3/ ok 200 Link a algo
./some/example.md https://otra-cosa.net/algun-doc.html fail 404 algún doc
./some/example.md http://google.com/ ok 301 Google
  1. Para obtener el total de links y cuantos no se repiten, ingresar md-links, ruta del archivo o directorio y la opcion --stats.
$ md-links ./some/example.md --stats
Total: 3
Unique: 3
  1. Para obtener el total de links, cuantos no se repiten y cuantos estan rotos, ingresar md-links, ruta del archivo o directorio y las opciones --validate --stats.
$ md-links ./some/example.md --validate --stats
Total: 3
Unique: 3
Broken: 1

Uso como API

let mdLinks = require('mahalirobles-mdlinks')

Hay dos opciones:

  1. Para obtener un array con los links, ingresar mdLinks y la ruta del archivo o directorio, la ruta puedes ser absoluta o relativa.
mdLinks(./some/example.md)
.then(links => {
  // => [{ href, text, file }]
  })
.catch(console.error);
  1. Para obtener un array con los links indicando su status (si esta bien o roto), ingresar md-links, ruta del archivo o directorio y la opcion {validate:true}
mdLinks(./some/example.md, {validate:true})
.then(links => {
    // => [{ href, text, file, status, ok }]
  })
.catch(console.error);
1.3.0

5 years ago

1.2.0

5 years ago

1.0.0

5 years ago