md-links-tata v0.1.0
"md-links-tata"
El presente proyecto es una librería de línea de comando ejecutable que se puede usar para buscar archivos de tipo markdown, verificando si dentro de ellos existen links. La librería muestra los links, en caso de existir; además, cuenta con dos opciones, que son: validar el estado en que estos se encuentran los links, y brindar información sobre cuantos links totales, únicos y rotos se han encontrado.
Node.js es un entorno de ejecución para JavaScript construido con el motor de JavaScript V8 de Chrome. Esto nos va a permitir ejecutar JavaScript en el entorno del sistema operativo, ya sea tu máquina o un servidor, lo cual nos abre las puertas para poder interactuar con el sistema en sí, archivos, redes, ...
Librería
Sintaxis
md-links <path> [options]
cli | Description |
---|---|
md-links | Required. md-links-tata |
Instalación
Ejecute en su terminal el siguiente comando npm i md-links-tata
Guía de uso
Ingrese en su terminal la línea de comando 'md-links', luego ingrese la ruta y si desea más información puede escoger alguna opción.
md-links <path> [options]
Para obtener ayuda ejecute el comando md-links --help
Diagrama de flujo
Argumentos
path
: Ruta absoluta o relativa al archivo o directorio. Si la ruta pasada es relativa, se resuelve como relativa al directorio desde donde se invoca node - current working directory).options
: Un objeto con únicamente la siguiente propiedad:validate
: Booleano que determina si se desea validar los links encontrados.
Valor de retorno
La función debe retornar una promesa (Promise
) que resuelva a un arreglo
(Array
) de objetos (Object
), donde cada objeto representa un link y contiene
las siguientes propiedades
Con validate:false
:
href
: URL encontrada.text
: Texto que aparecía dentro del link (<a>
).file
: Ruta del archivo donde se encontró el link.
Con validate:true
:
href
: URL encontrada.text
: Texto que aparecía dentro del link (<a>
).file
: Ruta del archivo donde se encontró el link.status
: Código de respuesta HTTP.ok
: Mensajefail
en caso de fallo uok
en caso de éxito.
CLI (Command Line Interface - Interfaz de Línea de Comando)
El ejecutable de nuestra aplicación puede ejecutarse de la siguiente manera a través de la terminal:
Por ejemplo:
$ 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
El comportamiento por defecto no valida si las URLs responden ok o no, solo identifica el archivo markdown (a partir de la ruta que recibe como argumento), analiza el archivo Markdown e imprime los links que vaya encontrando, junto con la ruta del archivo donde aparece y el texto que hay dentro del link.
Options
--validate
Si pasamos la opción --validate
o --v
, el módulo hace una petición HTTP, usando axios, 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.
Por ejemplo:
$ 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
Vemos que el output en este caso incluye la palabra ok
o fail
después de
la URL, así como el status de la respuesta recibida a la petición HTTP a dicha
URL.
--stats
Si pasamos la opción --s
o --stats
el output (salida) será un texto con estadísticas
básicas sobre los links.
$ md-links ./some/example.md --stats
Total: 3
Unique: 3
También podemos combinar --s
y --v
o --stats
y --validate
para obtener estadísticas que
necesiten de los resultados de la validación.
$ md-links ./some/example.md --stats --validate
Total: 3
Unique: 3
Broken: 1
Demo
Opción validar estado de links
Opción para ver valores totales, únicos y rotos de links
Ingresar una ruta sin escoger opciones
Autora
2 years ago