vivianagomez_md-links

0.1.1 • Public • Published

Markdown Links

Índice


1. Preámbulo

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.

anchor-links-wordpress

2. Resumen del proyecto

En este proyecto se creo una herramienta de línea de comando (CLI) así como su propia librería.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, etc.

En esta oportunidad nos alejamos un poco del navegador para construir un programa que se ejecute usando Node.js, es un entorno de ejecución para JavaScript construido con el Node.js

3. Planificación del proyecto

El metodo para desarrollar el proyecto fue por medio de GitHub Projects, Issues y Milestones.

foto 6

Diagrama de flujo del proyecto

Diagrama MDLinks (2)

4. Paso a paso del proyecto

CLI (aplicación de línea de comandos).

Instalación. Dentro de tu terminal ejecuta el siguiente comando:

npm i vivianagomez_md-links

Inicar la libreria. Cuando se tenga la libreria instalada sera necesario proporcionar los datos en la terminal de la siguiente forma:

npx npm i vivianagomez_md-links [options]

Path (Url o Ruta relativa u absoluta).

Options a ejecutar (--validate, --stats, --validate --stats, solo la path).

En caso de se una ruta no encontrada o la ruta no fue proporcionada correctamente lanzara error.

Ingresos de opciones y resultados esperados.

  1. npx npm i vivianagomez_md-links Al ejecutar esta opción donde solo se proporciona la ruta la libreria solo enlistara los links encontrados. En caso de no encontrar ruta o no ser proporcionada conrrectamente lanzara error u ruta no encontrada.

foto 1

foto 2

  1. npx i vivianagomez_md-links --validate Al ejecutar esta opción el modulo hara una petición HTTP mostrando si los links encontrados funcionan o no. Si el link resulta en una redirección a una URL que responde ok, entonces consideraremos el link como funcional. Si el link resulta en una redirección a una URL que responde fail, entonces consideraremos el link como roto. Si no encuentra ningun archivo se lanzara error.

foto 3

3.npx i vivianagomez_md-links --stats Al ejecutar esta opción el output (salida) será un texto con estadísticas básicas sobre los links, donde se mostrara la cantidad de links encontrados y no repetidos. Si no encuentra ningun archivo se lanzara error.

foto 4

  1. npx i vivianagomez_md-links --validate --stats Al ejecutar esta opción el output (salida) será un texto con estadísticas básicas sobre los links, donde se mostrara la cantidad de links encontrados y no repetidos, ademas de analizar la cantidad de links rotos u no funcionales. Si no encuentra ningun archivo se lanzara error.

foto 5

5. Testeo del proyecto

Resultados de pruebas realizadas a las funciones puras.

foto7

6. 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 uso e 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).

Package Sidebar

Install

npm i vivianagomez_md-links

Weekly Downloads

0

Version

0.1.1

License

ISC

Unpacked Size

36.5 kB

Total Files

14

Last publish

Collaborators

  • vivianagomez