{"_id":"@ayauri29/md-links","_rev":"9-1472491b396466479947257165c22ad5","time":{"1.0.0":"2019-09-27T19:24:42.314Z","created":"2019-09-30T19:42:15.409Z","1.0.3":"2019-09-30T19:42:15.935Z","modified":"2022-04-04T17:14:17.417Z","1.0.4":"2019-10-05T02:18:55.511Z"},"name":"@ayauri29/md-links","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.3":{"name":"@ayauri29/md-links","version":"1.0.3","description":"Validate links of Markdown","main":"src/md-links.js","directories":{"test":"test"},"dependencies":{"chalk":"^2.4.2","commander":"^3.0.2","eslint-config-airbnb":"^18.0.1","marked":"^0.7.0","node-fetch":"^2.6.0"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.6.0","@babel/plugin-transform-modules-commonjs":"^7.6.0","babel-core":"^7.0.0-bridge.0","babel-install":"2.1.0","babel-jest":"^24.8.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","eslint":"^6.3.0","eslint-plugin-import":"^2.18.2","eslint-plugin-jest":"^22.17.0","fetch-mock":"^7.3.9","jest":"^24.9.0"},"bin":{"md-links":"src/cli.js"},"scripts":{"build":"babel src -d lib","eslint":"eslint --ext .js src/ test/","test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/ayauri29/LIM010-fe-md-links.git"},"keywords":["javascript","jest","md-links"],"author":{"name":"Alba Liliana"},"license":"MIT","bugs":{"url":"https://github.com/ayauri29/LIM010-fe-md-links/issues"},"homepage":"https://github.com/ayauri29/LIM010-fe-md-links#readme","gitHead":"48d7097aa748826299a6c30a361e6fb0234b3d00","_id":"@ayauri29/md-links@1.0.3","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-llp6QjQ4Ud0Vbsh4nvMv4jB/DiHyfpsQUsAzSgHz/Bv05Q18JdYr5WpX4MnUD6zEzac/frMEA+hW7nztQhoZ/A==","shasum":"93f032cdccca3cdf4509404d4c1d3fd5c96127a9","tarball":"https://registry.npmjs.org/@ayauri29/md-links/-/md-links-1.0.3.tgz","fileCount":27,"unpackedSize":88569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdklqYCRA9TVsSAnZWagAASLYQAIt3TDrJRl4wGanGCZ9a\nwbmhWCFO4lUiuoJTyVG+3azB8ndufi2knyDEPjj+PK9DQCB5zCw+aRHI5L9V\nh2fmT2Cjp1RqhXumVGg7qcY9Q5jsEZHp5fia6Ljj+iaVgo9nolzOKHPg6bYs\na8ViUl/tntq01lMAxAbqHOXW0y8TdeVxm4TRvBurHXrKTXDb6hnTwMZUKA/u\nhJzyJ42Vl09GX4FbyA3YzK3GOPiWIS9IBoCLw6vkfmKfTh9l8Br7SpiLQM2f\nHTaE6hc/3omFAUUmtUNC5+FEpMg4P5MY1USaX2i4lAfTeNmN1binEkLCPKFe\nkDkS2C0NZ/DzeSePRqfHJv1cyGjsdqpHRXgLvPsm7vQix0yUZlBvXuLOhyMY\nAl0ParCCJi4hHZFzlgXqLcZRZ7HnzKk3X4TwkuR9zmMrH55sB2l5QdPHajei\nxIWewvJL9DI2WqIlZxuHUWyIXeex9SUheUVqWs7hdl8fqvaFmZ7hA9uU45jI\nwx/nhmZ9eFr7fif0N/nAsKYvdcpQ4r2RLLVQ1fRR0cCBINXYbWOWlsotah44\nq6F6hJq94MPucGl6SyVpp/6v0qOYpnUlokXWnlX26AOLy2io2yxaAVjY8auE\nnztRQsXwPMEyZPpkyPT3XaDjrkg/hE6OGabGXGyTkiP+0iW91fApNOH4OxAj\nwnQe\r\n=UaJn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtzBtot0GcjJQ4hISwT0hPwG3OOFe+g2wR6TqJoG+yMAiAGoEZ5gkJmVSJ5uFj1HBX5QwcaIHy24ACXAxood2+xdg=="}]},"maintainers":[{"name":"ayauri29","email":"albayauri.29@gmail.com"}],"_npmUser":{"name":"ayauri29","email":"albayauri.29@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/md-links_1.0.3_1569872535687_0.1185518656491904"},"_hasShrinkwrap":false},"1.0.4":{"name":"@ayauri29/md-links","version":"1.0.4","description":"Validate links of Markdown","main":"src/md-links.js","directories":{"test":"test"},"dependencies":{"chalk":"^2.4.2","commander":"^3.0.2","eslint-config-airbnb":"^18.0.1","marked":"^0.7.0","node-fetch":"^2.6.0"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.6.0","@babel/plugin-transform-modules-commonjs":"^7.6.0","babel-core":"^7.0.0-bridge.0","babel-install":"2.1.0","babel-jest":"^24.8.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.2","eslint":"^6.3.0","eslint-plugin-import":"^2.18.2","eslint-plugin-jest":"^22.17.0","fetch-mock":"^7.3.9","jest":"^24.9.0"},"bin":{"md-links":"src/cli.js"},"scripts":{"build":"babel src -d lib","eslint":"eslint --ext .js src/ test/","test":"jest --coverage"},"repository":{"type":"git","url":"git+https://github.com/ayauri29/LIM010-fe-md-links.git"},"keywords":["javascript","jest","md-links"],"author":{"name":"Alba Liliana"},"license":"MIT","bugs":{"url":"https://github.com/ayauri29/LIM010-fe-md-links/issues"},"homepage":"https://github.com/ayauri29/LIM010-fe-md-links#readme","gitHead":"b32739bd038e48b6a8daaba0dd0ac7b188c077af","_id":"@ayauri29/md-links@1.0.4","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-JBRXJvIbH3BJexnHfMS1878HTjrItBeXRVGLh7OiWvho89xUTLzTXS+J7He+bAslpT+RSFuq5eqHbMaBwfp4Yg==","shasum":"c8c95422429d958824b4350e0a71c559339531cc","tarball":"https://registry.npmjs.org/@ayauri29/md-links/-/md-links-1.0.4.tgz","fileCount":27,"unpackedSize":87259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdl/2QCRA9TVsSAnZWagAAwuYQAJmrvnTIBAVPrOGpni7B\nSTjnTYFZGJJxGevw691N1t7KoxY4f9TSHgwQdGGFXaD2CHx0KKcaoo8S3clw\nZY88SxvyqsmWGo8xLSKl/3byUeTSgerJzMdy7gYX/oM+28CXhiQ4h7UMyMzz\nhKtHZwM/iz55cCUrcz1Vzqwal671sYbyzP4mg5Yu3Jza5cGipegufBqIwVwb\nAM4zRY7TISB1QZJSfZqyoOQRItxlcRI2XH3MT76YWwJhJ6dewSMkrPJeRPCm\nUC2GR/cAPEizni2oaPGZFj/u7TCdqe7i4qmlPEctQvJohX/8vxs+3YppgtiO\nUw3A/uwJcFoGUSCfY5eTT5b7SZBlrbtZDQ3hXbGtsdqRdIcpLETPFTIWLbxH\nn3xXeIGNB37O6THaF6MR60JQy1NXr7xJ/m2rGRYCh3GWoyq7KGIUoabZ2Jvc\n8xNoK+zLKeipxGGYh+DL13We+n6yv7UtnhSX9Z8kCqW/2JMQgBcRLYPJ5NtG\nl4OAfK+MtJ1Lbuxyl1K8HmqWV8LzZUkGAOjV4JNnYaA6NccglXjEJWRwW5yd\n7WeZSdzw4c4rThxjIJUPGuzPDQkwulv2xIhElh3aZVD1/7JsatE5uylZbkav\nU/c/C8zeikqxxpK4fs2g+bJvpQqeeEW43GAjKsuJUuU+au4/hH2+qEbrzvVl\nPEQe\r\n=q59b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBn0N2yFc4hc/LCU6P3idCNE9yNGz3RSEWcKVkAeX68yAiEAtd66dDGI/f/qzZZT4wconUNZwiLtaH9Bcu+taPFAOMY="}]},"maintainers":[{"name":"ayauri29","email":"albayauri.29@gmail.com"}],"_npmUser":{"name":"ayauri29","email":"albayauri.29@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/md-links_1.0.4_1570241935344_0.1509061965154621"},"_hasShrinkwrap":false}},"maintainers":[{"name":"ayauri29","email":"albayauri.29@gmail.com"}],"description":"Validate links of Markdown","homepage":"https://github.com/ayauri29/LIM010-fe-md-links#readme","keywords":["javascript","jest","md-links"],"repository":{"type":"git","url":"git+https://github.com/ayauri29/LIM010-fe-md-links.git"},"author":{"name":"Alba Liliana"},"bugs":{"url":"https://github.com/ayauri29/LIM010-fe-md-links/issues"},"license":"MIT","readme":"# ayauri29@mdlinks\r\n![Build Status](https://img.shields.io/badge/nodeJs-100%25-green) ![Coverage Status](https://img.shields.io/badge/coverage-100%25-magenta) ![npm dependents](https://img.shields.io/badge/dependencias-5-pink)\r\n\r\nMd-links es una librería que brinda estadísticas sobre los links que se encuentren dentro de todos los archivos .md de una ruta dada.\r\n- [Diagrama de flujo del proyecto](https://github.com/ayauri29/LIM010-fe-md-links/blob/master/img/Diagrama%20de%20flujo.png).\r\n- [Planificación del proyecto](https://github.com/ayauri29/LIM010-fe-md-links/projects/1).\r\n\r\n### Guía de uso e instalación de la librería\r\n\r\n### Instalación\r\n\r\nInstale ayauri29@mdlinks desde npm.\r\n\r\n```bash\r\nnpm i @ayauri29/md-links\r\n```\r\n\r\n### Uso\r\n\r\n#### API `mdLinks(path, opts)`\r\n\r\nLa función tiene 2 parámetros:\r\n- `Path`: Ruta absoluta o relativa al archivo o directorio.\r\n- `Opts`: Un objeto con las siguientes propiedades:\r\n  * `validate`: Booleano que determina si se desea validar los links\r\n    encontrados.\r\n\r\nEl valor de retorno es una promesa (`Promise`) que resuelve un arreglo de objetos, donde cada objeto representa un link y contiene las siguientes propiedades:\r\n\r\n- `href`: URL encontrada.\r\n- `text`: Texto que aparecía dentro del link (`<a>`).\r\n- `file`: Ruta del archivo donde se encontró el link.\r\n\r\n##### Ejemplo\r\n\r\nImporte ayauri29@mdlinks desde su proyecto.\r\n```js\r\nconst fn = require('ayauri29@mdlinks');\r\n```\r\n\r\nPara validación de los links:\r\n```js\r\nmdLinks.mdLinks('src', {validate: true}).then((data) => console.log(data));\r\n```\r\n![image](https://user-images.githubusercontent.com/33959688/65807158-bf073800-e152-11e9-8877-9b888e662a48.png)\r\n\r\nPara validate false:\r\n```js\r\nconst mdLinks = require('@ayauri29/md-links');\r\nmdLinks.mdLinks('src', {validate: false}).then((data) => console.log(data));\r\n```\r\n![image](https://user-images.githubusercontent.com/33959688/65807683-53729a00-e155-11e9-8336-2232c0476e2a.png)\r\n\r\n#### CLI\r\n\r\n##### Uso de comandos\r\n\r\n```bash\r\nmd-links <path-to-file> [options]\r\n```\r\n\r\n- El ejecutable implementa `--validate`.\r\n\r\n![image](https://user-images.githubusercontent.com/33959688/65807654-1c03ed80-e155-11e9-8bf9-851bb8db4410.png)\r\n\r\n- El ejecutable implementa `--stats`.\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/33959688/65807708-6f763b80-e155-11e9-909a-2c249207ac08.png\"/>\r\n</p>\r\n\r\n- El ejecutable implementa `--validate` y `--stats` juntos.\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/33959688/65807773-cb40c480-e155-11e9-9eb7-587821c3b1ff.png\"/>\r\n</p>\r\n\r\n- El ejecutable no implementa ninguna opción.\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/33959688/65807806-fdeabd00-e155-11e9-9922-b1de96ff8261.png\"/>\r\n</p>\r\n\r\n- Para ayuda puede ejecutar el comando `md-links --help`\r\n<p align=\"center\">\r\n  <img src=\"https://user-images.githubusercontent.com/33959688/65807847-35f20000-e156-11e9-9be8-a77e6e713724.png\"/>\r\n</p>\r\n\r\n***\r\n#### Objetivos de aprendizaje\r\n\r\n##### Objetivos de aprendizaje pendientes\r\n- [x] Uso de callbacks\r\n\r\n##### Javascript\r\n- [x] Consumo de Promesas\r\n- [x] Creacion de Promesas\r\n- [x] Modulos de Js\r\n- [x] Recursión\r\n\r\n### Node\r\n- [x] Sistema de archivos\r\n- [x] package.json\r\n- [x] crear modules\r\n- [x] Instalar y usar modules\r\n- [x] npm scripts\r\n- [x] CLI (Command Line Interface - Interfaz de Línea de Comando)\r\n\r\n### Testing\r\n- [x] Testeo de tus funciones\r\n- [x] Testeo asíncrono\r\n- [x] Uso de librerias de Mock\r\n- [x] Mocks manuales\r\n- [x] Testeo para multiples Sistemas Operativos\r\n\r\n### Git y Github\r\n- [x] Organización en Github\r\n\r\n### Buenas prácticas de desarrollo\r\n- [ ] Modularización\r\n- [ ] Nomenclatura / Semántica\r\n- [ ] Linting\r\n\r\n***\r\n\r\n### Referencias\r\n\r\n- [learnyounode](https://github.com/workshopper/learnyounode)\r\n- [how-to-npm](https://github.com/workshopper/how-to-npm)\r\n- [Acerca de Node.js - Documentación oficial](https://nodejs.org/es/about/)\r\n- [Node.js file system - Documentación oficial](https://nodejs.org/api/fs.html)\r\n- [Node.js http.get - Documentación oficial](https://nodejs.org/api/http.html#http_http_get_options_callback)\r\n- [Node.js - Wikipedia](https://es.wikipedia.org/wiki/Node.js)\r\n- [What exactly is Node.js? - freeCodeCamp](https://medium.freecodecamp.org/what-exactly-is-node-js-ae36e97449f5)\r\n- [¿Qué es Node.js y para qué sirve? - drauta.com](https://www.drauta.com/que-es-nodejs-y-para-que-sirve)\r\n- [¿Qué es Nodejs? Javascript en el Servidor - Fazt en YouTube](https://www.youtube.com/watch?v=WgSc1nv_4Gw)\r\n- [¿Simplemente qué es Node.js? - IBM Developer Works, 2011](https://www.ibm.com/developerworks/ssa/opensource/library/os-nodejs/index.html)\r\n- [Node.js y npm](https://www.genbeta.com/desarrollo/node-js-y-npm)\r\n- [Módulos, librerías, paquetes, frameworks... ¿cuál es la diferencia?](http://community.laboratoria.la/t/modulos-librerias-paquetes-frameworks-cual-es-la-diferencia/175)\r\n- [Asíncronía en js](https://carlosazaustre.com/manejando-la-asincronia-en-javascript/)\r\n- [NPM](https://docs.npmjs.com/getting-started/what-is-npm)\r\n- [Publicar packpage](https://docs.npmjs.com/getting-started/publishing-npm-packages)\r\n- [Crear módulos en Node.js](https://docs.npmjs.com/getting-started/publishing-npm-packages)\r\n- [Leer un archivo](https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback)\r\n- [Leer un directorio](https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback)\r\n- [Path](https://nodejs.org/api/path.html)\r\n- [Promise](https://javascript.info/promise-basics)\r\n- [Comprendiendo Promesas en Js](https://hackernoon.com/understanding-promises-in-javascript-13d99df067c1)\r\n- [Pill de recursión - video](https://www.youtube.com/watch?v=lPPgY3HLlhQ&t=916s)","readmeFilename":"README.md"}