0.1.0 • Published 1 year ago

sadyscastro-md-links v0.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

Markdown Links

Índice


1. Preámbulo

  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.

  1. Resumen del proyecto En este proyecto encontraras Md-Links es una librería en JavaScript que maneja una interfaz de línea de comandos (CLI) y que tiene como fin extraer y validar los links que se encuentran dentro de archivos MarkDown (.md). En la cual se puede obtener datos basicos con respecto a los links encontrados como la cantidan total de links, el total de links unicos y el total de links rotos, dentro de los archivos.

  2. Diagramas de Flujo Diagrama de flujo

  1. Implementación de la librería Instalación npm i sadyscastro-md-links Importe la librería con require()

const {mdLinks} = require('sadyscastro-md-links'); 5. Consideraciones generales El proyecto consta de DOS partes 1) API mdLinks(path, options) Argumentos path: Ruta absoluta o relativa al archivo o directorio. options: Un objeto con únicamente las siguientes propiedades: validate: Booleano que determina si se desea validar los links encontrados. stats: Booleano que determina si se desea obtener un output con información estadística general. Valor de retorno Con validate:false se retorna:

href: URL encontrada. text: Texto que aparece dentro del link (). file: Ruta del archivo donde se encontró el link. Con validate:true se retorna:

href: URL encontrada. text: Texto que aparecía dentro del link (). 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("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); 2) CLI (Command Line Interface - Interfaz de Línea de Comando) md-links 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 hace 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 Vemos que el output en este caso incluye la palabra ok o fail después de la URL, así como el status de la respuesta recibida a la petición HTTP a dicha URL.

--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