1.1.0 • Published 11 months ago

angyrin-md-links v1.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

Markdown Links

Índice


1. Resumen del proyecto

Este proyecto es una herramienta que hace uso de Node.js, para leer y analizar archivos en formato Markdown, y verificar los links que contengan y reportar algunas estadísticas.

Incluye una línea de comando (CLI) así como una librería en JavaScript.

2. Instrucciones de uso

La libreria se puede instalar via

npm i angyrin-md-links

En cambio, para instalar la linea de comando de forma global

npm i -g angyrin-md-links

1) Libreria

mdLinks(path, options)

Argumentos
  • path: Ruta absoluta o relativa al archivo o directorio. Si la ruta pasada es relativa, se resolvera como relativa al directorio.
  • options: Un objeto con únicamente la siguiente propiedad:
    • validate: Booleano que determina si se desea validar los links encontrados.

Con validate:false :

  • href: URL encontrada.
  • text: Texto de la URL.
  • file: Ruta del archivo donde se encontró el link.

Con validate:true :

  • href: URL encontrada.
  • text: Texto de la URL.
  • 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.

Ejemplo (resultados como comentarios)

const mdLinks = require("angy-md-links");

mdLinks("./some/example.md")
  .then(links => {
    // => [{ href, text, file }, ...]
  })
  .catch(console.error);

mdLinks("./some/example.md", { validate: true })
  .then(links => {
    // => [{ href, text, file, status, ok }, ...]
  })
  .catch(console.error);

2) CLI (Command Line Interface - Interfaz de Línea de Comando)

Puede ejecutarse de la siguiente manera a través de la terminal:

md-links <path-to-file> [options]

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

Options

--validate

Si pasamos la opción --validate, el módulo debe hacer una petición HTTP 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
--stats

Si pasamos la opción --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 --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

3. Proceso de desarrollo

Este proyecto se abordo mediante la especificación del proceso mediante un diagrama de flujo, tanto de la API como de la CLI.

Diagrama de Flujo

1.1.0

11 months ago

1.0.0

11 months ago

0.3.0

11 months ago