diff options
Diffstat (limited to '')
| -rw-r--r-- | cgitrc.5.txt | 15 | ||||
| -rw-r--r-- | filter.c | 3 | ||||
| -rw-r--r-- | filters/email-gravatar.lua | 2 | ||||
| -rwxr-xr-x | filters/email-gravatar.py | 2 | ||||
| -rw-r--r-- | ui-commit.c | 4 | ||||
| -rw-r--r-- | ui-log.c | 2 | ||||
| -rw-r--r-- | ui-refs.c | 6 | ||||
| -rw-r--r-- | ui-tag.c | 2 | 
8 files changed, 21 insertions, 15 deletions
| diff --git a/cgitrc.5.txt b/cgitrc.5.txt index b7dc5a4..6a926aa 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -121,9 +121,9 @@ email-filter::  	Specifies a command which will be invoked to format names and email  	address of committers, authors, and taggers, as represented in various  	places throughout the cgit interface. This command will receive an -	email address as its only command line argument, and the text to -	format on STDIN. It is to write the formatted text back out onto -	STDOUT. Default value: none. See also: "FILTER API". +	email address and an origin page string as its command line arguments, +	and the text to format on STDIN. It is to write the formatted text back +	out onto STDOUT. Default value: none. See also: "FILTER API".  embedded::  	Flag which, when set to "1", will make cgit generate a html fragment @@ -620,10 +620,11 @@ commit filter::  	expected on standard output.  email filter:: -	This filter is given a single parameter: the email address of the -	relevent user. The filter will then receive the text string to format -	on standard input and is expected to write to standard output the -	formatted text to be included in the page. +	This filter is given two parameters: the email address of the relevent +	author and a string indicating the originating page. The filter will +	then receive the text string to format on standard input and is +	expected to write to standard output the formatted text to be included +	in the page.  source filter::  	This filter is given a single parameter: the filename of the source @@ -406,6 +406,9 @@ struct cgit_filter *cgit_new_filter(const char *cmd, filter_type filtertype)  	switch (filtertype) {  		case EMAIL: +			argument_count = 2; +			break; +  		case SOURCE:  		case ABOUT:  			argument_count = 1; diff --git a/filters/email-gravatar.lua b/filters/email-gravatar.lua index 8a53447..982e030 100644 --- a/filters/email-gravatar.lua +++ b/filters/email-gravatar.lua @@ -9,7 +9,7 @@  require("crypto") -function filter_open(email) +function filter_open(email, page)  	buffer = ""  	md5 = crypto.digest("md5", email:sub(2, -2):lower())  end diff --git a/filters/email-gravatar.py b/filters/email-gravatar.py index 4445615..f90b87d 100755 --- a/filters/email-gravatar.py +++ b/filters/email-gravatar.py @@ -27,6 +27,8 @@ if email[0] == '<':  if email[-1] == '>':          email = email[0:-1] +page = sys.argv[2] +  md5 = hashlib.md5(email.encode()).hexdigest()  text = sys.stdin.read().strip() diff --git a/ui-commit.c b/ui-commit.c index bd14ef0..c48bfe8 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -44,7 +44,7 @@ void cgit_print_commit(char *hex, const char *prefix)  	cgit_print_diff_ctrls();  	html("<table summary='commit info' class='commit-info'>\n");  	html("<tr><th>author</th><td>"); -	cgit_open_filter(ctx.repo->email_filter, info->author_email); +	cgit_open_filter(ctx.repo->email_filter, info->author_email, "commit");  	html_txt(info->author);  	if (!ctx.cfg.noplainemail) {  		html(" "); @@ -55,7 +55,7 @@ void cgit_print_commit(char *hex, const char *prefix)  	cgit_print_date(info->author_date, FMT_LONGDATE, ctx.cfg.local_time);  	html("</td></tr>\n");  	html("<tr><th>committer</th><td>"); -	cgit_open_filter(ctx.repo->email_filter, info->committer_email); +	cgit_open_filter(ctx.repo->email_filter, info->committer_email, "commit");  	html_txt(info->committer);  	if (!ctx.cfg.noplainemail) {  		html(" "); @@ -168,7 +168,7 @@ static void print_commit(struct commit *commit, struct rev_info *revs)  			 sha1_to_hex(commit->object.sha1), ctx.qry.vpath, 0);  	show_commit_decorations(commit);  	html("</td><td>"); -	cgit_open_filter(ctx.repo->email_filter, info->author_email); +	cgit_open_filter(ctx.repo->email_filter, info->author_email, "log");  	html_txt(info->author);  	cgit_close_filter(ctx.repo->email_filter); @@ -77,7 +77,7 @@ static int print_branch(struct refinfo *ref)  	if (ref->object->type == OBJ_COMMIT) {  		cgit_commit_link(info->subject, NULL, NULL, name, NULL, NULL, 0);  		html("</td><td>"); -		cgit_open_filter(ctx.repo->email_filter, info->author_email); +		cgit_open_filter(ctx.repo->email_filter, info->author_email, "refs");  		html_txt(info->author);  		cgit_close_filter(ctx.repo->email_filter);  		html("</td><td colspan='2'>"); @@ -157,12 +157,12 @@ static int print_tag(struct refinfo *ref)  	html("</td><td>");  	if (info) {  		if (info->tagger) { -			cgit_open_filter(ctx.repo->email_filter, info->tagger_email); +			cgit_open_filter(ctx.repo->email_filter, info->tagger_email, "refs");  			html_txt(info->tagger);  			cgit_close_filter(ctx.repo->email_filter);  		}  	} else if (ref->object->type == OBJ_COMMIT) { -		cgit_open_filter(ctx.repo->email_filter, ref->commit->author_email); +		cgit_open_filter(ctx.repo->email_filter, ref->commit->author_email, "refs");  		html_txt(ref->commit->author);  		cgit_close_filter(ctx.repo->email_filter);  	} @@ -77,7 +77,7 @@ void cgit_print_tag(char *revname)  		}  		if (info->tagger) {  			html("<tr><td>tagged by</td><td>"); -			cgit_open_filter(ctx.repo->email_filter, info->tagger_email); +			cgit_open_filter(ctx.repo->email_filter, info->tagger_email, "tag");  			html_txt(info->tagger);  			if (info->tagger_email && !ctx.cfg.noplainemail) {  				html(" "); | 
