From 494ef23b50d7e4ff51a7a177c5b0068e1beb4199 Mon Sep 17 00:00:00 2001 From: simon Date: Mon, 25 Jul 2011 18:15:37 +0000 Subject: [PATCH] Suggestion from James Beal: support a '--title' option to override the 'agedu:' prefix at the start of the title of output web pages. git-svn-id: svn://svn.tartarus.org/sgt/agedu@9246 cda61777-01e9-0310-a592-d414129be87e --- agedu.but | 13 +++++++++++-- agedu.c | 8 ++++++++ html.c | 4 +++- html.h | 5 +++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/agedu.but b/agedu.but index 37cfdbf..bb3d4b5 100644 --- a/agedu.but +++ b/agedu.but @@ -544,8 +544,8 @@ mode, the argument is treated as the name of a directory: the directory will be created if it does not already exist, and the output HTML files will be created inside it. -The following options affect the web server mode \cw{-w}, and in one -case also the stand-alone HTML generation mode \cw{-H}: +The following options affect the web server mode \cw{-w}, and in some +cases also the stand-alone HTML generation mode \cw{-H}: \dt \cw{-r} \e{age range} or \cw{--age-range} \e{age range} @@ -651,6 +651,15 @@ consist of the username, followed by a colon, followed by the password, followed \e{immediately} by end of file (no trailing newline, or else it will be considered part of the password). +\dt \cw{--title} \e{title} + +\dd Specify the string that appears at the start of the +section of the output HTML pages. The default is \cq{agedu}. This +title is followed by a colon and then the path you're viewing within +the index file. You might use this option if you were serving +\cw{agedu} reports for several different servers and wanted to make it +clearer which one a user was looking at. + \dt \cw{--no-eof} \dd Stop \cw{agedu} in web server mode from looking for end-of-file on diff --git a/agedu.c b/agedu.c index fd8aaea..00eda2b 100644 --- a/agedu.c +++ b/agedu.c @@ -361,6 +361,8 @@ static void text_query(const void *mappedfile, const char *querydir, HELPARG("filename") HELPOPT("[--web] read HTTP Basic user/pass from file") \ VAL(AUTHFD) LONG(auth_fd) \ HELPARG("fd") HELPOPT("[--web] read HTTP Basic user/pass from fd") \ + VAL(HTMLTITLE) LONG(title) \ + HELPARG("title") HELPOPT("[--web,--html] title prefix for web pages") \ VAL(DEPTH) SHORT(d) LONG(depth) LONG(max_depth) LONG(maximum_depth) \ HELPARG("levels") HELPOPT("[--text,--html] recurse to this many levels") \ VAL(MINAGE) SHORT(a) LONG(age) LONG(min_age) LONG(minimum_age) \ @@ -504,6 +506,7 @@ int main(int argc, char **argv) int httpserverport = 0; const char *httpauthdata = NULL; const char *outfile = NULL; + const char *html_title = PNAME; int auth = HTTPD_AUTH_MAGIC | HTTPD_AUTH_BASIC; int progress = 1; struct inclusion_exclusion *inex = NULL; @@ -791,6 +794,9 @@ int main(int argc, char **argv) case OPT_OUTFILE: outfile = optval; break; + case OPT_HTMLTITLE: + html_title = optval; + break; case OPT_MINAGE: textcutoff = parse_age(now, optval); break; @@ -1375,6 +1381,7 @@ int main(int argc, char **argv) cfg.newest = htmlnewest; cfg.showfiles = showfiles; } + cfg.html_title = html_title; if (!querydir) { /* @@ -1593,6 +1600,7 @@ int main(int argc, char **argv) pcfg.oldest = htmloldest; pcfg.newest = htmlnewest; pcfg.showfiles = showfiles; + pcfg.html_title = html_title; run_httpd(mappedfile, auth, &dcfg, &pcfg); munmap(mappedfile, totalsize); } else if (mode == REMOVE) { diff --git a/html.c b/html.c index f1b4df0..7f82f39 100644 --- a/html.c +++ b/html.c @@ -876,7 +876,9 @@ char *html_query(const void *t, unsigned long index, */ htprintf(ctx, "<head>\n"); trie_getpath(t, index, path); - htprintf(ctx, "<title>%s: ", PNAME); + htprintf(ctx, "<title>"); + htescape(ctx, cfg->html_title, strlen(cfg->html_title), 0); + htprintf(ctx, ": "); htescape(ctx, path, strlen(path), 0); htprintf(ctx, "\n"); htprintf(ctx, "\n"); diff --git a/html.h b/html.h index 6615a4a..47b7ffd 100644 --- a/html.h +++ b/html.h @@ -83,6 +83,11 @@ struct html_config { * directories in the report. */ int showfiles; + /* + * The string appearing in the part of HTML pages, before + * a colon followed by the path being served. Default is "agedu". + */ + const char *html_title; }; /* -- 2.11.0