aboutsummaryrefslogtreecommitdiff
path: root/zzcxz.cgi
diff options
context:
space:
mode:
authorthe lemons <citrons@mondecitronne.com>2022-02-05 17:57:20 -0600
committerthe lemons <citrons@mondecitronne.com>2022-02-05 17:57:20 -0600
commit07a50a4b3cd2ac4c3ef4ab314ba8bc00043d8219 (patch)
tree7a28128a071fb38ce21e1eff5b4259542196e1fe /zzcxz.cgi
parent0c6c8d1f682e12ec8710f0b94779ca40c7d5f508 (diff)
improve directives
1. DEADEND defeats the collaborative purpose of the site, and BACKLINK is fairly useless without it. 2. PAGETITLE has been added, and it should be useful in cases where REDIRECT is used heavily.
Diffstat (limited to 'zzcxz.cgi')
-rwxr-xr-xzzcxz.cgi21
1 files changed, 11 insertions, 10 deletions
diff --git a/zzcxz.cgi b/zzcxz.cgi
index 8f8b480..6fbdb47 100755
--- a/zzcxz.cgi
+++ b/zzcxz.cgi
@@ -144,13 +144,10 @@ local function parse_directive(line, directives)
directive = directive and directive:lower()
if not directive then
return
- elseif directive == "backlink" then
- local page, action = args:match "^(%w%w%w%w%w)%s+(.+)$"
- if not page then return end
- directives.backlinks = directives.backlinks or {}
- table.insert(directives.backlinks, {page = page, action = action})
- elseif directive == "deadend" then
- directives.deadend = true
+ elseif directive == "pagetitle" then
+ if args:match "^%s*$" then return end
+ if utf8.len(args) > 150 then return end
+ directives.title = args
elseif directive == "redirect" then
local redirect = args:match "^%s*(%w%w%w%w%w)%s*$"
if not redirect then return end
@@ -265,7 +262,7 @@ local function new_action(page, action, result)
local new = assert(io.open('content/'..new_name, 'w'))
action = action:gsub('\n', ' ')
- assert(new:write(action..'\n'))
+ assert(new:write((directives.title or action)..'\n'))
for line in (result..'\n'):gmatch "(.-\n)" do
assert(new:write('\t' .. line))
end
@@ -399,6 +396,8 @@ map["^/g/(%w%w%w%w%w)/act$"] = function(p)
local form = parse_qs(io.read "a")
form.wyd = form.wyd or "something"
form.happens = form.happens or "something"
+
+ local prev, prev_direct = convert_markup(form.happens)
return base {
title = "do something new",
@@ -406,8 +405,10 @@ map["^/g/(%w%w%w%w%w)/act$"] = function(p)
page = p,
content = convert_markup(page.content),
preview = preview_template {
- title = html_encode(form.wyd),
- content = convert_markup(form.happens),
+ title =
+ prev_direct.title and html_encode(prev_direct.title)
+ or html_encode(form.wyd),
+ content = prev,
},
title = html_encode(form.wyd),
editing = html_encode(form.happens),