md-links-sgyg
v1.0.3
Published
Tool to extract links, validate and get stats from them given an md file
Downloads
2
Maintainers
Readme
Markdown Links Extractor
Índice
1. Objetivo
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 como links totales, únicos y rotos.
Esta herramienta se ejecuta con una línea de comando (CLI) que permite dar acceso a la librería o paquetería en Javascript.
2. Diagrama de flujo
Se creó un diagrama de flujo donde se juntan los procesos a seguir en la API y en el CLI para cumplir con el objetivo del proyecto. Adicionalmente, en distinto formato, se inserta una post note donde se describen igualmente los pasos pensando en el/la usuaria.
3. Objetivos de aprendizaje
JavaScript
Node.js
Control de Versiones (Git y GitHub)
HTTP
Jest
4. Descripción del módulo
Instalación
Documentación del API
mdLinks(path, {options})
Parámetros
path: el nombre del path del archivo en formato markdown donde se encuentran los links o directorio que contiene archivos markdown en string ej. './pathTo'
options: las opciones válidas puestas al lado del path que devuelven un booleano (true/false) son las siguientes:
--validate para validar los links imprimiendo en consola el statusCode del HTTP request más un mensaje de 'ok' si el link tiene un statusCode de '200' o 'fail' si el link tiene un statusCode diferente a '200'.
--stats para imprimir en consola el número total de links y el número total de links únicos o no repetidos.
--validate --stats que combina el retorno de la opción --validate junto con el de --stats imprimiendo además el número total de links rotos.
Ejemplos
Después de haber instalado la paquetería, en el package.json file se verá de esta manera:
Creación de archivo de prueba Se crea un archivo con extensión md de prueba en cuyo contenido vienen links para validar a forma de ejemplo.
Llamar la función mdLinks importada por npm Con la función importada se crea otra función que usará mdLinks con los parámetros necesarios: el path(file o folder) y la opcion { validate:false } en este caso.
Lo que se verá como resultado será una promesa con el href, file y text correspondientes a cada link:
Con la opción { validate:true } se agregará a la promesa la petición a http con el statusCode y el statusMessage. Será statusCode:200 y statusMessage 'ok' si el link es correcto; statusCode:'NA' y statusMessage 'fail' si el link presenta algún fallo o error.
5. Tutoriales
NodeSchool workshoppers
Otros recursos
- Acerca de Node.js - Documentación oficial
- Node.js file system - Documentación oficial
- Node.js http.get - Documentación oficial
- Node.js - Wikipedia
- What exactly is Node.js? - freeCodeCamp
- ¿Qué es Node.js y para qué sirve? - drauta.com
- ¿Qué es Nodejs? Javascript en el Servidor - Fazt en YouTube
- ¿Simplemente qué es Node.js? - IBM Developer Works, 2011
- Node.js y npm
- Módulos, librerías, paquetes, frameworks... ¿cuál es la diferencia?
- Asíncronía en js
- NPM
- Publicar packpage
- Crear módulos en Node.js
- Leer un archivo
- Leer un directorio
- Path
- Linea de comando CLI