Fossil SCM

file timeline/attach pages HTML-validated

wolfgang 2010-09-12 10:42 wolfgangFormat2CSS
Commit cd2f91d31a595c8b7e19e76e39b5f6d795ae22c2
+7 -7
--- src/finfo.c
+++ src/finfo.c
@@ -136,11 +136,11 @@
136136
hyperlinked_path(zFilename, &title);
137137
@ <h2>%b(&title)</h2>
138138
blob_reset(&title);
139139
pGraph = graph_init();
140140
@ <div id="canvas" style="position:relative;width:1px;height:1px;"></div>
141
- @ <table cellspacing=0 border=0 cellpadding=0>
141
+ @ <table class="timelineTable">
142142
while( db_step(&q)==SQLITE_ROW ){
143143
const char *zDate = db_column_text(&q, 0);
144144
const char *zCom = db_column_text(&q, 1);
145145
const char *zUser = db_column_text(&q, 2);
146146
int fpid = db_column_int(&q, 3);
@@ -162,17 +162,17 @@
162162
@ <div class="divider">%s(zPrevDate)</div>
163163
@ </td></tr>
164164
}
165165
memcpy(zTime, &zDate[11], 5);
166166
zTime[5] = 0;
167
- @ <tr><td valign="top" align="right">
167
+ @ <tr><td class="timelineTime">
168168
@ <a href="%s(g.zTop)/timeline?c=%t(zDate)">%s(zTime)</a></td>
169
- @ <td width="20" align="left" valign="top"><div id="m%d(gidx)"></div></td>
169
+ @ <td class="timelineGraph"><div id="m%d(gidx)"></div></td>
170170
if( zBgClr && zBgClr[0] ){
171
- @ <td valign="top" align="left" bgcolor="%h(zBgClr)">
171
+ @ <td class="timelineTableCell" style="background-color: %h(zBgClr);">
172172
}else{
173
- @ <td valign="top" align="left">
173
+ @ <td class="timelineTableCell">
174174
}
175175
sqlite3_snprintf(sizeof(zShort), zShort, "%.10s", zUuid);
176176
sqlite3_snprintf(sizeof(zShortCkin), zShortCkin, "%.10s", zCkin);
177177
if( zUuid ){
178178
if( g.okHistory ){
@@ -193,21 +193,21 @@
193193
@ <a href="%s(g.zTop)/fdiff?v1=%s(zPUuid)&amp;v2=%s(zUuid)">[diff]</a>
194194
}
195195
@ <a href="%s(g.zTop)/annotate?checkin=%S(zCkin)&amp;filename=%h(zFilename)">
196196
@ [annotate]</a>
197197
}
198
- @ </td>
198
+ @ </td></tr>
199199
}
200200
db_finalize(&q);
201201
if( pGraph ){
202202
graph_finish(pGraph, 1);
203203
if( pGraph->nErr ){
204204
graph_free(pGraph);
205205
pGraph = 0;
206206
}else{
207
- @ <tr><td><td><div style="width:%d(pGraph->mxRail*20+30)px;"></div>
207
+ @ <tr><td></td><td><div style="width:%d(pGraph->mxRail*20+30)px;"></div></td></tr>
208208
}
209209
}
210210
@ </table>
211211
timeline_output_graph_javascript(pGraph);
212212
style_footer();
213213
}
214214
--- src/finfo.c
+++ src/finfo.c
@@ -136,11 +136,11 @@
136 hyperlinked_path(zFilename, &title);
137 @ <h2>%b(&title)</h2>
138 blob_reset(&title);
139 pGraph = graph_init();
140 @ <div id="canvas" style="position:relative;width:1px;height:1px;"></div>
141 @ <table cellspacing=0 border=0 cellpadding=0>
142 while( db_step(&q)==SQLITE_ROW ){
143 const char *zDate = db_column_text(&q, 0);
144 const char *zCom = db_column_text(&q, 1);
145 const char *zUser = db_column_text(&q, 2);
146 int fpid = db_column_int(&q, 3);
@@ -162,17 +162,17 @@
162 @ <div class="divider">%s(zPrevDate)</div>
163 @ </td></tr>
164 }
165 memcpy(zTime, &zDate[11], 5);
166 zTime[5] = 0;
167 @ <tr><td valign="top" align="right">
168 @ <a href="%s(g.zTop)/timeline?c=%t(zDate)">%s(zTime)</a></td>
169 @ <td width="20" align="left" valign="top"><div id="m%d(gidx)"></div></td>
170 if( zBgClr && zBgClr[0] ){
171 @ <td valign="top" align="left" bgcolor="%h(zBgClr)">
172 }else{
173 @ <td valign="top" align="left">
174 }
175 sqlite3_snprintf(sizeof(zShort), zShort, "%.10s", zUuid);
176 sqlite3_snprintf(sizeof(zShortCkin), zShortCkin, "%.10s", zCkin);
177 if( zUuid ){
178 if( g.okHistory ){
@@ -193,21 +193,21 @@
193 @ <a href="%s(g.zTop)/fdiff?v1=%s(zPUuid)&amp;v2=%s(zUuid)">[diff]</a>
194 }
195 @ <a href="%s(g.zTop)/annotate?checkin=%S(zCkin)&amp;filename=%h(zFilename)">
196 @ [annotate]</a>
197 }
198 @ </td>
199 }
200 db_finalize(&q);
201 if( pGraph ){
202 graph_finish(pGraph, 1);
203 if( pGraph->nErr ){
204 graph_free(pGraph);
205 pGraph = 0;
206 }else{
207 @ <tr><td><td><div style="width:%d(pGraph->mxRail*20+30)px;"></div>
208 }
209 }
210 @ </table>
211 timeline_output_graph_javascript(pGraph);
212 style_footer();
213 }
214
--- src/finfo.c
+++ src/finfo.c
@@ -136,11 +136,11 @@
136 hyperlinked_path(zFilename, &title);
137 @ <h2>%b(&title)</h2>
138 blob_reset(&title);
139 pGraph = graph_init();
140 @ <div id="canvas" style="position:relative;width:1px;height:1px;"></div>
141 @ <table class="timelineTable">
142 while( db_step(&q)==SQLITE_ROW ){
143 const char *zDate = db_column_text(&q, 0);
144 const char *zCom = db_column_text(&q, 1);
145 const char *zUser = db_column_text(&q, 2);
146 int fpid = db_column_int(&q, 3);
@@ -162,17 +162,17 @@
162 @ <div class="divider">%s(zPrevDate)</div>
163 @ </td></tr>
164 }
165 memcpy(zTime, &zDate[11], 5);
166 zTime[5] = 0;
167 @ <tr><td class="timelineTime">
168 @ <a href="%s(g.zTop)/timeline?c=%t(zDate)">%s(zTime)</a></td>
169 @ <td class="timelineGraph"><div id="m%d(gidx)"></div></td>
170 if( zBgClr && zBgClr[0] ){
171 @ <td class="timelineTableCell" style="background-color: %h(zBgClr);">
172 }else{
173 @ <td class="timelineTableCell">
174 }
175 sqlite3_snprintf(sizeof(zShort), zShort, "%.10s", zUuid);
176 sqlite3_snprintf(sizeof(zShortCkin), zShortCkin, "%.10s", zCkin);
177 if( zUuid ){
178 if( g.okHistory ){
@@ -193,21 +193,21 @@
193 @ <a href="%s(g.zTop)/fdiff?v1=%s(zPUuid)&amp;v2=%s(zUuid)">[diff]</a>
194 }
195 @ <a href="%s(g.zTop)/annotate?checkin=%S(zCkin)&amp;filename=%h(zFilename)">
196 @ [annotate]</a>
197 }
198 @ </td></tr>
199 }
200 db_finalize(&q);
201 if( pGraph ){
202 graph_finish(pGraph, 1);
203 if( pGraph->nErr ){
204 graph_free(pGraph);
205 pGraph = 0;
206 }else{
207 @ <tr><td></td><td><div style="width:%d(pGraph->mxRail*20+30)px;"></div></td></tr>
208 }
209 }
210 @ </table>
211 timeline_output_graph_javascript(pGraph);
212 style_footer();
213 }
214
+14 -12
--- src/info.c
+++ src/info.c
@@ -222,10 +222,11 @@
222222
}
223223
hyperlink_to_uuid(zSrcUuid);
224224
@ on
225225
hyperlink_to_date(zDate,0);
226226
}
227
+ @ </li>
227228
}
228229
db_finalize(&q);
229230
if( cnt ){
230231
@ </ul>
231232
}
@@ -276,18 +277,19 @@
276277
@ <p>Modified <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
277278
@ from <a href="%s(g.zTop)/artifact/%s(zOld)">[%S(zOld)]</a>
278279
@ to <a href="%s(g.zTop)/artifact/%s(zNew)">[%S(zNew)].</a>
279280
if( !showDiff ){
280281
@ &nbsp;&nbsp;
281
- @ <a href="%s(g.zTop)/fdiff?v1=%S(zOld)&v2=%S(zNew)">[diff]</a>
282
+ @ <a href="%s(g.zTop)/fdiff?v1=%S(zOld)&amp;v2=%S(zNew)">[diff]</a>
282283
}else{
283284
int rid1 = uuid_to_rid(zOld, 0);
284285
int rid2 = uuid_to_rid(zNew, 0);
285286
@ <blockquote><pre>
286287
append_diff(rid1, rid2);
287288
@ </pre></blockquote>
288289
}
290
+ @ </p>
289291
}else if( zOld ){
290292
@ <p>Deleted <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
291293
@ version <a href="%s(g.zTop)/artifact/%s(zOld)">[%S(zOld)]</a></p>
292294
}else{
293295
@ <p>Added <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
@@ -354,11 +356,11 @@
354356
TAG_COMMENT, rid);
355357
zUser = db_column_text(&q, 2);
356358
zComment = db_column_text(&q, 3);
357359
zDate = db_column_text(&q,1);
358360
@ <div class="section">Overview</div>
359
- @ <p><table class="label-value">
361
+ @ <table class="label-value">
360362
@ <tr><th>SHA1&nbsp;Hash:</th><td>%s(zUuid)
361363
if( g.okSetup ){
362364
@ (Record ID: %d(rid))
363365
}
364366
@ </td></tr>
@@ -399,11 +401,11 @@
399401
if( g.okHistory ){
400402
const char *zProjName = db_get("project-name", "unnamed");
401403
@ <tr><th>Timelines:</th><td>
402404
@ <a href="%s(g.zBaseURL)/timeline?p=%S(zUuid)">ancestors</a>
403405
@ | <a href="%s(g.zBaseURL)/timeline?d=%S(zUuid)">descendants</a>
404
- @ | <a href="%s(g.zBaseURL)/timeline?d=%S(zUuid)&p=%S(zUuid)">both</a>
406
+ @ | <a href="%s(g.zBaseURL)/timeline?d=%S(zUuid)&amp;p=%S(zUuid)">both</a>
405407
db_prepare(&q, "SELECT substr(tag.tagname,5) FROM tagxref, tag "
406408
" WHERE rid=%d AND tagtype>0 "
407409
" AND tag.tagid=tagxref.tagid "
408410
" AND +tag.tagname GLOB 'sym-*'", rid);
409411
while( db_step(&q)==SQLITE_ROW ){
@@ -424,11 +426,11 @@
424426
@ | <a href="%s(g.zTop)/ci_edit?r=%S(zUuid)">edit</a>
425427
}
426428
@ </td>
427429
@ </tr>
428430
}
429
- @ </table></p>
431
+ @ </table>
430432
}else{
431433
style_header("Check-in Information");
432434
login_anonymous_available();
433435
}
434436
db_finalize(&q);
@@ -880,17 +882,17 @@
880882
v1 = name_to_rid_www("v1");
881883
v2 = name_to_rid_www("v2");
882884
if( v1==0 || v2==0 ) fossil_redirect_home();
883885
style_header("Diff");
884886
@ <h2>Differences From:</h2>
885
- @ <blockquote>
887
+ @ <blockquote><p>
886888
object_description(v1, 1, 0);
887
- @ </blockquote>
889
+ @ </p></blockquote>
888890
@ <h2>To:</h2>
889
- @ <blockquote>
891
+ @ <blockquote><p>
890892
object_description(v2, 1, 0);
891
- @ </blockquote>
893
+ @ </p></blockquote>
892894
@ <hr />
893895
@ <blockquote><pre>
894896
content_get(v1, &c1);
895897
content_get(v2, &c2);
896898
blob_zero(&diff);
@@ -1004,16 +1006,16 @@
10041006
}
10051007
}
10061008
style_header("Hex Artifact Content");
10071009
zUuid = db_text("?","SELECT uuid FROM blob WHERE rid=%d", rid);
10081010
@ <h2>Artifact %s(zUuid):</h2>
1009
- @ <blockquote>
1011
+ @ <blockquote><p>
10101012
blob_zero(&downloadName);
10111013
object_description(rid, 0, &downloadName);
10121014
style_submenu_element("Download", "Download",
10131015
"%s/raw/%T?name=%s", g.zTop, blob_str(&downloadName), zUuid);
1014
- @ </blockquote>
1016
+ @ </p></blockquote>
10151017
@ <hr />
10161018
content_get(rid, &content);
10171019
@ <blockquote><pre>
10181020
hexdump(&content);
10191021
@ </pre></blockquote>
@@ -1086,11 +1088,11 @@
10861088
}
10871089
}
10881090
style_header("Artifact Content");
10891091
zUuid = db_text("?", "SELECT uuid FROM blob WHERE rid=%d", rid);
10901092
@ <h2>Artifact %s(zUuid)</h2>
1091
- @ <blockquote>
1093
+ @ <blockquote><p>
10921094
blob_zero(&downloadName);
10931095
object_description(rid, 0, &downloadName);
10941096
style_submenu_element("Download", "Download",
10951097
"%s/raw/%T?name=%s", g.zTop, blob_str(&downloadName), zUuid);
10961098
zMime = mimetype_from_name(blob_str(&downloadName));
@@ -1113,11 +1115,11 @@
11131115
style_submenu_element("Text", "Text",
11141116
"%s/artifact?name=%s&txt=1", g.zTop, zUuid);
11151117
}
11161118
}
11171119
}
1118
- @ </blockquote>
1120
+ @ </p></blockquote>
11191121
@ <hr />
11201122
content_get(rid, &content);
11211123
if( renderAsWiki ){
11221124
wiki_convert(&content, 0, 0);
11231125
}else if( renderAsHtml ){
11241126
--- src/info.c
+++ src/info.c
@@ -222,10 +222,11 @@
222 }
223 hyperlink_to_uuid(zSrcUuid);
224 @ on
225 hyperlink_to_date(zDate,0);
226 }
 
