From 2998655db7fce5c7d9714a89f4a7cb54419bc757 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 15 Sep 2015 22:01:37 +0000 Subject: add cgit commit-filter example public-inbox has search functionality, so take advantage of good commit messages with proper titles to lookup discussion. --- examples/cgit-commit-filter.lua | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 examples/cgit-commit-filter.lua (limited to 'examples/cgit-commit-filter.lua') diff --git a/examples/cgit-commit-filter.lua b/examples/cgit-commit-filter.lua new file mode 100644 index 00000000..4b90125f --- /dev/null +++ b/examples/cgit-commit-filter.lua @@ -0,0 +1,44 @@ +-- Copyright (C) 2015 all contributors +-- License: GPLv2 or later (https://www.gnu.org/licenses/gpl-2.0.txt) +-- This commit filter maps a subject line to a search URL of a public-inbox +-- disclaimer: written by someone who does not know Lua. +-- +-- This requires cgit linked with Lua +-- Usage (in your cgitrc(5) config file): +-- +-- commit-filter=lua:/path/to/this/script.lua +-- +-- Example: http://bogomips.org/public-inbox.git/ + +local urls = {} +urls['public-inbox.git'] = 'http://public-inbox.org/meta/' +-- additional URLs here... + +function filter_open(...) + lineno = 0 + buffer = "" + subject = "" +end + +function filter_close() + if lineno == 1 and string.find(buffer, "\n") == nil then + u = urls[os.getenv('CGIT_REPO_URL')] + if u == nil then + html(buffer) + else + html('') + html_txt(buffer) + html('') + end + else + html(buffer) + end + return 0 +end + +function filter_write(str) + lineno = lineno + 1 + buffer = buffer .. str +end -- cgit v1.2.3-24-ge0c7