Introduction
Introduction Statistics Contact Development Disclaimer Help
tfile page improvements - stagit - static git page generator
git clone git://src.adamsgaard.dk/stagit
Log
Files
Refs
README
LICENSE
---
commit d77d972007d6f996ab4667b9dbbd1e241304c61e
parent 23fdbb0c8cd8f875e678c17ef79919a22d704c7a
Author: Eivind Uggedal <[email protected]>
Date: Thu, 10 Dec 2015 18:13:08 +0000
file page improvements
- header with filename and size
- handle binary files
- small style changes
Diffstat:
M urmoms.c | 36 ++++++++++++++++++-----------…
1 file changed, 21 insertions(+), 15 deletions(-)
---
diff --git a/urmoms.c b/urmoms.c
t@@ -529,31 +529,37 @@ writeatom(FILE *fp)
}
int
-writeblob(const char *path)
+writeblob(git_index_entry *entry)
{
- char htmlpath[PATH_MAX];
- char refpath[PATH_MAX];
+ char fpath[PATH_MAX];
+ char ref[PATH_MAX];
git_object *obj = NULL;
FILE *fp;
- snprintf(htmlpath, sizeof(htmlpath), "file/%s.html", path);
- snprintf(refpath, sizeof(refpath), "HEAD:%s", path);
+ snprintf(fpath, sizeof(fpath), "file/%s.html", entry->path);
+ snprintf(ref, sizeof(ref), "HEAD:%s", entry->path);
- if (git_revparse_single(&obj, repo, refpath))
- return 1; /* TODO: handle error */
+ if (git_revparse_single(&obj, repo, ref))
+ return 1;
- mkdirp(dirname(htmlpath));
+ if (mkdirp(dirname(fpath)))
+ return 1;
relpath = "../"; /* TODO: dynamic relpath based on number of /'s */
- fp = efopen(htmlpath, "w+b");
+ fp = efopen(fpath, "w+b");
writeheader(fp);
- fputs("<pre>\n", fp);
- writeblobhtml(fp, (git_blob *)obj);
- if (ferror(fp))
- err(1, "fwrite");
+ fprintf(fp, "<p>%s (%" PRIu64 "b)</p><hr/>", entry->path, entry->file_…
+ if (git_blob_is_binary((git_blob *)obj)) {
+ fprintf(fp, "<p>Binary file</p>\n");
+ } else {
+ fputs("<pre>\n", fp);
+ writeblobhtml(fp, (git_blob *)obj);
+ if (ferror(fp))
+ err(1, "fwrite");
+ fputs("</pre>\n", fp);
+ }
git_object_free(obj);
- fputs("</pre>\n", fp);
writefooter(fp);
fclose(fp);
t@@ -589,7 +595,7 @@ writefiles(FILE *fp)
fprintf(fp, "%" PRIu64, entry->file_size);
fputs("</td></tr>\n", fp);
- writeblob(entry->path);
+ writeblob(entry);
}
fputs("</tbody></table>", fp);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.