{"_id":"@danielaestefania19/md-links","name":"@danielaestefania19/md-links","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.2":{"name":"@danielaestefania19/md-links","version":"0.1.2","description":"Una librería para extraer y analizar enlaces de archivos Markdown.","scripts":{"start":"node ./index.js","test":"jest --coverage"},"dependencies":{"axios":"^1.5.0","debug":"^4.3.4","node-fetch":"^2.6.5","path":"^0.12.7","yargs":"^17.7.2"},"devDependencies":{"jest":"^29.6.4"},"main":"index.js","directories":{"test":"test"},"author":{"name":"Daniela Castellano","email":"danielacastellano1000@gmail.com","url":"https://github.com/danielaestefania19/DEV008-md-links"},"license":"ISC","engines":{"node":">=16.x"},"gitHead":"5017fcb9a902fda72e3cbd7c8646c8e3d37abd0f","_id":"@danielaestefania19/md-links@0.1.2","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-4nqWR5b9zvADm5lU9zx7aeJ1MO12qa5Y9nkIaaP9l8nfVUjRLZzlET80VKlNuwMLy3C0KSNH+9Jx6Pc3PEIh/w==","shasum":"5dba8f3d9dea3c739caa699c26027f1757112af1","tarball":"https://registry.npmjs.org/@danielaestefania19/md-links/-/md-links-0.1.2.tgz","fileCount":19,"unpackedSize":47349,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGBAIHaQQu5le6PiAgqKsuF0qFEhJwtUDWAcjZeZwVweAiAssgPGaJSqW1sRaVW6vWODzQ4adhD0XL2ptI7baFkm6w=="}]},"_npmUser":{"name":"danielaestefania19","email":"danielacastellano1000@gmail.com"},"maintainers":[{"name":"danielaestefania19","email":"danielacastellano1000@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/md-links_0.1.2_1693249671648_0.9888607698207665"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-28T19:07:51.571Z","0.1.2":"2023-08-28T19:07:51.809Z","modified":"2023-08-28T19:07:52.127Z"},"maintainers":[{"name":"danielaestefania19","email":"danielacastellano1000@gmail.com"}],"description":"Una librería para extraer y analizar enlaces de archivos Markdown.","author":{"name":"Daniela Castellano","email":"danielacastellano1000@gmail.com","url":"https://github.com/danielaestefania19/DEV008-md-links"},"license":"ISC","readme":"# Markdown Links\r\n\r\n## Índice\r\n\r\n* [1. Preámbulo](#1-preámbulo)\r\n* [2. Resumen del proyecto](#2-resumen-del-proyecto)\r\n* [3. Intalación de libería](#3-intalación-de-librería)\r\n* [4. Uso de la librería](#4-uso-de-la-librería)\r\n\r\n***\r\n\r\n## 1. Preámbulo\r\n\r\n[Markdown](https://es.wikipedia.org/wiki/Markdown) es un lenguaje de marcado\r\nligero muy popular entre developers. Es usado en muchísimas plataformas que\r\nmanejan texto plano (GitHub, foros, blogs, ...) y es muy común\r\nencontrar varios archivos en ese formato en cualquier tipo de repositorio\r\n(empezando por el tradicional `README.md`).\r\n\r\nEstos archivos `Markdown` normalmente contienen _links_ (vínculos/ligas) que\r\nmuchas veces están rotos o ya no son válidos y eso perjudica mucho el valor de\r\nla información que se quiere compartir.\r\n\r\nDentro de una comunidad de código abierto, nos han propuesto crear una\r\nherramienta usando [Node.js](https://nodejs.org/), que lea y analice archivos\r\nen formato `Markdown`, para verificar los links que contengan y reportar\r\nalgunas estadísticas.\r\n\r\n## 2. Resumen del proyecto\r\n\r\nEs un proyecto en linea de comando ejecutado en `Node.js` que instala una librería, la cual permite\r\nrealizar un barrido a la ruta ingresada y buscar los archivos .md y validar vía HTTP cada link del\r\narchivo en caso de requerirlo, de lo contrario solo muestra los links que encontró.\r\n\r\n## 3. Intalación de librería\r\n\r\nPara la instalación de la librería se deberá ejecutar el suguiente comando:\r\n\r\n- Desde consola\r\n\r\n```sh\r\n\r\n```\r\n- Desde package.json:\r\n\r\n```sh\r\n\r\n```\r\n\r\n## 4. Uso de la librería\r\n\r\nEl módulo ofrece dos procesos: validar y/u obtener estadísticas de los links.\r\n\r\n#### `md-links  <path> [options]`\r\n\r\n##### Argumentos\r\n\r\n* `path`: Se ingresa la ruta **absoluta** o **relativa** al **archivo** o al **directorio**.\r\n* `options`: Solo se acepta la siguiente opción:\r\n  - `-vl o --validate`: Determina si se desea validar via HTTP los links encontrados.\r\n  - `-s o --stats`: Determina si se desea validar via HTTP los links encontrados.\r\n  - `-vl -s o --validate --stats`: Muestra el conteo del total, los links únicos y los links inválidos.\r\n\r\n##### Valor de retorno\r\n\r\nEn caso de recibir solo la `ruta` solo mostrará en consola los siguientes datos\r\npara cada link encontrado :\r\n\r\n* `href`: URL encontrada.\r\n* `text`: Título del link.\r\n* `file`: Ruta del archivo donde se encontró el link.\r\n\r\nEn caso de recibir `-vl o --validate` mostrará en consola los siguientes datos para cada link\r\nencontrado :\r\n\r\n* `href`: URL encontrada.\r\n* `text`: Título del link.\r\n* `file`: Ruta del archivo donde se encontró el link.\r\n* `status`: Código de respuesta HTTP.\r\n* `ok`: Mensaje `fail` en caso de fallo u `ok` en caso de éxito.\r\n\r\nEn caso de recibir `-s o --stats` mostrará las estadísticas en consola :\r\n\r\n* `Total`: Total de liks encontrados en la ruta.\r\n* `Unique`: Total de links únicos encotrados en la ruta.\r\n\r\nEn caso de recibir `-vl -s o --validate --stats` mostrará las estadísticas en consola :\r\n\r\n* `Total`: Total de liks encontrados en la ruta.\r\n* `Unique`: Total de links únicos encotrados en la ruta.\r\n* `Broken`: Total de links rotos encotrados en la ruta.\r\n\r\n##### Ejemplos\r\n\r\n```sh\r\n$ md-links ./some/example.md\r\n./some/example.md http://algo.com/2/3/ Link a algo\r\n./some/example.md https://otra-cosa.net/algun-doc.html algún doc\r\n./some/example.md http://google.com/ Google\r\n```\r\n\r\n##### Options\r\n\r\n###### `--validate`\r\n\r\n```sh\r\n$ md-links ./some/example.md --validate\r\n./some/example.md http://algo.com/2/3/ ok 200 Link a algo\r\n./some/example.md https://otra-cosa.net/algun-doc.html fail 404 algún doc\r\n./some/example.md http://google.com/ ok 301 Google\r\n```\r\n\r\n###### `--stats`\r\n\r\n```sh\r\n$ md-links ./some/example.md --stats\r\nTotal: 3\r\nUnique: 3\r\n```\r\n\r\n###### `--validate` y `--stats`\r\n\r\n```sh\r\n$ md-links ./some/example.md --stats --validate\r\nTotal: 3\r\nUnique: 3\r\nBroken: 1","readmeFilename":"README.md"}