Practical Scripting Patterns
Slug Labels
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
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)
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
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
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