astridtimana-md-links

0.1.3 • Public • Published

Markdown Links

Índice


1. Preámbulo

Markdown es un lenguaje de marcado ligero muy popular entre developers. Es usado en muchs 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.

2. Resumen del proyecto

El proyecto MDLinks crea una librería usando Node JS, que lee y analiza archivos en formato Markdown, para verificar los links que contengan y reportar algunas estadísticas, así como una herramienta de línea de comando (CLI).

MDLinks Logo

2.1. Diagramas de Flujo

A. API

API de MD-Links

B. CLI

CLI de MD-Links

3. Guía de Uso

Para la instalación, usar el siguiente comando:

npm i astridtimana-md-links

El ejecutable de la aplicación se ejecuta de la siguiente manera a través de la terminal:

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

Options

--stats

Si pasamos la opción '-s' o '--stats', el output (salida) será un texto con estadísticas básicas sobre los links.

$ md-links ./some/example.md --stats

Por ejemplo:

Stats example

--validate

Si pasamos la opción '--validate' o '-v' o 'validate link', 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.

$ md-links ./some/example.md --validate

Por ejemplo:

validate Example

--statsValidate

También podemos combinar --stats y --validate o pasarla opción '-a' para obtener estadísticas que necesiten de los resultados de la validación.

$ md-links <path-to-file> --stats --validate

Por ejemplo:

StatsValidate example

No Option

Si no se ingresa una opción, por default se identifica al archivo markdown (a partir de la ruta que recibe como argumento), analiza , e imprimevlos links que vaya encontrando, junto con la ruta del archivo donde aparece y el texto que hay dentro del link (truncado a 50 caracteres).

$ md-links <path-to-file>

Por ejemplo:

No Option example

--help

Si se desea conocer los comandos a usar, se debe ingresar elcomando '-h' o '--help' (sin ingresar el 'path') , de la siguiente forma:

$ md-links --help

Por ejemplo:

Help example

4. Objetivos de Aprendizaje

JavaScript

Node

Testing

Estructura del código y guía de estilo

Git y GitHub

HTTP

Fundamentos de programación

5. 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.
  • [ ] 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 astridtimana-md-links

Weekly Downloads

1

Version

0.1.3

License

MIT

Unpacked Size

147 kB

Total Files

13

Last publish

Collaborators

  • astridtimana