Skip to content

Commit

Permalink
gitweb: provide a way to customize html headers
Browse files Browse the repository at this point in the history
This allows web sites to add some specific html headers to the pages
generated by gitweb.

The new variable $site_html_head_string can be set to an html snippet that
will be inserted at the end of the <head> section of each page generated
by gitweb.

Signed-off-by: Lénaïc Huard <lenaic@lhuard.fr.eu.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Lénaïc Huard authored and Junio C Hamano committed Oct 21, 2011
1 parent 55752fa commit c1355b7
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Documentation/gitweb.conf.txt
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,11 @@ $site_name::
+
Can be set using the `GITWEB_SITENAME` at build time. Unset by default.

$site_html_head_string::
HTML snippet to be included in the <head> section of each page.
Can be set using `GITWEB_SITE_HTML_HEAD_STRING` at build time.
No default value.

$site_header::
Name of a file with HTML to be included at the top of each page.
Relative to the directory containing the 'gitweb.cgi' script.
Expand Down
2 changes: 2 additions & 0 deletions gitweb/INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,8 @@ You can specify the following configuration variables when building GIT:
Points to an .html file which is included on the gitweb project
overview page ('projects_list' view), if it exists. Relative to
gitweb.cgi script. [Default: indextext.html]
* GITWEB_SITE_HTML_HEAD_STRING
html snippet to include in the <head> section of each page. [No default]
* GITWEB_SITE_HEADER
Filename of html text to include at top of each page. Relative to
gitweb.cgi script. [No default]
Expand Down
2 changes: 2 additions & 0 deletions gitweb/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ GITWEB_CSS = static/gitweb.css
GITWEB_LOGO = static/git-logo.png
GITWEB_FAVICON = static/git-favicon.png
GITWEB_JS = static/gitweb.js
GITWEB_SITE_HTML_HEAD_STRING =
GITWEB_SITE_HEADER =
GITWEB_SITE_FOOTER =
HIGHLIGHT_BIN = highlight
Expand Down Expand Up @@ -144,6 +145,7 @@ GITWEB_REPLACE = \
-e 's|++GITWEB_LOGO++|$(GITWEB_LOGO)|g' \
-e 's|++GITWEB_FAVICON++|$(GITWEB_FAVICON)|g' \
-e 's|++GITWEB_JS++|$(GITWEB_JS)|g' \
-e 's|++GITWEB_SITE_HTML_HEAD_STRING++|$(GITWEB_SITE_HTML_HEAD_STRING)|g' \
-e 's|++GITWEB_SITE_HEADER++|$(GITWEB_SITE_HEADER)|g' \
-e 's|++GITWEB_SITE_FOOTER++|$(GITWEB_SITE_FOOTER)|g' \
-e 's|++HIGHLIGHT_BIN++|$(HIGHLIGHT_BIN)|g'
Expand Down
7 changes: 7 additions & 0 deletions gitweb/gitweb.perl
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ sub evaluate_uri {
our $site_name = "++GITWEB_SITENAME++"
|| ($ENV{'SERVER_NAME'} || "Untitled") . " Git";

# html snippet to include in the <head> section of each page
our $site_html_head_string = "++GITWEB_SITE_HTML_HEAD_STRING++";
# filename of html text to include at top of each page
our $site_header = "++GITWEB_SITE_HEADER++";
# html text to include at home page
Expand Down Expand Up @@ -3868,6 +3870,11 @@ sub git_header_html {
print "<base href=\"".esc_url($base_url)."\" />\n";
}
print_header_links($status);

if (defined $site_html_head_string) {
print to_utf8($site_html_head_string);
}

print "</head>\n" .
"<body>\n";

Expand Down
1 change: 1 addition & 0 deletions t/gitweb-lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ our \$projectroot = "$safe_pwd";
our \$project_maxdepth = 8;
our \$home_link_str = 'projects';
our \$site_name = '[localhost]';
our \$site_html_head_string = '';
our \$site_header = '';
our \$site_footer = '';
our \$home_text = 'indextext.html';
Expand Down

0 comments on commit c1355b7

Please sign in to comment.