aboutsummaryrefslogtreecommitdiff
path: root/src/issue.awk
blob: 69fb889661362dd62593e91c063c763be20882c3 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
BEGIN { FS=": "; s=1; c=0 }

s==1 && /^Title: /   { sub("Title: ", "");    title=$0 }
s==1 && /^Author: /  { sub("Author: ", "");   author=$0 }
s==1 && /^Created: / { sub("Created: ", "");  date=$0 }
s==1 && /^State: /   { sub("State: ", "");    state=$0 }
s==1 && $0 == "" {
	printf "<!doctype html>\n"
	printf "<html>\n"
	printf "<head>\n"
	printf "  <title>%s</title>\n", title
	printf "  <link rel='stylesheet' href='/style.css' type='text/css' />\n"
	printf "</head>\n"
	printf "<body>\n"
	printf "  <table class='issue-meta'>\n"
	printf "    <tr><th>Title</th><td>%s</td></tr>\n", title
	printf "    <tr><th>Author</th><td>%s</td></tr>\n", author
	printf "    <tr><th>Created</th><td>%s</td></tr>\n", date
	printf "    <tr><th>State</th>"
	printf "    <td><span class='issue-state state-%s'>%s</span></td>", state, state
	printf "    </tr>\n"
	printf "  </table>\n"
	printf "\n"
	s = 2
	next
}

# Description
s==2 && $0 == "--%--" {
	com_author = ""
	com_date = ""
	s = 3
	c++
	next
}
s==2 { print }

# Comment header
s==3 && /^From: / { sub("From: ", ""); com_author=$0 }
s==3 && /^Date: / { sub("Date: ", ""); com_date=$0 }
s==3 && $0 == "" {
	printf "\n"
	printf "<div id='c%d' class='comment'>\n", c
	printf "  <a href='#c%d'>%s</a> on <i>%s</i>:<br>\n", c, com_author, com_date
	printf "\n"
	s = 4
	next
}

# Comment body
s==4 && $0 == "--%--" {
	# Close previous comment
	printf "</div>\n\n"
	com_author = ""
	com_date = ""
	s = 3
	c++
	next
}
s==4 { print }

END {
	if (s == 4) {
		printf "</div>\n"
	}
	printf "\n\n"
	printf "</body>"
	printf "</html>"

#	printf "title=\"%s\"\n", title;
#	printf "author=%s\n", author;
#	printf "author=%s\n", author;
}