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 *site_owner =
50 "<div id='site_owner_wrapper'><div id='site_owner'>%s</div></div>";
52 char *search =
53 "<!--/* <div id='search'>" \
54 "<form method='POST'>" \
55 "<input type='search' id='got-search' name='got-search' size='15'" \
56 " maxlength='50' />" \
57 "<button>Search</button>" \
58 "</form>" \
59 "</div> */-->";
61 char *np_wrapper_start =
62 "<div id='np_wrapper'>" \
63 "<div id='nav_prev'>";
65 char *div_diff_line =
66 "<div id='diff_line' class='%s'>";
68 char *div_end =
69 "</div>";
71 char *nav_next =
72 "<div id='nav_next'>" \
73 "<a href='?page=%d'>Next<a/>" \
74 "</div>";
76 char *nav_prev =
77 "<a href='?page=%d'>Previous<a/>";
79 char *description =
80 "<div id='description_title'>Description: </div>" \
81 "<div id='description'>%s</div>";
83 char *repo_owner =
84 "<div id='repo_owner_title'>Owner: </div>" \
85 "<div id='repo_owner'>%s</div>";
87 char *last_change =
88 "<div id='last_change_title'>Last Change: </div>" \
89 "<div id='last_change'>%s</div>";
91 char *cloneurl =
92 "<div id='cloneurl_title'>Clone URL: </div>" \
93 "<div id='cloneurl'>%s</div>";
95 char *tags_row =
96 "<div id='tags_wrapper'>" \
97 "<div id='tags_age'>%s</div>" \
98 "<div id='tags'>tag %s</div>" \
99 "<div id='tags_name'>%s</div>" \
100 "</div>" \
101 "<div id='navs_wrapper'>" \
102 "<div id='navs'>%s</div>" \
103 "</div>" \
104 "</div>" \
105 "<div id='dotted_line'></div>";
107 char *tags_navs =
108 "<a href='?path=%s&action=tag&commit=%s'>tag</a> | " \
109 "<a href='?path=%s&action=briefs&commit=%s'>commit briefs</a> | " \
110 "<a href='?path=%s&action=commits&commit=%s'>commits</a>";
112 char *heads_row =
113 "<div id='heads_wrapper'>" \
114 "<div id='heads_age'>%s</div>" \
115 "<div id='head'>%s</div>" \
116 "</div>" \
117 "<div id='navs_wrapper'>" \
118 "<div id='navs'>%s</div>" \
119 "</div>" \
120 "</div>" \
121 "<div id='dotted_line'></div>";
123 char *heads_navs =
124 "<a href='?path=%s&action=summary&headref=%s'>summary</a> | " \
125 "<a href='?path=%s&action=briefs&headref=%s'>commit briefs</a> | " \
126 "<a href='?path=%s&action=commits&headref=%s'>commits</a>";
128 char *folder_html =
129 "<a href='?path=%s&action=%s&commit=%s&folder=/%s' " \
130 "class='diff_directory'>%s%s</a>";
132 char *file_html =
133 "<a href='?path=%s&action=%s&commit=%s&file=%s&folder=/%s'>%s%s</a>";
135 /* headers */
137 char *header_commit_html =
138 "<div id='header_commit_title'>Commit:</div>" \
139 "<div id='header_commit'>%s %s</div>";
141 char *header_diff_html =
142 "<div id='header_diff_title'>Diff:</div>" \
143 "<div id='header_diff'>%s %s</div>";
145 char *header_author_html =
146 "<div id='header_author_title'>Author:</div>" \
147 "<div id='header_author'>%s</div>";
149 char *header_committer_html =
150 "<div id='header_committer_title'>Committer:</div>" \
151 "<div id='header_committer'>%s</div>";
153 char *header_age_html =
154 "<div id='header_age_title'>Date:</div>" \
155 "<div id='header_age'>%s</div>";
157 char *header_commit_msg_html =
158 "<div id='header_commit_msg_title'>Message:</div>" \
159 "<div id='header_commit_msg'>%s</div>";
161 char *header_tree_html =
162 "<div id='header_tree_title'>Tree:</div>" \
163 "<div id='header_tree'>%s</div>";
165 /* commit.tmpl */
167 char *commits_wrapper =
168 "<div id='commits_title_wrapper'>" \
169 "<div id='commits_title'>Commits</div></div>" \
170 "<div id='commits_content'>";
172 char *commits_line =
173 "<div id='commits_line_wrapper'>%s%s%s%s</div>" \
174 "<div id='dotted_line'></div>" \
175 "<div id='commit'>%s</div>" \
176 "<div id='navs_wrapper'>" \
177 "<div id='navs'>%s</div>" \
178 "</div>" \
179 "</div>" \
180 "<div id='solid_line'></div>";
182 char *commits_navs =
183 "<a href='?path=%s&action=diff&commit=%s'>diff</a> | " \
184 "<a href='?path=%s&action=tree&commit=%s'>tree</a><!--/* | " \
185 "<a href='?path=%s&action=snapshot&commit=%s'>snapshot</a> */-->";
187 /* briefs.tmpl */
189 char *briefs_wrapper =
190 "<div id='briefs_title_wrapper'>" \
191 "<div id='briefs_title'>Commit Briefs</div></div>" \
192 "<div id='briefs_content'>";
194 char *briefs_line =
195 "<div id='briefs_wrapper'>" \
196 "<div id='briefs_age'>%s</div>" \
197 "<div id='briefs_author'>%s</div>" \
198 "<div id='briefs_log'>%s</div>" \
199 "</div>" \
200 "<div id='navs_wrapper'>" \
201 "<div id='navs'>%s</div>" \
202 "</div>" \
203 "</div>" \
204 "<div id='dotted_line'></div>";
206 char *briefs_navs =
207 "<a href='?path=%s&action=diff&commit=%s'>diff</a> | " \
208 "<a href='?path=%s&action=tree&commit=%s'>tree</a><!--/* | " \
209 "<a href='?path=%s&action=snapshot&commit=%s'>snapshot</a> */-->";
211 /* blame.tmpl */
213 char *blame_wrapper =
214 "<div id='blame_title_wrapper'>" \
215 "<div id='blame_title'>Blame</div></div>" \
216 "<div id='blame_content'>%s</div>";
218 char *blame_header =
219 "<div id='blame_header_wrapper'>" \
220 "<div id='blame_header'>%s%s</div>" \
221 "</div>" \
222 "<div id='dotted_line'></div>" \
223 "<div id='blame'>%s</div>" \
224 "</div>";
226 char *blame_line =
227 "<div id='blame_wrapper'>" \
228 "<div id='blame_number'>%.*d</div>" \
229 "<div id='blame_hash'>%.8s</div>" \
230 "<div id='blame_date'>%s</div>" \
231 "<div id='blame_author'>%-8s</div>" \
232 "<div id='blame_code'>%s</div>" \
233 "</div>";
235 /* tree.tmpl */
237 char *tree_wrapper =
238 "<div id='tree_title_wrapper'>" \
239 "<div id='tree_title'>Tree</div></div>" \
240 "<div id='tree_content'>%s</div>";
242 char *tree_header =
243 "<div id='tree_header_wrapper'>" \
244 "<div id='tree_header'>%s%s</div>" \
245 "</div>" \
246 "<div id='dotted_line'></div>" \
247 "<div id='tree'>%s</div>" \
248 "</div>";
250 char *tree_line =
251 "<div id='tree_wrapper'>" \
252 "<div id='tree_line'>%s</div>" \
253 "</div>";
255 /* tag.tmpl */
257 char *tag_wrapper =
258 "<div id='tag_title_wrapper'>" \
259 "<div id='tag_title'>Tag</div></div>" \
260 "<div id='tag_content'>%s</div>";
262 char *tag_header =
263 "<div id='tag_header_wrapper'>" \
264 "<div id='tag_header'>%s%s</div>" \
265 "</div>" \
266 "<div id='dotted_line'></div>" \
267 "<div id='tag'>%s</div>" \
268 "</div>";
270 char *tag_line =
271 "<div id='tag_wrapper'>" \
272 "<div id='tag_line'>%s</div>" \
273 "</div>";
275 char *tag_info =
276 "<div id='tag_info_date_title'>Tag Date:</div>" \
277 "<div id='tag_info_date'>%s</div>" \
278 "<div id='tag_info_tagger_title'>Tagger:</div>" \
279 "<div id='tag_info_tagger'>%s</div>" \
280 "<div id='tag_info'>%s</div>";
282 /* diff.tmpl */
284 char *diff_wrapper =
285 "<div id='diff_title_wrapper'>" \
286 "<div id='diff_title'>Commit Diff</div></div>" \
287 "<div id='diff_content'>%s</div>";
289 char *diff_header =
290 "<div id='diff_header_wrapper'>" \
291 "<div id='diff_header'>%s%s%s%s%s%s%s</div>" \
292 "</div>" \
293 "<div id='dotted_line'></div>" \
294 "<div id='diff'>%s</div>" \
295 "</div>";
297 /* index.tmpl */
299 char *index_projects_header =
300 "<div id='index_header'>" \
301 "<div id='index_header_project'>Project</div>" \
302 "<div id='index_header_description'>Description</div>" \
303 "<div id='index_header_owner'>Owner</div>" \
304 "<div id='index_header_age'>Last Change</div>" \
305 "</div>";
307 char *index_projects =
308 "<div id='index_wrapper'>" \
309 "<div id='index_project'>" \
310 "<a href='?path=%s&action=summary'>%s</a>" \
311 "</div>" \
312 "<div id='index_project_description'>%s</div>" \
313 "<div id='index_project_owner'>%s</div>" \
314 "<div id='index_project_age'>%s</div>" \
315 "<div id='navs_wrapper'>" \
316 "<div id='navs'>%s</div>" \
317 "</div>" \
318 "</div>" \
319 "<div id='dotted_line'></div>";
321 char *index_projects_empty =
322 "<div id='index_wrapper'>" \
323 "No repositories found in %s" \
324 "</div>" \
325 "<div id='dotted_line'></div>";
327 char *index_navs =
328 "<a href='?path=%s&action=summary'>summary</a> | " \
329 "<a href='?path=%s&action=briefs'>commit briefs</a> | " \
330 "<a href='?path=%s&action=commits'>commits</a> | " \
331 "<a href='?path=%s&action=tree'>tree</a>";
333 /* summary.tmpl */
335 char *summary_wrapper =
336 "<div id='summary_wrapper'>";
338 char *summary_tags =
339 "<div id='summary_tags_title_wrapper'>" \
340 "<div id='summary_tags_title'>Tags</div></div>" \
341 "<div id='summary_tags_content'>%s</div>";
343 char *summary_heads =
344 "<div id='summary_heads_title_wrapper'>" \
345 "<div id='summary_heads_title'>Heads</div></div>" \
346 "<div id='summary_heads_content'>%s</div>";
348 #endif /* GOTWEB_UI_H */