Skip to content

Modulo instalable para desarrolladores que busca y valida links en archivos MD. Usa la interfaz de línea de comandos (CLI) y biblioteca para examinar archivos Markdown, la cual genera estadísticas y valida los enlaces encontrados usando peticiones HTTP

Notifications You must be signed in to change notification settings

YesicaChui/DEV004-md-links

 
 

Repository files navigation

Markdown Links

Índice


1. Introducción

En este proyecto se construyo una api para leer links de un archivo MD, y se uso la api desde un aplicación de terminal CLI para que nos de información adicional de cada link del archivo MD, la libreria esta disponible desde npm install.

2. Resumen del proyecto

En el primer Sprint se inicio con la primera versión del diagrama de flujo, en el segundo sprint se finalizo el diagrama de flujo y se realizo un caso ideal para usar la primera versión de la api desde el CLI, para usarlo sin options y con --stats mostrando la cantidad de link encontrados, en el 3er Sprint en el CLI se considera un segundo argumento options que puede tener el valor true o false, y en el CLI se considero --stats, --validate y --stats junto con --validate, en el 4to Sprint se considera la lectura de archivos de forma asincrona, información de la linea donde se encuentra el link encontrado en el archivo MD, se realizaron los test unitarios y se volvio modulo instalable con npm install

3. Diagramas de Flujo del Proyecto

Se realizaron dos diagramas de Flujo para el CLI y para la API para visualizar mejor lo que se tendría que hacer y planificar las tareas y objetivos.

  • Diagrama de Flujo de la API

Imagen Diagrama de Flujo de API

  • Diagrama de Flujo del CLI

Imagen Diagrama de Flujo del CLI

4. Planificación Github Project

  • Sprint 1

Imagen de Sprint1

  • Sprint 2

Imagen de Sprint2_1

Imagen de Sprint2_2

  • Sprint 3

Imagen de Sprint3_1

Imagen de Sprint3_2

Imagen de Sprint3_3

  • Sprint 4

Imagen de Sprint4_1

Imagen de Sprint4_2

  • Github Project

Imagen de Github Project

5. Interfaz del CLI

  • Usando md-links sin options

Imagen de Usando md-links sin options

  • Usando md-links con options --validate

Imagen de Usando md-links con options --validate

  • Usando md-links con options --stats

Imagen de Usando md-links con options --stats

  • Usando md-links con options --stats --validate

Imagen de Usando md-links con options --stats --validate

  • Usando md-links con ruta de directorio

Imagen de Usando md-links con ruta de directorio

6. Documentación tecnica de la libreria

La libreria (API) se puede usar con el siguiente formato

mdLinks(path, options)

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 retorna una promesa (Promise) que resuelve 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.
  • line: Arreglo de lineas 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: Mensaje fail en caso de fallo u ok en caso de éxito.
  • line: Arreglo de lineas donde se encontró el link.

Ejemplo de resultados

  • Usando mdLinks con validate false

Imagen de Usando mdLinks con validate false codigo

Imagen de Usando mdLinks con validate false resultados

  • Usando mdLinks con validate true

Imagen de Usando mdLinks con validate true codigo

Imagen de Usando mdLinks con validate true resultados

7. Test Unitario y Asincronos

Imagen de Test Unitario y Asincronos

Imagen de  Test Unitario y Asincronos fin

8. Guia de Instalación

Para su intalación es necesario poner en la terminal

  • npm install YesicaChui/DEV004-md-links

9. Checklist

General

  • [ x ] Puede instalarse via npm install --global <github-user>/md-links

README.md

  • [ x ] Un board con el backlog para la implementación de la librería.
  • [ x ] Documentación técnica de la librería.
  • [ x ] Guía de instalación de la librería

API mdLinks(path, opts)

  • [ x ] El módulo exporta una función con la interfaz (API) esperada.
  • [ x ] Implementa soporte para archivo individual
  • [ x ] Implementa soporte para directorios
  • [ x ] Implementa options.validate

CLI

  • [ x ] Expone ejecutable md-links en el path (configurado en package.json)
  • [ x ] Se ejecuta sin errores / output esperado
  • [ x ] Implementa --validate
  • [ x ] Implementa --stats

Pruebas / tests

  • [ x ] Pruebas unitarias cubren un mínimo del 70% de statements, functions, lines, y branches.
  • [ x ] Pasa tests (y linters) (npm test).

10. Referencias

About

Modulo instalable para desarrolladores que busca y valida links en archivos MD. Usa la interfaz de línea de comandos (CLI) y biblioteca para examinar archivos Markdown, la cual genera estadísticas y valida los enlaces encontrados usando peticiones HTTP

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%