/LIM17-md-links

Librería que permite obtener información de links dentro de archivos Markdown

Primary LanguageJavaScript

Markdown Links

Librería que lee los Links contenidos en archivos Markdown, verifica si los links están rotos o no son válidos y ofrece estadisticas de links totales y unicos.

Índice


1. Diagrama de Flujo

Diagrama de flujo

2. Instalación

Para su instalación se debe ejecutar

npm install md-links-y

3. Uso

API

La librería se debe importar de la siguiente manera:

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

La función retorna una promesa (Promise) que resuelva 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.

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.
  • statusText: Mensaje 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);

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 o -v, el módulo hacer una petición HTTP para averiguar si el link funciona o no.

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 o -s el output (salida) será un texto con estadísticas básicas sobre los links.

$ md-links ./some/example.md --stats
Total: 3
Unique: 3
--stats y --validate

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

4. Comandos

+--------------------+---------------------------------------------------------+
|      Comandos       |                       Descripción                      |
+--------------------+---------------------------------------------------------+
|  md-links ruta      | Muestra la ruta, enlace y el texto                     |
+---------------------+--------------------------------------------------------+
| --stats  -s  --s    | Muestra el los links totales y unicos                  |
+--------------------+---------------------------------------------------------+
| --validate  -v  --v | Muestra la ruta, el texto, enlace, status y el mensaje |
+--------------------+--------------------------------------------------------+
| --validate --stats  | Muestra los enlaces totales, unicos y rotos            |
| --stats --validate  |                                                        |
| -s -v, -v -s        |                                                        |
+---------------------+--------------------------------------------------------+
| --help    -h        | Muestra los comandos                                   |
+--------------------+---------------------------------------------------------+

5. Dependencias