logo

stagit

STAtic GIT web view generator (in C) git clone https://hacktivis.me/git/stagit.git
commit: 7968c0bc9c0172bd654e1f87d8194aef7fb69865
parent d1c528fb5ad81c876f07a69e1b759764f69cb9de
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Fri,  5 Mar 2021 11:51:21 +0100

add $STAGIT_BASEURL environment variable to make Atom links absolute

With feedback from adc, thanks!

Diffstat:

Mstagit.110+++++++++-
Mstagit.c8++++++--
2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/stagit.1 b/stagit.1 @@ -1,4 +1,4 @@ -.Dd July 19, 2020 +.Dd March 4, 2021 .Dt STAGIT 1 .Os .Sh NAME @@ -103,6 +103,14 @@ favicon image. .It style.css CSS stylesheet. .El +.Sh ENVIRONMENT +.Bl -tag -width Ds +.It Ev STAGIT_BASEURL +Base URL to make links in atom.xml absolute. +For example: STAGIT_BASE_URL="https://git.codemadness.org/stagit/". +.El +.Sh EXIT STATUS +.Ex -std .Sh SEE ALSO .Xr stagit-index 1 .Sh AUTHORS diff --git a/stagit.c b/stagit.c @@ -58,6 +58,7 @@ struct referenceinfo { static git_repository *repo; +static const char *baseurl = ""; /* base URL to make absolute RSS/Atom URI */ static const char *relpath = ""; static const char *repodir; @@ -807,8 +808,8 @@ printcommitatom(FILE *fp, struct commitinfo *ci, const char *tag) xmlencode(fp, ci->summary, strlen(ci->summary)); fputs("</title>\n", fp); } - fprintf(fp, "<link rel=\"alternate\" type=\"text/html\" href=\"commit/%s.html\" />\n", - ci->oid); + fprintf(fp, "<link rel=\"alternate\" type=\"text/html\" href=\"%scommit/%s.html\" />\n", + baseurl, ci->oid); if (ci->author) { fputs("<author>\n<name>", fp); @@ -1184,6 +1185,9 @@ main(int argc, char *argv[]) } #endif + if ((p = getenv("STAGIT_BASEURL"))) + baseurl = p; + if (git_repository_open_ext(&repo, repodir, GIT_REPOSITORY_OPEN_NO_SEARCH, NULL) < 0) { fprintf(stderr, "%s: cannot open repository\n", argv[0]);