Slugify es una biblioteca de código abierto para .NET que permite generar slugs a partir de cadenas de texto.
Los slugs son una forma de representación de una cadena de texto muy empleada en URLS y sistemas de identificación de recursos en la web.
Básicamente son una forma “sanatized” de codificar un texto, eliminando caracteres como espacios, acentos y otros símbolos, de forma que sean compatibles con direcciones URLs pero, a la vez, fácilmente legibles por un humano.
Los slug son muy usados en gestores de contenido como Wordpress y otros CMS.
Slugify se encarga de formatear las cadenas de texto, aplicando una serie de reglas que eliminan caracteres especiales, convertir caracteres a minúsculas o reemplazan espacios por guiones.
Cómo usar Slugify
Para instalar “Slugify” en un proyecto de .NET, se puede utilizar el administrador de paquetes NuGet. Abra la consola del administrador de paquetes de NuGet y ejecute el comando
Install-Package Slugify
Ahora, utilizar Slugify es muy sencillo. Únicamente tenemos que emplear el método ‘GenerateSlug’ de la clase ‘SlugHelper’
var texto = "Un ejemplo útil de Slug";
var slug = new SlugHelper().GenerateSlug(texto);
Console.WriteLine(slug); // salida: un-ejemplo-util-de-slug
Adicionalmente, podemos cambiar la configuración empleada en para la creación del Slug
// Creating a configuration object
SlugHelper.Config config = new SlugHelper.Config();
// Replace spaces with a hyphens
config.CharacterReplacements.Add(" ", "-");
// We want a lowercase Slug
config.ForceLowerCase = true;
// Colapse consecutive whitespace chars into one
config.CollapseWhiteSpace = true;
var slugify = new SlugHelper(config);
var slug = new SlugHelper().GenerateSlug("lo_que_sea");
En definitiva, una librería sencilla que realiza su trabajo correctamente, y que nos será de gran utilidad para generar slugs o URLs a partir de un string arbitrario.
Stateless es Open Source, y todo el código está disponible en GitHub - fcingolani/Slugify: Simple Slug / Clean URL generator helper for Microsoft .NET framework.