From b46ece18a424eaea3f396ddae7e45e91d1c0e742 Mon Sep 17 00:00:00 2001 From: Doan Luu Duc Tai Date: Fri, 30 Oct 2026 16:29:50 -0500 Subject: Render the license page in cgit and stack the site footer links --- infra/containers/cgit/cgitrc | 2 ++ infra/containers/cgit/cgitrc.local | 2 ++ infra/containers/cgit/license.lua | 47 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 infra/containers/cgit/license.lua (limited to 'infra/containers/cgit') diff --git a/infra/containers/cgit/cgitrc b/infra/containers/cgit/cgitrc index 0b563e0..9aaf8d5 100644 --- a/infra/containers/cgit/cgitrc +++ b/infra/containers/cgit/cgitrc @@ -24,4 +24,6 @@ defbranch=main cache-root=/var/cache/cgit cache-size=1000 cache-scanrc-ttl=1 +readme=:web/THIRD-PARTY-LICENSES.html +about-filter=lua:/etc/cgit-license.lua scan-path=/srv/git diff --git a/infra/containers/cgit/cgitrc.local b/infra/containers/cgit/cgitrc.local index 3c8d657..20b533a 100644 --- a/infra/containers/cgit/cgitrc.local +++ b/infra/containers/cgit/cgitrc.local @@ -24,4 +24,6 @@ defbranch=main cache-root=/var/cache/cgit cache-size=1000 cache-scanrc-ttl=1 +readme=:web/THIRD-PARTY-LICENSES.html +about-filter=lua:/etc/cgit-license.lua scan-path=/srv/git diff --git a/infra/containers/cgit/license.lua b/infra/containers/cgit/license.lua new file mode 100644 index 0000000..ff5685f --- /dev/null +++ b/infra/containers/cgit/license.lua @@ -0,0 +1,47 @@ +-- Copyright (C) 2026 Doan Luu Duc Tai +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as +-- published by the Free Software Foundation, either version 3 of the +-- License, or (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Affero General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see . + +local chunks = {} +local rendered = false + +function filter_open(filename) + chunks = {} + rendered = filename == "web/THIRD-PARTY-LICENSES.html" +end + +function filter_write(buffer) + if rendered then + chunks[#chunks + 1] = buffer + else + html_txt(buffer) + end +end + +function filter_close() + if rendered then + local query = os.getenv("QUERY_STRING") or "" + local suffix = query ~= "" and ("?" .. query) or "" + html('') + html('') + end + return 0 +end -- cgit v1.2.3