npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

penlogos-md-links

v0.1.2

Published

valida links en archivos markdown

Readme

Markdown Links - Versión PenLogos

Índice


1. ¿Qué es esta librería?

Es una API que permite la validación de links existentes en archivos Markdown. Está hecha a partir de cinco módulos que dividen el proyecto: la función principal mdLinks, las funciones auxiliares importadas para la primera 'function.js', un módulo encargado de la validación 'validate.js', un módulo que da estadísticas sobre la validación 'stats.js' y un archivo que permite la implementación de la CLI y el uso global de la función principal 'cli.js'.

2. Instalación

npm install Penlogos/DEV011-md-links ó npm i penlogos-md-links

Se usa Node.js como entorno de ejecución. La API está disponible para instalarse directamente desde Github ejecutando el comando desde la terminal en un repositorio local inicializado con un package.json básico. Sólo se requiere la instalación previa de Node.js.

3. Implementación

const mdLinks = require('penlogos-md-links')

La API permite la importación del módulo principal a través de require.

Ejemplo de implementación:

const validateFileLinks = require("md-links")

validateFileLinks.mdLinks('./Archivos-de-prueba-copia/Prueba-con-links.md', true, true)
.then(res => console.log(res))
.catch(error => console.log(error))

En este ejemplo, la importación del método y su asignación a la variable validateFileLinks permiten hacer uso de la función principal. Admite 3 argumentos: el primero, la ruta relativa o absoluta del archivo markdown a validar, el segundo, indica si se quieren validar los links encontrados al interior del archivo, el tercero, si se quieren visualizar las estadísticas de la validación en consola. Estos dos últimos arrojan valores boleanos, por lo que son parámetros opcionales, que de no llamarse, el módulo toma como false.

Los demás módulos de la librería también pueden importarse haciendo uso de las rutas relativas. Ejemplo de importación e implementación de otro módulo:

validate.js:

const { codeStatus } require('./node_modules/md-links/src/validate.js')

codestatus('https://www.link-no-encontrado.com') //muestra en la terminal el código HTTP//
.then(res => console.log(res))
.catch(error => console.log(error))

4. Módulos auxiliares

Estos son los demás módulos que se pueden importar para utlizarse con require('rutarelativa')

function.js:

absolutePath() //devuelve la ruta absoluta de una ruta relativa//

fileExistence() //verifica si la ruta existe en el disco duro//

pathExtension() //valida si un archivo es de tipo markdown//

fileReading() //devuelve el contenido de un archivo de tipo markdown//

fileParsing() //'parsea' un contenido markdown en un array de tokens//

stats.js:

statsData() //cuenta la propiedad ok con valor 'ok' de un objeto en todas las posiciones de un array//

5. Manejo del módulo desde línea de comandos

El módulo permite la utilización de la función mdLinks directamente desde la línea de comandos, desde cualquier ubicación dentro del repositorio local sin necesidad de ninguna implementación, sólo con la instalación. Permite el mismo uso de los argumentos, así:

mdLinks 'rutarelativa.md' //arroja los links encontrados, la ruta absoluta del archivo y el texto del link.//

mdLinks 'rutarelativa.md' --validate //añade el estado del link (200, por ejemplo) y los estados 'ok' si funciona, 'fail' si está roto.//

mdLinks 'rutarelativa.md' --stats //entrega el número total de enlaces analizados, de enlaces funcionales y de enlaces rotos.//

Admite también ambos argumentos al tiempo, dando toda la información en conjunto.

6. Dependencias

El paquete se vale de los !CommonsJs-Modules y los fs-Modules de Node para las funciones auxiliares del módulo principal. También se usa la librería de parseado !Markdown-it.