X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=examples%2Fcgit-commit-filter.lua;h=73af994828aebcb373a7bdd67cebbe592c1d4017;hb=45e7610b47b038dedf745d0f8c0d7eb987ee8132;hp=a8f9e1d1a9c129b69f42d295adb3fe3c19f3fb8a;hpb=cd2ad4db42f89fd134f39816b625657700c365d2;p=public-inbox.git diff --git a/examples/cgit-commit-filter.lua b/examples/cgit-commit-filter.lua index a8f9e1d1..73af9948 100644 --- a/examples/cgit-commit-filter.lua +++ b/examples/cgit-commit-filter.lua @@ -1,4 +1,4 @@ --- Copyright (C) 2015-2018 all contributors +-- Copyright (C) 2015-2020 all contributors -- License: GPLv2 or later -- This commit filter maps a subject line to a search URL of a public-inbox -- disclaimer: written by someone who does not know Lua. @@ -13,6 +13,9 @@ local urls = {} urls['public-inbox.git'] = 'https://public-inbox.org/meta/' -- additional URLs here... +-- TODO we should be able to auto-generate this based on "coderepo" +-- directives in the public-inbox config file; but keep in mind +-- the mapping is M:N between inboxes and coderepos function filter_open(...) lineno = 0 @@ -20,6 +23,9 @@ function filter_open(...) end function filter_close() + -- cgit opens and closes this filter for the commit subject + -- and body separately, and we only generate the link based + -- on the commit subject: if lineno == 1 and string.find(buffer, "\n") == nil then u = urls[os.getenv('CGIT_REPO_URL')] if u == nil then @@ -32,6 +38,9 @@ function filter_close() html('') end else + -- pass the body-through as-is + -- TODO: optionally use WwwHighlight for linkification like + -- cgit-wwwhighlight-filter.lua html(buffer) end return 0