Biblioteca que oferece uma CLI (Command Line Interface - Interface de Linha de Comando) que retorna uma lista dos links contidos em um arquivo Markdown(.md) e pode verificar a validade dos mesmos.
$ npm install -g aline-camargo/SAP003-md-links
Se for mostrado um erro de permissão, tente usar sudo
(talvez você precise de permissões
de administrador, dependendo da sua instalação do node).
# usando `sudo` (somente se o passo anterior falhar)
$ sudo npm install -g aline-camargo/SAP003-md-links
Para utilizar a biblioteca em um projeto JavaScript, faça o require
no arquivo desejado. Dessa forma:
const mdLinks = require(".caminho-da-pasta-de-instalação/lib/index.js");
mdLinks("./exemplo.md", { validate: true })
.then(links => {
if(validate) {
// => [{ href, text, status }]
} else {
// => [{ href, text }]
}
})
.catch(console.error);
$ md-links caminho/do/arquivo.md
Retorno esperado
$ md-links ./algum/exemplo.md
http://algo.com/2/3/ Link de algo
https://outra-coisa-.net/algum-doc.html algum doc
http://google.com/ Google
$ md-links caminho/do/arquivo.md -v
ou
$ md-links caminho/do/arquivo.md --validate
Retorno esperado
$ md-links ./algum/exemplo.md --validate
http://algo.com/2/3/ 200 Link de algo
https://outra-coisa-.net/algum-doc.html 404 algum doc
https://site-inexistente.com ENOTFOUND Nome do site
http://google.com/ 301 Google
README.md
package.json
possuindo o nome, versão, descrição, autor, licença, dependências e scripts (eslint e test).package-lock.json
arquivo gerado pelo npm, para controle dos pacotes instalados.eslintrc
com a configuração para o linter..gitignore
para ignorar onode_modules
e outras pastas que não devem ser incluídas no controle de versão (git
).cli.js
arquivo que chama a funçãomdLinks
que será executada pela linha de comando.lib/index.js
criação e exportação da funçãomdLinks
.lib/__tests__/index.spec.js
contém testes unitários para a funçãomdLinks
.