Blob


1 /*
2 * Copyright (c) 2019, 2020 Tracey Emery <tracey@traceyemery.net>
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
17 #ifndef GOTWEB_UI_H
18 #define GOTWEB_UI_H
20 /* general html */
22 char *head =
23 "<meta name='viewport' content='initial-scale=1.0," \
24 " user-scalable=no' />" \
25 "<meta charset='utf-8' />" \
26 "<meta name='msapplication-TileColor' content='#da532c' />" \
27 "<meta name='theme-color' content='#ffffff' />" \
28 "<link rel='apple-touch-icon' sizes='180x180'" \
29 " href='/apple-touch-icon.png' />" \
30 "<link rel='icon' type='image/png' sizes='32x32'" \
31 " href='/favicon-32x32.png' />" \
32 "<link rel='icon' type='image/png' sizes='16x16'" \
33 " href='/favicon-16x16.png' />" \
34 "<link rel='manifest' href='/site.webmanifest' />" \
35 "<link rel='mask-icon' href='/safari-pinned-tab.svg'" \
36 " color='#5bbad5' />" \
37 "<link rel='stylesheet' type='text/css' href='/gotweb.css' />";
39 char *got_link =
40 "<div id='got_link'>" \
41 "<a href='%s' target='_sotd'><img src='/%s' alt='logo' /></a>" \
42 "</div>";
44 char *site_link =
45 "<div id='site_link'>" \
46 "<a href='%s'>%s</a> %s %s" \
47 "</div>";
49 char *search =
50 "<!--/* <div id='search'>" \
51 "<form method='POST'>" \
52 "<input type='search' id='got-search' name='got-search' size='15'" \
53 " maxlength='50' />" \
54 "<button>Search</button>" \
55 "</form>" \
56 "</div> */-->";
58 char *np_wrapper_start =
59 "<div id='np_wrapper'>" \
60 "<div id='nav_prev'>";
62 char *div_end =
63 "</div>";
65 char *nav_next =
66 "<div id='nav_next'>" \
67 "<a href='?page=%d'>Next<a/>" \
68 "</div>";
70 char *nav_prev =
71 "<a href='?page=%d'>Previous<a/>";
73 char *repo_owner =
74 "<div id='repo_owner_title'>Owner: </div>" \
75 "<div id='repo_owner'>%s</div>";
77 char *tags_row =
78 "<div id='tags_wrapper'>" \
79 "<div id='tags_age'>%s</div>" \
80 "<div id='tags'>tag %s</div>" \
81 "<div id='tags_name'>%s</div>" \
82 "</div>" \
83 "<div id='navs_wrapper'>" \
84 "<div id='navs'>%s</div>" \
85 "</div>" \
86 "</div>" \
87 "<div id='dotted_line'></div>";
89 char *tags_navs =
90 "<a href='?path=%s&action=tag&commit=%s'>tag</a> | " \
91 "<a href='?path=%s&action=briefs&commit=%s'>commit briefs</a> | " \
92 "<a href='?path=%s&action=commits&commit=%s'>commits</a>";
94 char *heads_row =
95 "<div id='heads_wrapper'>" \
96 "<div id='heads_age'>%s</div>" \
97 "<div id='head'>%s</div>" \
98 "</div>" \
99 "<div id='navs_wrapper'>" \
100 "<div id='navs'>%s</div>" \
101 "</div>" \
102 "</div>" \
103 "<div id='dotted_line'></div>";
105 char *heads_navs =
106 "<a href='?path=%s&action=summary&headref=%s'>summary</a> | " \
107 "<a href='?path=%s&action=briefs&headref=%s'>commit briefs</a> | " \
108 "<a href='?path=%s&action=commits&headref=%s'>commits</a>";
110 char *folder_html =
111 "<a href='?path=%s&action=%s&commit=%s&folder=%s' " \
112 "class='diff_directory'>%s%s</a>";
114 char *file_html =
115 "<a href='?path=%s&action=%s&commit=%s&file=%s&folder=%s'>%s%s</a>";
117 /* headers */
119 char *header_commit_html =
120 "<div id='header_commit_title'>Commit:</div>" \
121 "<div id='header_commit'>%s %s</div>";
123 char *header_age_html =
124 "<div id='header_age_title'>Date:</div>" \
125 "<div id='header_age'>%s</div>";
127 char *header_commit_msg_html =
128 "<div id='header_commit_msg_title'>Message:</div>" \
129 "<div id='header_commit_msg'>%s</div>";
131 /* blame.tmpl */
133 char *blame_wrapper =
134 "<div id='blame_title_wrapper'>" \
135 "<div id='blame_title'>Blame</div></div>" \
136 "<div id='blame_content'>%s</div>";
138 char *blame_header =
139 "<div id='blame_header_wrapper'>" \
140 "<div id='blame_header'>%s%s</div>" \
141 "</div>" \
142 "<div id='dotted_line'></div>" \
143 "<div id='blame'>%s</div>" \
144 "</div>";
146 char *blame_line =
147 "<div id='blame_wrapper'>" \
148 "<div id='blame_number'>%.*d</div>" \
149 "<div id='blame_hash'>" \
150 "<a href='?path=%s&action=diff&commit=%s&file=%s&folder=%s'>%.8s</a>" \
151 "</div>" \
152 "<div id='blame_date'>%s</div>" \
153 "<div id='blame_author'>%-8s</div>" \
154 "<div id='blame_code'>%s</div>" \
155 "</div>";
157 /* tree.tmpl */
159 char *tree_wrapper =
160 "<div id='tree_title_wrapper'>" \
161 "<div id='tree_title'>Tree</div></div>" \
162 "<div id='tree_content'>%s</div>";
164 char *tree_header =
165 "<div id='tree_header_wrapper'>" \
166 "<div id='tree_header'>%s%s</div>" \
167 "</div>" \
168 "<div id='dotted_line'></div>" \
169 "<div id='tree'>%s</div>" \
170 "</div>";
172 char *tree_line =
173 "<div id='tree_wrapper'>" \
174 "<div id='tree_line' class='%s'>%s</div>" \
175 "<div id='tree_line_blank' class='%s'>&nbsp;</div>" \
176 "</div>";
178 char *tree_line_with_navs =
179 "<div id='tree_wrapper'>" \
180 "<div id='tree_line' class='%s'>%s</div>" \
181 "<div id='tree_line_navs' class='%s'>" \
182 "<a href='?path=%s&action=%s&commit=%s&file=%s&folder=%s'>%s</a> | " \
183 "<a href='?path=%s&action=%s&commit=%s&file=%s&folder=%s'>%s</a>" \
184 "</div>" \
185 "</div>";
187 /* tag.tmpl */
189 char *tag_wrapper =
190 "<div id='tag_title_wrapper'>" \
191 "<div id='tag_title'>Tag</div></div>" \
192 "<div id='tag_content'>%s</div>";
194 char *tag_header =
195 "<div id='tag_header_wrapper'>" \
196 "<div id='tag_header'>%s%s</div>" \
197 "</div>" \
198 "<div id='dotted_line'></div>" \
199 "<div id='tag'>%s</div>" \
200 "</div>";
202 char *tag_line =
203 "<div id='tag_wrapper'>" \
204 "<div id='tag_line'>%s</div>" \
205 "</div>";
207 char *tag_info =
208 "<div id='tag_info_date_title'>Tag Date:</div>" \
209 "<div id='tag_info_date'>%s</div>" \
210 "<div id='tag_info_tagger_title'>Tagger:</div>" \
211 "<div id='tag_info_tagger'>%s</div>" \
212 "<div id='tag_info'>%s</div>";
214 /* index.tmpl */
216 char *index_projects_header =
217 "<div id='index_header'>" \
218 "<div id='index_header_project'>Project</div>" \
219 "<div id='index_header_description'>Description</div>" \
220 "<div id='index_header_owner'>Owner</div>" \
221 "<div id='index_header_age'>Last Change</div>" \
222 "</div>";
224 char *index_projects =
225 "<div id='index_wrapper'>" \
226 "<div id='index_project'>" \
227 "<a href='?path=%s&action=summary'>%s</a>" \
228 "</div>" \
229 "<div id='index_project_description'>%s</div>" \
230 "<div id='index_project_owner'>%s</div>" \
231 "<div id='index_project_age'>%s</div>" \
232 "<div id='navs_wrapper'>" \
233 "<div id='navs'>%s</div>" \
234 "</div>" \
235 "</div>" \
236 "<div id='dotted_line'></div>";
238 char *index_projects_empty =
239 "<div id='index_wrapper'>" \
240 "No repositories found in %s" \
241 "</div>" \
242 "<div id='dotted_line'></div>";
244 char *index_navs =
245 "<a href='?path=%s&action=summary'>summary</a> | " \
246 "<a href='?path=%s&action=briefs'>commit briefs</a> | " \
247 "<a href='?path=%s&action=commits'>commits</a> | " \
248 "<a href='?path=%s&action=tree'>tree</a>";
250 #endif /* GOTWEB_UI_H */