UNPKG

jofontea-md-links

Version:

Librería para extraer enlaces de archivos Markdown y realizar diversas operaciones con estos

74 lines (49 loc) 2.76 kB
# **HITO 4:** - Interfaz de Línea de Comando (CLI) En este hito, crearás un Interfaz de Linea de Comando (CLI), un script ejecutable que internamente ejecutará la función `mdLinks` que acabas de crear. Este módulo debe incluir tanto un ejecutable que podamos invocar en la línea de comando como una interfaz que podamos importar para usarlo programáticamente. El ejecutable de tu aplicación debe poder correr de la siguiente manera a través de la terminal: ```shell `md-links <path-to-file> [options]` ``` Por ejemplo: ![mdlinks-example](https://github.com/Laboratoria/curriculum/assets/123121338/7dcc83c4-873e-4ef8-b7d0-a15adb102680) El comportamiento por defecto no debe validar si las URLs responden ok o no, solo debe identificar el archivo Markdown (a partir de la ruta que recibe como argumento), analizar el archivo Markdown e imprimir los links que vaya encontrando, junto con la ruta del archivo donde aparece y el texto que hay dentro del link (truncado a 50 caracteres). ## 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: ![mdlinks-example-validate](https://github.com/Laboratoria/curriculum/assets/123121338/502cbafc-b4ac-4734-85b3-1734f67af1d3) 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. ![mdlinks-example-stats](https://github.com/Laboratoria/curriculum/assets/123121338/910720c6-aa3f-4d08-b076-c1add13c95f1) También podemos combinar `--validate` y `--stats` para obtener estadísticas que necesiten de los resultados de la validación. ![mdlinks-example-stats-validate](https://github.com/Laboratoria/curriculum/assets/123121338/9d9971a0-866a-4c64-a890-4c62c3df3700) Para ejecutar tu script utilizando el comando `mdlinks`, debes vincular este comando al sistema. Sin embargo, antes de vincular el comando, puedes desarrollar tu interfaz de línea de comandos (CLI) invocándola con node. Por ejemplo, puedes usar el siguiente comando: ```shell node <RUTA_DE_TU_CLI.js> ruta options ``` Este paquete deberá estar documentado en un repositorio público con un `package.json` para poderlo instalar con [NPM](https://www.npmjs.com/). La instalación sería de la siguiente manera: ```shell npm install `<github-user>/md-links`. ``` [👈Todos los hitos](../README.md#6-hitos)