diff options
-rw-r--r-- | about.html | 7 | ||||
-rwxr-xr-x | zzcxz.cgi | 21 |
2 files changed, 13 insertions, 15 deletions
@@ -63,13 +63,10 @@ surround text in square brackets to <code>[emphasize it as important]</code>. <li> - type <code>#BACKLINK <room> <action></code> on its own line to cause the room to link back to an already existing room. replace <code><action></code> with the text you desire to appear in the link. replace <code><room></code> with everything after <code>https://zzcxz.citrons.xyz/g/</code>. for example, to make a link with the text "go back" which links to <code>https://zzcxz.citrons.xyz/g/xxxxx</code>, type the line <code>#BACKLINK xxxxx go back</code>. <code>#BACKLINK</code> cannot add new actions. + type <code>#REDIRECT <room></code> on its own line to cause the action to bring you to <code><room></code> instead of a new room. replace <code><room></code> with the five letters at the end of the url of the desired room. for instance, to make the action link to <code>https://zzcxz.citrons.xyz/g/zzcxz</code>, type <code>#REDIRECT zzcxz</code>. <li> - type <code>#REDIRECT <room></code> to cause the action to bring you to <code><room></code> instead of a new room. like with <code>#BACKLINK</code> replace <code><room></code> with the five letters at the end of the url of the desired room. - - <li> - type <code>#DEADEND</code> to prevent people from taking additional actions on the page. this is mostly useful in combination with <code>#BACKLINK</code>. + by default, a title at the top of the page contains the action which brings you to the room. this title can be overridden with <code>#PAGETITLE <title></code>. <li> you can add <code>/raw</code> to the end of the URL of a room to see its markup (on the lines starting with tab) (<a href="/g/zzcxz/raw">example</a>). this feature could also potentially be utilized to implement third-party interfaces. @@ -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), |