Mishka
/
PRODUCTS Mishka CMS Multi-tenant, real-time CMS Chelekom Phoenix UI components + CLI Gervaz Admin DSL for Ash Installer Plugin & event manager on OTP Guarded Struct Validated, sanitized structs
CMS EXTENSIONS Blog Multi-author publishing Documentation Versioned, reviewed docs Migration Other CMSs to Mishka CMS MISHKA All docs Blog Hire us Sponsor
/ Slug
docs
Mishka CMS
GitHub ↗
Mishka CMS
Mishka CMS Multi-tenant, real-time CMS Chelekom Phoenix UI components + CLI Gervaz Admin DSL for Ash Installer Plugin & event manager on OTP Guarded Struct Validated, sanitized structs CMS · Blog Multi-author publishing CMS · Documentation Versioned, reviewed docs CMS · Migration Other CMSs to Mishka CMS
Home All docs Blog Hire us Sponsor
GitHub ↗
Drawer content

Contents

  • Get Started
  • How-to guides
  • Keep the scripts your site allows
  • Control accents, separators and length
  • Write the slug in an Ash resource
  • Handle errors and translate messages
  • Add a language with a script resolver
  • Concepts
  • How a slug is made
  • Reference
  • Options
  • API reference
  • Configuration
  1. Mishka CMS
How-to guides

How-to guides

Updated Nov 9, 2026 · v0.0.1

Each guide covers one task with Mishka Slug: keep the scripts your site allows, change how accents, separators and length are written, write the slug in an Ash resource, handle each error and translate its message, and add a language the built-in table does not know.

Pick the guide for the job in front of you. The pages below show each one with a short summary.

  • Keep the scripts your site allows Set the language of a title and the languages of a site so Mishka Slug keeps the right scripts, folds Arabic into Persian and spells German accents.
  • Control accents, separators and length Keep or remove Latin accents, keep underscores and dots, glue or split the Persian half-space, refuse mixed-script words and cap a slug with max_length.
  • Write the slug in an Ash resource Add MishkaSlug.Change to an Ash action so the slug follows the title, uses the record's language and the site's locales, and fails on the title field.
  • Handle errors and translate messages Handle every error slugify/2 returns, turn a reason into a message for a form, translate the messages with Gettext and know what raises instead.
  • Add a language with a script resolver Teach Mishka Slug a language code its table does not know with a script resolver, per call or in config, or take the scripts from CLDR with Localize.
Previous Get Started
Next Keep the scripts your site allows
0.0.1
  • 0.0.1 latest
Report issue
On this page
Drawer content