Normalize a short label into a URL-friendly slug.

slug-label String helpers can normalize user-facing labels before a script builds file names or URLs. This example lowercases text and replaces spaces with dashes.

Slug Labels

label
slug_label.lua
Replay: real traced execution (multi-file project)
local label = "Lua Trace"
local lowered = string.lower(label)
local slug = string.gsub(lowered, "%s+", "-")

print("label=" .. label)
print("slug=" .. slug)
local label = "Build Log"
local lowered = string.lower(label)
local slug = string.gsub(lowered, "%s+", "-")

print("label=" .. label)
print("slug=" .. slug)
local label = "Replay UI"
local lowered = string.lower(label)
local slug = string.gsub(lowered, "%s+", "-")

print("label=" .. label)
print("slug=" .. slug)
  1. label ← Lua Trace, lowered ← lua trace, slug ← lua-trace

    1local label→ Lua Trace = "Lua Trace" --@label="Build Log", "Replay UI"2local lowered→ lua trace = string.lower(labelLua Trace)3local slug→ lua-trace = string.gsub(loweredlua trace, "%s+", "-")45print("label=" .. labelLua Trace)6print("slug=" .. sluglua-trace)
    outputlabel=Lua Trace
    slug=lua-trace
  1. label ← Build Log, lowered ← build log, slug ← build-log

    1local label→ Build Log = "Build Log"2local lowered→ build log = string.lower(labelBuild Log)3local slug→ build-log = string.gsub(loweredbuild log, "%s+", "-")45print("label=" .. labelBuild Log)6print("slug=" .. slugbuild-log)
    outputlabel=Build Log
    slug=build-log
  1. label ← Replay UI, lowered ← replay ui, slug ← replay-ui

    1local label→ Replay UI = "Replay UI"2local lowered→ replay ui = string.lower(labelReplay UI)3local slug→ replay-ui = string.gsub(loweredreplay ui, "%s+", "-")45print("label=" .. labelReplay UI)6print("slug=" .. slugreplay-ui)
    outputlabel=Replay UI
    slug=replay-ui