0.1.0 • Published 11 months ago

md-links-gabiestefany24 v0.1.0

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

md-Links

Índice


1. Descripción

El proyecto md-Links esta enfocado en la creación de una libreria en JavaScript y línea de comando (CLI), desarrollados para analizar archivos en formato Markdown, extraer los links que contienen y con esto contabilizar algunos datos como el total de links, links únicos y rotos.

Esta herramienta se creó usando Node.js filesystem y Axios. Por medio de Diagramas de flujo se estudió el proceso tanto para la libreria como de la CLI

2. Instalación y usos

Instalación

Utilizar en la terminal el comando

npm install md-links-gabiestefany24

Uso de la libreria en JavaScript

mdLinks(path, options)

Argumentos
  • path: Ruta absoluta o relativa al archivo o directorio. Si la ruta pasada es relativa, debe resolverse 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 que aparecía dentro del link.
  • 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.
  • message: fail en caso de fallo u ok en caso de éxito.

Ejemplo (resultados como comentarios)

const mdLinks = require("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);

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

Uso de la línea de comando (CLI)

Puede ejecutarse en 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
0.1.0

11 months ago