]> git.cameronkatri.com Git - cgit.git/commitdiff
Add repo.readme parameter
authorLars Hjemli <hjemli@gmail.com>
Wed, 23 May 2007 20:46:54 +0000 (22:46 +0200)
committerLars Hjemli <hjemli@gmail.com>
Wed, 23 May 2007 20:46:54 +0000 (22:46 +0200)
This parameter can be used to specify a repo-specific includefile, which will
then be printed on the summary page for the repo.

If the parametervalue is a not an absolute path, it is taken to be relative
to repo.path.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
cgit.css
cgit.h
cgitrc
shared.c
ui-summary.c

index 327eaba9d3bb3150bf6926373ad3571c1a8844af..8977533a18e8a6c5ceb16d4742906fd4b0bd75e0 100644 (file)
--- a/cgit.css
+++ b/cgit.css
@@ -140,22 +140,20 @@ td#search input {
        background-color: #fff;
 }
 
-td#summary {
+div#summary {
        vertical-align: top;
-       padding-bottom: 1em;
+       margin-bottom: 1em;
 }
 
-td#archivelist {
-       padding-bottom: 1em;
-}
-
-td#archivelist table {
+table#downloads {
        float: right;
        border-collapse: collapse;
        border: solid 1px #777;
+       margin-left: 0.5em;
+       margin-bottom: 0.5em;
 }
 
-td#archivelist table th {
+table#downloads th {
        background-color: #ccc;
 }
 
diff --git a/cgit.h b/cgit.h
index 39386332dfdf711ba1a75af789b3a98b07ca8470..5c55bec4f82211f57c7f3f42226ce444aabfa87d 100644 (file)
--- a/cgit.h
+++ b/cgit.h
@@ -68,6 +68,7 @@ struct repoinfo {
        char *defbranch;
        char *group;
        char *module_link;
+       char *readme;
        int snapshots;
        int enable_log_filecount;
        int enable_log_linecount;
diff --git a/cgitrc b/cgitrc
index eaa9ce3b4083f9eb1f8afbdd086ad3bb89fe3055..054a708f2330b478c520efd9421b1397dec613a6 100644 (file)
--- a/cgitrc
+++ b/cgitrc
 #repo.enable-log-filecount=0                   # override the default filecount setting
 #repo.enable-log-linecount=0                   # override the default linecount setting
 #repo.module-link=/git/%s/commit/?id=%s                # override the standard module-link
+#repo.readme=info/web/readme                   # specify a file to include on summary page
index ce3ca4fae835115544f348f9a9dbd4e3e162cf07..e3123a80d818ab308aba02009a34734d0895815b 100644 (file)
--- a/shared.c
+++ b/shared.c
@@ -107,6 +107,7 @@ struct repoinfo *add_repo(const char *url)
        ret->enable_log_filecount = cgit_enable_log_filecount;
        ret->enable_log_linecount = cgit_enable_log_linecount;
        ret->module_link = cgit_module_link;
+       ret->readme = NULL;
        return ret;
 }
 
@@ -187,7 +188,12 @@ void cgit_global_config_cb(const char *name, const char *value)
                cgit_repo->enable_log_linecount = cgit_enable_log_linecount * atoi(value);
        else if (cgit_repo && !strcmp(name, "repo.module-link"))
                cgit_repo->module_link= xstrdup(value);
-       else if (!strcmp(name, "include"))
+       else if (cgit_repo && !strcmp(name, "repo.readme") && value != NULL) {
+               if (*value == '/')
+                       cgit_repo->readme = xstrdup(value);
+               else
+                       cgit_repo->readme = xstrdup(fmt("%s/%s", cgit_repo->path, value));
+       } else if (!strcmp(name, "include"))
                cgit_read_config(value, cgit_global_config_cb);
 }
 
index 57997739e37bd834ccab72bae14f4f4916ead53f..5c1fc33d603fe2298d3ef3e48e5879b465500f20 100644 (file)
@@ -153,7 +153,7 @@ static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1,
                hashcpy(fileid, sha1);
        }
        if (!header) {
-               html("<table>");
+               html("<table id='downloads'>");
                html("<tr><th>Downloads</th></tr>");
                header = 1;
        }
@@ -193,16 +193,18 @@ static void cgit_print_archives()
 
 void cgit_print_summary()
 {
-       html("<table class='list nowrap'>");
-       html("<tr class='nohover'><td id='summary' colspan='3'>");
+       html("<div id='summary'>");
+       cgit_print_archives();
        html("<h2>");
        html_txt(cgit_repo->name);
        html(" - ");
        html_txt(cgit_repo->desc);
        html("</h2>");
-       html("</td><td id='archivelist'>");
-       cgit_print_archives();
-       html("</td></tr>");
+       if (cgit_repo->readme)
+               html_include(cgit_repo->readme);
+       html("</div>");
+
+       html("<table class='list nowrap'>");
        cgit_print_branches();
        html("<tr class='nohover'><td colspan='4'>&nbsp;</td></tr>");
        cgit_print_tags();