summaryrefslogtreecommitdiffstatshomepage
path: root/filters/email-gravatar.lua
blob: 52cf4268a4963188e577aa0de8b06ad5dfc447c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- This script may be used with the email-filter or repo.email-filter settings in cgitrc.
-- It adds gravatar icons to author names. It is designed to be used with the lua:
-- prefix in filters. It is much faster than the corresponding python script.
--
-- Requirements:
-- 	luacrypto >= 0.3
-- 	<http://mkottman.github.io/luacrypto/>
--

local crypto = require("crypto")

function filter_open(email, page)
	buffer = ""
	md5 = crypto.digest("md5", email:sub(2, -2):lower())
end

function filter_close()
	html("<img src='//www.gravatar.com/avatar/" .. md5 .. "?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> " .. buffer)
	return 0
end

function filter_write(str)
	buffer = buffer .. str
end
o/.git" format-patch --subject-prefix="" --signature="cgit $CGIT_VERSION" --stdout HEAD^ >tmp2 && strip_headers <tmp >tmp_ && test_cmp tmp_ tmp2 ' test_expect_success 'find initial commit' ' root=$(git --git-dir="$PWD/repos/foo/.git" rev-list --max-parents=0 HEAD) ' test_expect_success 'generate patch for initial commit' ' cgit_query "url=foo/patch&id=$root" >tmp ' test_expect_success 'find `cgit` signature' ' tail -2 tmp | head -1 | grep "^cgit" ' test_expect_success 'generate patches for multiple commits' ' id=$(git --git-dir="$PWD/repos/foo/.git" rev-parse HEAD) && id2=$(git --git-dir="$PWD/repos/foo/.git" rev-parse HEAD~3) && cgit_query "url=foo/patch&id=$id&id2=$id2" >tmp ' test_expect_success 'find `cgit` signature' ' tail -2 tmp | head -1 | grep "^cgit" ' test_expect_success 'compare with output of git-format-patch(1)' ' CGIT_VERSION=$(sed -n "s/CGIT_VERSION = //p" ../../VERSION) && git --git-dir="$PWD/repos/foo/.git" format-patch -N --subject-prefix="" --signature="cgit $CGIT_VERSION" --stdout HEAD~3..HEAD >tmp2 && strip_headers <tmp >tmp_ && test_cmp tmp_ tmp2 ' test_done