@gavinrigs/decap-slug-preview
v1.0.1
Published
Read-only Decap CMS widget that previews the filename slug an entry will generate, including per-day slugs for split multi-day events.
Downloads
294
Readme
@gavinrigs/decap-slug-preview
A read-only display widget that shows the filename slug an entry will be saved
as, computed live from the entry's fields. It never calls onChange, so it
stores nothing — it exists so editors can confirm the URL before saving.
For multi-day events that are split into one file per day, it lists every slug that will be produced.
Registering
Pass the site's own slug function so the preview cannot drift from what the build actually generates:
import CMS from "decap-cms-app";
import { register } from "@gavinrigs/decap-slug-preview";
import { generateEventSlug } from "../filters.js";
register(CMS, { slugFn: generateEventSlug });| Option | Default | Purpose |
| --- | --- | --- |
| name | "slug-preview" | Widget name used in config.yml. |
| slugFn | YYYY-MM-DD-title | (title, date) => string. Supply the site's own. |
| fields | { title: "title", date: "date", end: "end", splitIntoDays: "split_into_days" } | Entry fields the preview reads. |
| dayLabel | (title, n) => `${title} (Day ${n})` | Title used for each day of a split event. |
- { label: File Slug Preview, name: slug_preview, widget: slug-preview }If the entry has no split_into_days field the widget simply shows the single
slug, so it is safe to use on sites without multi-day events.
Dependencies
@gavinrigs/decap-plugin-core- Peer:
react
