marcelacoronelp-md-links

1.0.1 • Public • Published

Markdown Links

Aplicación que permite extraer los links de un archivo Markdown , validar su estado y mostrar estadísticas como links OK, únicos y broken.

1. Diagrama de Flujo

Diagrama de Flujo

2. Instalación

npm i marcelacoronelp-md-links

3. Uso

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

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

El ejecutable de nuestra aplicación debe poder ejecutarse de la siguiente manera a través de la terminal:

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

Options

Si se ejecuta sin pasar opciones se obtendrá información de cada link encontrado. [{ href, text, file }]

links

--validate

Si pasamos la opción --validate, realiza 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.

Ejemplo: validate

--stats

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

stats

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

validate-stats

4. Objetivos de aprendizaje

Diseñar tu propia librería es una experiencia fundamental para cualquier desarrollador porque que te obliga a pensar en la interfaz (API) de tus módulos y cómo será usado por otros developers. Debes tener especial consideración en peculiaridades del lenguaje, convenciones y buenas prácticas.

A continuación puedes ver los objetivos de aprendizaje de este proyecto:

JavaScript

  • [X] Uso de condicionales (if-else | switch | operador ternario)
  • [X] Uso de funciones (parámetros | argumentos | valor de retorno)
  • [X] Manipular arrays (filter | map | sort | reduce)
  • [X] Manipular objects (key | value)
  • [X] Uso ES modules (import | export)
  • [X] Diferenciar entre expression y statements.
  • [ ] Diferenciar entre tipos de datos atómicos y estructurados.
  • [ ] Uso de callbacks.
  • [ ] Consumo de Promesas.
  • [ ] Creación de Promesas.

Node

Testing

Estructura del código y guía de estilo

  • [ ] Organizar y dividir el código en módulos (Modularización)
  • [X] Uso de identificadores descriptivos (Nomenclatura | Semántica)
  • [ ] Uso de linter (ESLINT)

Git y GitHub

  • [X] Uso de comandos de git (add | commit | pull | status | push)
  • [ ] Manejo de repositorios de GitHub (clone | fork | gh-pages)
  • [ ] Colaboración en Github (branches | pull requests | |tags)
  • [ ] Organización en Github (projects | issues | labels | milestones)

HTTP

Fundamentos de programación

5. Checklist

General

  • [ ] Puede instalarse via npm install --global <github-user>/md-links

README.md

  • [ ] Un board con el backlog para la implementación de la librería.
  • [ ] Documentación técnica de la librería.
  • [ ] Guía de uso e instalación de la librería

API mdLinks(path, opts)

  • [ ] 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)
  • [ ] 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).

Npm test test

Coverage coverage

Package Sidebar

Install

npm i marcelacoronelp-md-links

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

648 kB

Total Files

26

Last publish

Collaborators

  • marcelacoronelp