Markdig para C# (.NET): Guía completa
Markdig es un parser de Markdown de alto rendimiento y totalmente administrado para la plataforma .NET, escrito en C#. Proporciona a los desarrolladores una herramienta potente y flexible para convertir texto Markdown a HTML, XAML y otros formatos. A diferencia de muchas otras bibliotecas, Markdig está diseñado con un enfoque en el rendimiento, la extensibilidad y el estricto cumplimiento de las especificaciones CommonMark. Esto lo convierte en la opción ideal para crear sistemas de gestión de contenido, blogs, sitios de documentación, aplicaciones de chat y cualquier otro proyecto que requiera procesamiento de Markdown.
¿Para qué sirve esta biblioteca? En el desarrollo web moderno, Markdown se ha convertido en el estándar de facto para escribir documentación, artículos y mensajes. Sin embargo, para mostrarlo en el navegador, es necesario convertirlo a HTML. Markdig resuelve esta tarea de forma rápida y eficiente. Además, admite múltiples extensiones como tablas, notas al pie, texto tachado, enlaces automáticos, emojis (a través de paquetes adicionales) y mucho más, que van más allá del CommonMark básico. Puedes configurar fácilmente el pipeline de procesamiento, añadiendo solo las extensiones que necesites, lo que te permite controlar tanto la funcionalidad como el rendimiento.
Markdig también es conocido por su fiabilidad. Se utiliza activamente en proyectos importantes como el generador de sitios estáticos Statiq, la plataforma de documentación DocFX y muchos otros. Gracias a su arquitectura modular, no solo puedes usar las extensiones integradas, sino también crear las tuyas propias, lo que abre posibilidades prácticamente ilimitadas de personalización. En este artículo, veremos en detalle la instalación, los métodos principales, ejemplos prácticos y consejos para usar Markdig de manera efectiva.
Instalación
La instalación de Markdig en un proyecto .NET se realiza a través del administrador de paquetes NuGet. Puedes usar la consola del administrador de paquetes, la interfaz de Visual Studio o la CLI de .NET. A continuación se muestran las tres formas.
A través de .NET CLI (recomendado):
dotnet add package Markdig
A través de la consola del administrador de paquetes (Package Manager Console):
Install-Package Markdig
A través de la interfaz de Visual Studio:
Abre "Administrar paquetes NuGet" (clic derecho en el proyecto -> Administrar paquetes NuGet), busca "Markdig" y haz clic en "Instalar".
Después de la instalación, se agregará una referencia al ensamblado Markdig.dll a tu proyecto y podrás empezar a usar la biblioteca.
Inicio rápido
Comencemos con el ejemplo más simple: convertir una cadena Markdown a HTML.
using Markdig;
string markdownContent = "# ¡Hola, mundo!\n\nEste es un texto en **negrita** y *cursiva*.";
string htmlContent = Markdown.ToHtml(markdownContent);
Console.WriteLine(htmlContent);
// Salida:
// <h1>¡Hola, mundo!</h1>
// <p>Este es un texto en <strong>negrita</strong> y <em>cursiva</em>.</p>
Como puedes ver, es muy sencillo. El método estático Markdown.ToHtml() hace todo el trabajo por ti. Sin embargo, esto es solo la punta del iceberg. A continuación, veremos funciones más avanzadas.
Métodos y clases principales
Para un ajuste más preciso del procesamiento de Markdown, Markdig proporciona un conjunto de clases y métodos. Veamos 8 de los más importantes.
1. Markdown.ToHtml(string markdown)
Firma: public static string ToHtml(string markdown)
Qué hace: Convierte una cadena Markdown en una cadena HTML, utilizando el pipeline estándar con las extensiones CommonMark por defecto.
string html = Markdown.ToHtml("**Hola** *Mundo*");
Console.WriteLine(html); // <p><strong>Hola</strong> <em>Mundo</em>.</p> También en la biblioteca
ORM para Swift (iOS/macOS): comparación y ejemplos de uso
Generación Swagger/OpenAPI para Java: bibliotecas y herramientas
Envío de SMS en Rust: RustSMS — Biblioteca API para trabajar con puertas de enlace SMS
Trabajo con fechas en Java: java.time y Joda-Time
Caché en Rust: Redis, Memcached y soluciones integradas