Merge branch 'index-header'
* index-header: Teach cgit howto include an external file on index page. Add html_include()
This commit is contained in:
commit
977a0b173d
2
cgit.h
2
cgit.h
@ -75,6 +75,7 @@ extern struct repoinfo *cgit_repo;
|
||||
extern char *cgit_root_title;
|
||||
extern char *cgit_css;
|
||||
extern char *cgit_logo;
|
||||
extern char *cgit_index_header;
|
||||
extern char *cgit_logo_link;
|
||||
extern char *cgit_module_link;
|
||||
extern char *cgit_virtual_root;
|
||||
@ -144,6 +145,7 @@ extern void html_hidden(char *name, char *value);
|
||||
extern void html_link_open(char *url, char *title, char *class);
|
||||
extern void html_link_close(void);
|
||||
extern void html_filemode(unsigned short mode);
|
||||
extern int html_include(const char *filename);
|
||||
|
||||
extern int cgit_read_config(const char *filename, configfn fn);
|
||||
extern int cgit_parse_query(char *txt, configfn fn);
|
||||
|
14
html.c
14
html.c
@ -166,3 +166,17 @@ void html_filemode(unsigned short mode)
|
||||
html_fileperm(mode >> 3);
|
||||
html_fileperm(mode);
|
||||
}
|
||||
|
||||
int html_include(const char *filename)
|
||||
{
|
||||
FILE *f;
|
||||
char buf[4096];
|
||||
size_t len;
|
||||
|
||||
if (!(f = fopen(filename, "r")))
|
||||
return -1;
|
||||
while((len = fread(buf, 1, 4096, f)) > 0)
|
||||
write(htmlfd, buf, len);
|
||||
fclose(f);
|
||||
return 0;
|
||||
}
|
||||
|
3
shared.c
3
shared.c
@ -14,6 +14,7 @@ struct repoinfo *cgit_repo;
|
||||
char *cgit_root_title = "Git repository browser";
|
||||
char *cgit_css = "/cgit.css";
|
||||
char *cgit_logo = "/git-logo.png";
|
||||
char *cgit_index_header = NULL;
|
||||
char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/";
|
||||
char *cgit_module_link = "./?repo=%s&page=commit&id=%s";
|
||||
char *cgit_virtual_root = NULL;
|
||||
@ -101,6 +102,8 @@ void cgit_global_config_cb(const char *name, const char *value)
|
||||
cgit_css = xstrdup(value);
|
||||
else if (!strcmp(name, "logo"))
|
||||
cgit_logo = xstrdup(value);
|
||||
else if (!strcmp(name, "index-header"))
|
||||
cgit_index_header = xstrdup(value);
|
||||
else if (!strcmp(name, "logo-link"))
|
||||
cgit_logo_link = xstrdup(value);
|
||||
else if (!strcmp(name, "module-link"))
|
||||
|
@ -17,6 +17,11 @@ void cgit_print_repolist(struct cacheitem *item)
|
||||
cgit_print_pageheader(cgit_root_title, 0);
|
||||
|
||||
html("<table class='list nowrap'>");
|
||||
if (cgit_index_header) {
|
||||
html("<tr class='nohover'><td colspan='4' class='include-block'>");
|
||||
html_include(cgit_index_header);
|
||||
html("</td></tr>");
|
||||
}
|
||||
html("<tr class='nohover'>"
|
||||
"<th class='left'>Name</th>"
|
||||
"<th class='left'>Description</th>"
|
||||
|
Laden…
Verwijs in nieuw issue
Block a user