227 }
228 db_finalize(&q);
229 if( cnt ){
230 @ </ul>
231 }
@@ -276,18 +277,19 @@
276 @ <p>Modified <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
277 @ from <a href="%s(g.zTop)/artifact/%s(zOld)">[%S(zOld)]</a>
278 @ to <a href="%s(g.zTop)/artifact/%s(zNew)">[%S(zNew)].</a>
279 if( !showDiff ){
280 @ &nbsp;&nbsp;
281 @ <a href="%s(g.zTop)/fdiff?v1=%S(zOld)&v2=%S(zNew)">[diff]</a>
282 }else{
283 int rid1 = uuid_to_rid(zOld, 0);
284 int rid2 = uuid_to_rid(zNew, 0);
285 @ <blockquote><pre>
286 append_diff(rid1, rid2);
287 @ </pre></blockquote>
288 }
 
289 }else if( zOld ){
290 @ <p>Deleted <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
291 @ version <a href="%s(g.zTop)/artifact/%s(zOld)">[%S(zOld)]</a></p>
292 }else{
293 @ <p>Added <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
@@ -354,11 +356,11 @@
354 TAG_COMMENT, rid);
355 zUser = db_column_text(&q, 2);
356 zComment = db_column_text(&q, 3);
357 zDate = db_column_text(&q,1);
358 @ <div class="section">Overview</div>
359 @ <p><table class="label-value">
360 @ <tr><th>SHA1&nbsp;Hash:</th><td>%s(zUuid)
361 if( g.okSetup ){
362 @ (Record ID: %d(rid))
363 }
364 @ </td></tr>
@@ -399,11 +401,11 @@
399 if( g.okHistory ){
400 const char *zProjName = db_get("project-name", "unnamed");
401 @ <tr><th>Timelines:</th><td>
402 @ <a href="%s(g.zBaseURL)/timeline?p=%S(zUuid)">ancestors</a>
403 @ | <a href="%s(g.zBaseURL)/timeline?d=%S(zUuid)">descendants</a>
404 @ | <a href="%s(g.zBaseURL)/timeline?d=%S(zUuid)&p=%S(zUuid)">both</a>
405 db_prepare(&q, "SELECT substr(tag.tagname,5) FROM tagxref, tag "
406 " WHERE rid=%d AND tagtype>0 "
407 " AND tag.tagid=tagxref.tagid "
408 " AND +tag.tagname GLOB 'sym-*'", rid);
409 while( db_step(&q)==SQLITE_ROW ){
@@ -424,11 +426,11 @@
424 @ | <a href="%s(g.zTop)/ci_edit?r=%S(zUuid)">edit</a>
425 }
426 @ </td>
427 @ </tr>
428 }
429 @ </table></p>
430 }else{
431 style_header("Check-in Information");
432 login_anonymous_available();
433 }
434 db_finalize(&q);
@@ -880,17 +882,17 @@
880 v1 = name_to_rid_www("v1");
881 v2 = name_to_rid_www("v2");
882 if( v1==0 || v2==0 ) fossil_redirect_home();
883 style_header("Diff");
884 @ <h2>Differences From:</h2>
885 @ <blockquote>
886 object_description(v1, 1, 0);
887 @ </blockquote>
888 @ <h2>To:</h2>
889 @ <blockquote>
890 object_description(v2, 1, 0);
891 @ </blockquote>
892 @ <hr />
893 @ <blockquote><pre>
894 content_get(v1, &c1);
895 content_get(v2, &c2);
896 blob_zero(&diff);
@@ -1004,16 +1006,16 @@
1004 }
1005 }
1006 style_header("Hex Artifact Content");
1007 zUuid = db_text("?","SELECT uuid FROM blob WHERE rid=%d", rid);
1008 @ <h2>Artifact %s(zUuid):</h2>
1009 @ <blockquote>
1010 blob_zero(&downloadName);
1011 object_description(rid, 0, &downloadName);
1012 style_submenu_element("Download", "Download",
1013 "%s/raw/%T?name=%s", g.zTop, blob_str(&downloadName), zUuid);
1014 @ </blockquote>
1015 @ <hr />
1016 content_get(rid, &content);
1017 @ <blockquote><pre>
1018 hexdump(&content);
1019 @ </pre></blockquote>
@@ -1086,11 +1088,11 @@
1086 }
1087 }
1088 style_header("Artifact Content");
1089 zUuid = db_text("?", "SELECT uuid FROM blob WHERE rid=%d", rid);
1090 @ <h2>Artifact %s(zUuid)</h2>
1091 @ <blockquote>
1092 blob_zero(&downloadName);
1093 object_description(rid, 0, &downloadName);
1094 style_submenu_element("Download", "Download",
1095 "%s/raw/%T?name=%s", g.zTop, blob_str(&downloadName), zUuid);
1096 zMime = mimetype_from_name(blob_str(&downloadName));
@@ -1113,11 +1115,11 @@
1113 style_submenu_element("Text", "Text",
1114 "%s/artifact?name=%s&txt=1", g.zTop, zUuid);
1115 }
1116 }
1117 }
1118 @ </blockquote>
1119 @ <hr />
1120 content_get(rid, &content);
1121 if( renderAsWiki ){
1122 wiki_convert(&content, 0, 0);
1123 }else if( renderAsHtml ){
1124
--- src/info.c
+++ src/info.c
@@ -222,10 +222,11 @@
222 }
223 hyperlink_to_uuid(zSrcUuid);
224 @ on
225 hyperlink_to_date(zDate,0);
226 }
227 @ </li>
228 }
229 db_finalize(&q);
230 if( cnt ){
231 @ </ul>
232 }
@@ -276,18 +277,19 @@
277 @ <p>Modified <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
278 @ from <a href="%s(g.zTop)/artifact/%s(zOld)">[%S(zOld)]</a>
279 @ to <a href="%s(g.zTop)/artifact/%s(zNew)">[%S(zNew)].</a>
280 if( !showDiff ){
281 @ &nbsp;&nbsp;
282 @ <a href="%s(g.zTop)/fdiff?v1=%S(zOld)&amp;v2=%S(zNew)">[diff]</a>
283 }else{
284 int rid1 = uuid_to_rid(zOld, 0);
285 int rid2 = uuid_to_rid(zNew, 0);
286 @ <blockquote><pre>
287 append_diff(rid1, rid2);
288 @ </pre></blockquote>
289 }
290 @ </p>
291 }else if( zOld ){
292 @ <p>Deleted <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
293 @ version <a href="%s(g.zTop)/artifact/%s(zOld)">[%S(zOld)]</a></p>
294 }else{
295 @ <p>Added <a href="%s(g.zTop)/finfo?name=%T(zName)">%h(zName)</a>
@@ -354,11 +356,11 @@
356 TAG_COMMENT, rid);
357 zUser = db_column_text(&q, 2);
358 zComment = db_column_text(&q, 3);
359 zDate = db_column_text(&q,1);
360 @ <div class="section">Overview</div>
361 @ <table class="label-value">
362 @ <tr><th>SHA1&nbsp;Hash:</th><td>%s(zUuid)
363 if( g.okSetup ){
364 @ (Record ID: %d(rid))
365 }
366 @ </td></tr>
@@ -399,11 +401,11 @@
401 if( g.okHistory ){
402 const char *zProjName = db_get("project-name", "unnamed");
403 @ <tr><th>Timelines:</th><td>
404 @ <a href="%s(g.zBaseURL)/timeline?p=%S(zUuid)">ancestors</a>
405 @ | <a href="%s(g.zBaseURL)/timeline?d=%S(zUuid)">descendants</a>
406 @ | <a href="%s(g.zBaseURL)/timeline?d=%S(zUuid)&amp;p=%S(zUuid)">both</a>
407 db_prepare(&q, "SELECT substr(tag.tagname,5) FROM tagxref, tag "
408 " WHERE rid=%d AND tagtype>0 "
409 " AND tag.tagid=tagxref.tagid "
410 " AND +tag.tagname GLOB 'sym-*'", rid);
411 while( db_step(&q)==SQLITE_ROW ){
@@ -424,11 +426,11 @@
426 @ | <a href="%s(g.zTop)/ci_edit?r=%S(zUuid)">edit</a>
427 }
428 @ </td>
429 @ </tr>
430 }
431 @ </table>
432 }else{
433 style_header("Check-in Information");
434 login_anonymous_available();
435 }
436 db_finalize(&q);
@@ -880,17 +882,17 @@
882 v1 = name_to_rid_www("v1");
883 v2 = name_to_rid_www("v2");
884 if( v1==0 || v2==0 ) fossil_redirect_home();
885 style_header("Diff");
886 @ <h2>Differences From:</h2>
887 @ <blockquote><p>
888 object_description(v1, 1, 0);
889 @ </p></blockquote>
890 @ <h2>To:</h2>
891 @ <blockquote><p>
892 object_description(v2, 1, 0);
893 @ </p></blockquote>
894 @ <hr />
895 @ <blockquote><pre>
896 content_get(v1, &c1);
897 content_get(v2, &c2);
898 blob_zero(&diff);
@@ -1004,16 +1006,16 @@
1006 }
1007 }
1008 style_header("Hex Artifact Content");
1009 zUuid = db_text("?","SELECT uuid FROM blob WHERE rid=%d", rid);
1010 @ <h2>Artifact %s(zUuid):</h2>
1011 @ <blockquote><p>
1012 blob_zero(&downloadName);
1013 object_description(rid, 0, &downloadName);
1014 style_submenu_element("Download", "Download",
1015 "%s/raw/%T?name=%s", g.zTop, blob_str(&downloadName), zUuid);
1016 @ </p></blockquote>
1017 @ <hr />
1018 content_get(rid, &content);
1019 @ <blockquote><pre>
1020 hexdump(&content);
1021 @ </pre></blockquote>
@@ -1086,11 +1088,11 @@
1088 }
1089 }
1090 style_header("Artifact Content");
1091 zUuid = db_text("?", "SELECT uuid FROM blob WHERE rid=%d", rid);
1092 @ <h2>Artifact %s(zUuid)</h2>
1093 @ <blockquote><p>
1094 blob_zero(&downloadName);
1095 object_description(rid, 0, &downloadName);
1096 style_submenu_element("Download", "Download",
1097 "%s/raw/%T?name=%s", g.zTop, blob_str(&downloadName), zUuid);
1098 zMime = mimetype_from_name(blob_str(&downloadName));
@@ -1113,11 +1115,11 @@
1115 style_submenu_element("Text", "Text",
1116 "%s/artifact?name=%s&txt=1", g.zTop, zUuid);
1117 }
1118 }
1119 }
1120 @ </p></blockquote>
1121 @ <hr />
1122 content_get(rid, &content);
1123 if( renderAsWiki ){
1124 wiki_convert(&content, 0, 0);
1125 }else if( renderAsHtml ){
1126
+2 -2
--- src/report.c
+++ src/report.c
@@ -277,13 +277,13 @@
277277
zSQL = db_column_text(&q, 1);
278278
zOwner = db_column_text(&q, 2);
279279
zClrKey = db_column_text(&q, 3);
280280
@ <table cellpadding=0 cellspacing=0 border=0>
281281
@ <tr><td valign="top" align="right">Title:</td><td width=15></td>
282
- @ <td colspan=3>%h(zTitle)</td></tr>
282
+ @ <td colspan="3">%h(zTitle)</td></tr>
283283
@ <tr><td valign="top" align="right">Owner:</td><td></td>
284
- @ <td colspan=3>%h(zOwner)</td></tr>
284
+ @ <td colspan="3">%h(zOwner)</td></tr>
285285
@ <tr><td valign="top" align="right">SQL:</td><td></td>
286286
@ <td valign="top"><pre>
287287
@ %h(zSQL)
288288
@ </pre></td>
289289
@ <td width=15></td><td valign="top">
290290
--- src/report.c
+++ src/report.c
@@ -277,13 +277,13 @@
277 zSQL = db_column_text(&q, 1);
278 zOwner = db_column_text(&q, 2);
279 zClrKey = db_column_text(&q, 3);
280 @ <table cellpadding=0 cellspacing=0 border=0>
281 @ <tr><td valign="top" align="right">Title:</td><td width=15></td>
282 @ <td colspan=3>%h(zTitle)</td></tr>
283 @ <tr><td valign="top" align="right">Owner:</td><td></td>
284 @ <td colspan=3>%h(zOwner)</td></tr>
285 @ <tr><td valign="top" align="right">SQL:</td><td></td>
286 @ <td valign="top"><pre>
287 @ %h(zSQL)
288 @ </pre></td>
289 @ <td width=15></td><td valign="top">
290
--- src/report.c
+++ src/report.c
@@ -277,13 +277,13 @@
277 zSQL = db_column_text(&q, 1);
278 zOwner = db_column_text(&q, 2);
279 zClrKey = db_column_text(&q, 3);
280 @ <table cellpadding=0 cellspacing=0 border=0>
281 @ <tr><td valign="top" align="right">Title:</td><td width=15></td>
282 @ <td colspan="3">%h(zTitle)</td></tr>
283 @ <tr><td valign="top" align="right">Owner:</td><td></td>
284 @ <td colspan="3">%h(zOwner)</td></tr>
285 @ <tr><td valign="top" align="right">SQL:</td><td></td>
286 @ <td valign="top"><pre>
287 @ %h(zSQL)
288 @ </pre></td>
289 @ <td width=15></td><td valign="top">
290
--- src/style.c
+++ src/style.c
@@ -451,10 +451,16 @@
451451
{ "td.timelineTime",
452452
"the format for the timeline time display",
453453
@ vertical-align: top;
454454
@ text-align: right;
455455
},
456
+ { "td.timelineGraph",
457
+ "the format for the grap placeholder cells in timelines",
458
+ @ width: 20;
459
+ @ text-align: left;
460
+ @ vertical-align: top;
461
+ },
456462
{ "a.tagLink",
457463
"the format for the tag links",
458464
@
459465
},
460466
{ "span.tagDsp",
461467
--- src/style.c
+++ src/style.c
@@ -451,10 +451,16 @@
451 { "td.timelineTime",
452 "the format for the timeline time display",
453 @ vertical-align: top;
454 @ text-align: right;
455 },
 
 
 
 
 
 
456 { "a.tagLink",
457 "the format for the tag links",
458 @
459 },
460 { "span.tagDsp",
461
--- src/style.c
+++ src/style.c
@@ -451,10 +451,16 @@
451 { "td.timelineTime",
452 "the format for the timeline time display",
453 @ vertical-align: top;
454 @ text-align: right;
455 },
456 { "td.timelineGraph",
457 "the format for the grap placeholder cells in timelines",
458 @ width: 20;
459 @ text-align: left;
460 @ vertical-align: top;
461 },
462 { "a.tagLink",
463 "the format for the tag links",
464 @
465 },
466 { "span.tagDsp",
467
+3 -3
--- src/timeline.c
+++ src/timeline.c
@@ -109,11 +109,11 @@
109109
*/
110110
void hyperlink_to_user(const char *zU, const char *zD, const char *zSuf){
111111
if( zSuf==0 ) zSuf = "";
112112
if( g.okHistory ){
113113
if( zD && zD[0] ){
114
- @ <a href="%s(g.zTop)/timeline?c=%T(zD)&u=%T(zU)">%h(zU)</a>%s(zSuf)
114
+ @ <a href="%s(g.zTop)/timeline?c=%T(zD)&amp;u=%T(zU)">%h(zU)</a>%s(zSuf)
115115
}else{
116116
@ <a href="%s(g.zTop)/timeline?u=%T(zU)">%h(zU)</a>%s(zSuf)
117117
}
118118
}else{
119119
@ %s(zU)
@@ -227,11 +227,11 @@
227227
@ <span class="timelineDisabled">... %d(suppressCnt) similar
228228
@ event%s(suppressCnt>1?"s":"") omitted.</span></td></tr>
229229
suppressCnt = 0;
230230
}
231231
if( strcmp(zType,"div")==0 ){
232
- @ <tr><td colspan=3><hr /></td></tr>
232
+ @ <tr><td colspan="3"><hr /></td></tr>
233233
continue;
234234
}
235235
if( memcmp(zDate, zPrevDate, 10) ){
236236
sprintf(zPrevDate, "%.10s", zDate);
237237
@ <tr><td>
@@ -240,11 +240,11 @@
240240
}
241241
memcpy(zTime, &zDate[11], 5);
242242
zTime[5] = 0;
243243
@ <tr>
244244
@ <td class="timelineTime">%s(zTime)</td>
245
- @ <td style="width: 20; text-align: left; vertical-align: top;">
245
+ @ <td class="timelineGraph">
246246
if( pGraph && zType[0]=='c' ){
247247
int nParent = 0;
248248
int aParent[32];
249249
const char *zBr;
250250
int gidx;
251251
--- src/timeline.c
+++ src/timeline.c
@@ -109,11 +109,11 @@
109 */
110 void hyperlink_to_user(const char *zU, const char *zD, const char *zSuf){
111 if( zSuf==0 ) zSuf = "";
112 if( g.okHistory ){
113 if( zD && zD[0] ){
114 @ <a href="%s(g.zTop)/timeline?c=%T(zD)&u=%T(zU)">%h(zU)</a>%s(zSuf)
115 }else{
116 @ <a href="%s(g.zTop)/timeline?u=%T(zU)">%h(zU)</a>%s(zSuf)
117 }
118 }else{
119 @ %s(zU)
@@ -227,11 +227,11 @@
227 @ <span class="timelineDisabled">... %d(suppressCnt) similar
228 @ event%s(suppressCnt>1?"s":"") omitted.</span></td></tr>
229 suppressCnt = 0;
230 }
231 if( strcmp(zType,"div")==0 ){
232 @ <tr><td colspan=3><hr /></td></tr>
233 continue;
234 }
235 if( memcmp(zDate, zPrevDate, 10) ){
236 sprintf(zPrevDate, "%.10s", zDate);
237 @ <tr><td>
@@ -240,11 +240,11 @@
240 }
241 memcpy(zTime, &zDate[11], 5);
242 zTime[5] = 0;
243 @ <tr>
244 @ <td class="timelineTime">%s(zTime)</td>
245 @ <td style="width: 20; text-align: left; vertical-align: top;">
246 if( pGraph && zType[0]=='c' ){
247 int nParent = 0;
248 int aParent[32];
249 const char *zBr;
250 int gidx;
251
--- src/timeline.c
+++ src/timeline.c
@@ -109,11 +109,11 @@
109 */
110 void hyperlink_to_user(const char *zU, const char *zD, const char *zSuf){
111 if( zSuf==0 ) zSuf = "";
112 if( g.okHistory ){
113 if( zD && zD[0] ){
114 @ <a href="%s(g.zTop)/timeline?c=%T(zD)&amp;u=%T(zU)">%h(zU)</a>%s(zSuf)
115 }else{
116 @ <a href="%s(g.zTop)/timeline?u=%T(zU)">%h(zU)</a>%s(zSuf)
117 }
118 }else{
119 @ %s(zU)
@@ -227,11 +227,11 @@
227 @ <span class="timelineDisabled">... %d(suppressCnt) similar
228 @ event%s(suppressCnt>1?"s":"") omitted.</span></td></tr>
229 suppressCnt = 0;
230 }
231 if( strcmp(zType,"div")==0 ){
232 @ <tr><td colspan="3"><hr /></td></tr>
233 continue;
234 }
235 if( memcmp(zDate, zPrevDate, 10) ){
236 sprintf(zPrevDate, "%.10s", zDate);
237 @ <tr><td>
@@ -240,11 +240,11 @@
240 }
241 memcpy(zTime, &zDate[11], 5);
242 zTime[5] = 0;
243 @ <tr>
244 @ <td class="timelineTime">%s(zTime)</td>
245 @ <td class="timelineGraph">
246 if( pGraph && zType[0]=='c' ){
247 int nParent = 0;
248 int aParent[32];
249 const char *zBr;
250 int gidx;
251

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button