fprintf(fp, "<link rel=\"alternate\" type=\"application/atom+xml\" title=\"%s Atom Feed\" href=\"%satom.xml\" />\n",
name, relpath);
fprintf(fp, "<link rel=\"stylesheet\" type=\"text/css\" href=\"%sstyle.css\" />\n", relpath);
+ fprintf(fp, "<link rel=\"stylesheet\" type=\"text/css\" href=\"%ssyntax.css\" />\n", relpath);
fputs("</head>\n<body>\n<table><tr><td>", fp);
fprintf(fp, "<a href=\"../%s\"><img src=\"%slogo.png\" alt=\"\" width=\"32\" height=\"32\" /></a>",
relpath, relpath);
int
syntax_highlight(const char *filename, FILE *fp, const char *s, size_t len)
{
+ // Flush HTML-file
+ fflush(fp);
// Copy STDOUT
int stdout_copy = dup(1);
// Redirect STDOUT
dup2(fileno(fp), 1);
- // Ruby script for syntax highlighting.
- FILE *child = popen("./highlight", "w");
+ // Python Pygments script for syntax highlighting.
+ FILE *child = popen("/usr/local/share/doc/stagit/highlight.py", "w");
if (child == NULL) {
printf("child is null: %s", strerror(errno));
exit(1);
}
pclose(child);
+ fflush(stdout);
// Give back STDOUT.
dup2(stdout_copy, 1);
return lc;
const char *s = git_blob_rawcontent(blob);
git_off_t len = git_blob_rawsize(blob);
- fputs("<div id=\"blob\">\n", fp);
-
if (len > 0) {
lc = syntax_highlight(filename, fp, s, len);
}
- fputs("</div>\n", fp);
-
return lc;
}
if (git_blob_is_binary((git_blob *)obj)) {
fputs("<p>Binary file.</p>\n", fp);
} else {
- lc = writeblobhtml(fpath, fp, (git_blob *)obj);
+ lc = writeblobhtml(filename, fp, (git_blob *)obj);
if (ferror(fp))
err(1, "fwrite");
}
writefiles(fp, head);
writefooter(fp);
fclose(fp);
+ system("cp /usr/local/share/doc/stagit/style.css .");
+ system("cp /usr/local/share/doc/stagit/syntax.css .");
/* summary page with branches and tags */
fp = efopen("refs.html", "w");