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 🙏

© 2024 – Pkg Stats / Ryan Hefner

md-links-asm

v0.1.0

Published

Downloads

3

Readme

Markdown Links

Índice


1. Preámbulo

Markdown Markdown es un lenguaje de marcado sencillo que sirve para agregar formato, vínculos e imágenes con facilidad al texto simple; en principio, fue pensado para elaborar textos cuyo destino iba a ser la web con más rapidez y sencillez que si estuviésemos empleando directamente HTML. Actualmente es usado en muchísimas plataformas que manejan texto plano (GitHub, foros, blogs, etc.) y es muy común encontrar varios archivos en ese formato en cualquier tipo de repositorio (empezando por el tradicional README.md).

Estos archivos Markdown normalmente contienen links (vínculos/ligas) que muchas veces están rotos o ya no son válidos y eso perjudica mucho el valor de la información que se quiere compartir.

Dentro de una comunidad de código abierto, nos han propuesto crear una herramienta usando Node.js, que lea y analice archivos en formato Markdown, para verificar los links que contengan y reportar algunas estadísticas.

md-links

2. Resumen del proyecto

En este proyecto se desarrolló una librería en Node.js que permite analizar archivos Markdown en un directorio y encontrar los enlaces contenidos en ellos. Puedes usar esta librería para realizar las siguientes tareas:

  • Extraer información sobre los enlaces, como la URL, el texto del enlace y el archivo donde se encuentra.
  • Validar enlaces HTTP para verificar su estado.
  • Obtener estadísticas sobre los enlaces encontrados, como el total de enlaces, enlaces únicos y enlaces rotos.

3. Instalación

Para utilizar la librería mdLinks, primero debes instalarla en tu proyecto. Puedes hacerlo a través de npm (Node Package Manager) ejecutando el siguiente comando en la terminal:

Install

4. Guía de uso

Desde la línea de comandos (CLI):

Puedes usar la librería mdLinks desde la línea de comandos de la siguiente manera:

uso

Donde < ruta-del-directorio > es la ruta al directorio que deseas analizar y [opciones] son las siguientes:

  • --validate: Esta opción permite validar los enlaces HTTP encontrados.
  • --stats: Esta opción muestra estadísticas sobre los enlaces encontrados.

Ejemplos de uso:

uso-ejemplo

uso-validate

uso-stats

Puedes combinar ambas opciones para obtener información detallada sobre los enlaces:

opciones

5. Resultados

La función mdLinks mostrará en la terminal, una lista de enlaces encontrados en los archivos Markdown del directorio especificado con la siguiente estructura:

  • href: La URL del enlace.
  • text: El texto del enlace.
  • file: La ruta del archivo donde se encuentra el enlace.

Si se utilizan las opciones --validate o --stats, se mostrarán estadísticas o información de validación adicional, respectivamente.

  • status: El estado de la validación del enlace (solo si se utiliza la opción --validate).
  • ok: Indica si el enlace es válido o no (solo si se utiliza la opción --validate).

Ejemplos

Ejemplo 1: Obtener enlaces sin validación

uso-ejemplo

Este comando mostrará una lista de enlaces encontrados en los archivos Markdown del directorio especificado.

links

Ejemplo 2: Obtener enlaces con validación

uso-validate

Este comando mostrará una lista de enlaces con información de validación, incluyendo el estado y la validez de cada enlace.

links

Ejemplo 3: Obtener estadísticas de enlaces

uso-stats

Este comando mostrará estadísticas sobre los enlaces encontrados, incluyendo el total de enlaces, enlaces únicos y enlaces rotos.

links

6. Diagrama de Flujo

diagrama

7. Planificación y Organización del Proyecto

Este proyecto se desarrolla siguiendo una metodología ágil y aprovecha los tableros de proyectos de GitHub para una organización eficiente y un seguimiento efectivo del progreso.

Fases del Proyecto

Se ha dividido el proyecto en cinco fases diferentes, cada una de ellas representa un Hito para la elaboración del proyecto.

Tablero de Proyectos de GitHub (Github projects)

Se utilizó el tablero de proyectos de GitHub para gestionar las tareas de manera sistemática; El tablero está organizado en varias columnas que representan diferentes etapas del desarrollo:

  1. Investigar: Esta columna contiene temas y conceptos a investigar o reforzar.

  2. Por desarrollar: Esta columna contiene las tareas a desarrollar dentro de los hitos planificados en el proyecto.

  3. En desarrollo: Las tareas e hitos en las que está trabajando activamente se mueven a esta columna.

  4. Completado: Las tareas que han sido revisadas y los hitos terminados con éxito se trasladan a esta columna.

  5. Dudas/Bloqueos: dudas o bloqueos que se presentaron en el desarrollo del proyecto.

github