diff options
author | Eric Wong <e@80x24.org> | 2015-09-15 22:01:37 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2015-09-15 22:03:47 +0000 |
commit | 2998655db7fce5c7d9714a89f4a7cb54419bc757 (patch) | |
tree | a7f0d1c8916e9ce4feeaa507903e5681c8c66674 | |
parent | 039139b626467790e94ae4b9c9263b03ac44281f (diff) | |
download | public-inbox-2998655db7fce5c7d9714a89f4a7cb54419bc757.tar.gz |
public-inbox has search functionality, so take advantage of good commit messages with proper titles to lookup discussion.
-rw-r--r-- | examples/cgit-commit-filter.lua | 44 |
1 files changed, 44 insertions, 0 deletions
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 <meta@public-inbox.org> +-- 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('<a href="' .. u .. '?x=t&q=') + html_url_arg('"' .. buffer .. '"') + html('"><tt>') + html_txt(buffer) + html('</tt></a>') + end + else + html(buffer) + end + return 0 +end + +function filter_write(str) + lineno = lineno + 1 + buffer = buffer .. str +end |