Markdown Links
脥ndice
1. Definici贸n del Producto
Markdown es un lenguaje de marcado muy popular en plataformas que manejan texto planos, tales como GitHub, foros, blogs, entre otros y es muy com煤n encontrarlo por ejemplo en archivos 'README.md'.
Estos archivos suelen contener links los cuales en ocasiones pueden estar rotos o ser no v谩lidos, es por ello que como desarrolladoras se nos pidio crear una librer铆a la cual permitiera leer los archivos markdown como por ejemplo un README.md y verificar sus link, para de esta forma validarlos y ver la cantidad de ellos que contiene el directorio.
2. Diagrama de Flujo
A continuacion el diagrama de flujo de API y CLI:
3. 驴C贸mo Usarlo?
馃敤
Instalaci贸nnpm i md-links-kvsa
鈻讹笍
Usoconst mdlink=require('md-links-kvsa');
CLI (Command Line Interface - Interfaz de L铆nea de Comando)
md-links <path-to-file> [options]
Por ejemplo:
El output te indica el link , texto y el file.
Options
--validate
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
El output es un texto con estad铆sticas b谩sicas sobre los links.
--stats --validate
El output es un texto con estad铆sticas b谩sicas sobre los links.
mdLinks(path, opts)
API const mdLinks = require("md-links-kvsa");
mdLinks("./test/exampleTest")
.then(links => {
// => [{ href, text, file }]
})
.catch(error=>{
});
mdLinks("./test/exampleTest", { validate: true })
.then(links => {
// => [{ href, text, file, status, message }]
})
.catch(error=>{
});
mdLinks("./test/exampleTe")
.then(links => {
})
.catch(error=>{
// =>[Error:Enter new path]
});
4. Sprint Backlog
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
mdLinks(path, opts)
API - El m贸dulo exporta una funci贸n con la interfaz (API) esperada.
- Implementa soporte para archivo individual
- Implementa soporte para directorios
-
Implementa
options.validate
CLI
-
Expone ejecutable
md-links
en el path (configurado enpackage.json
) - Se ejecuta sin errores / output esperado
-
Implementa
--validate
-
Implementa
--stats
Pruebas / tests
- Pruebas unitarias cubren un m铆nimo del 70% de statements, functions, lines, y branches.
-
Pasa tests (y linters) (
npm test
).