git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] gitweb: provide a way to customize html headers
@ 2011-10-17  7:28 Lénaïc Huard
  2011-10-17 11:56 ` Jakub Narebski
  0 siblings, 1 reply; 8+ messages in thread
From: Lénaïc Huard @ 2011-10-17  7:28 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git

Jakub Narebski <jnareb@gmail.com> writes:

> Lénaïc Huard <lenaic@lhuard.fr.eu.org> writes:

> > This allows web sites to add some specific html headers to the pages
> > generated by gitweb.

> What do you need this for?

I want to decorate the gitweb pages with the “Google Analytics” tracking code.
In order to do so, today, Google is recommending to add a <script> tag just 
before the closing </head> tag.

https://www.google.com/support/analyticshelp/bin/answer.py?answer=1008080&hl=en

> > The new variable $site_htmlheader can be set to a filename the content
> > of which will be inserted at the end of the <head> section of each
> > page generated by gitweb.

> Hmmm... I wonder if a file with html header fragment (which is quite
> specific subset of HTML) is a best solution.

That’s true. The piece of code to be inserted in <head> is maybe small enough 
so that we don’t need a file. Maybe $site_htmlheader could contain directly 
the html snippet to be inserted in the pages?

> > Signed-off-by: L=FE=FF=00=E9na=FE=FF=00=EFc Huard <lenaic@lhuard.fr.eu.or=
g>
> > ---
> >  gitweb/INSTALL     |    3 +++

> Nb. there is patch in flight adding gitweb.conf(5) and gitweb(1)
> manpages...

Ok. So, I’ll update them once a decision will be taken concerning this 
$site_htmlheader.
-- 
Lénaïc Huard

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH] gitweb: provide a way to customize html headers
@ 2011-10-16 20:56 Lénaïc Huard
  2011-10-16 21:26 ` Jakub Narebski
  0 siblings, 1 reply; 8+ messages in thread
From: Lénaïc Huard @ 2011-10-16 20:56 UTC (permalink / raw)
  To: git

This allows web sites to add some specific html headers to the pages
generated by gitweb.

The new variable $site_htmlheader can be set to a filename the content
of which 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>
---
 gitweb/INSTALL     |    3 +++
 gitweb/Makefile    |    2 ++
 gitweb/gitweb.perl |    7 +++++++
 t/gitweb-lib.sh    |    1 +
 4 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/gitweb/INSTALL b/gitweb/INSTALL
index f5efe74..e23eafa 100644
--- a/gitweb/INSTALL
+++ b/gitweb/INSTALL
@@ -130,6 +130,9 @@ 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_HTMLHEADER
+   Filename of html code to include in the <head> section of each page.
+   Relative to gitweb.cgi script.  [No default]
  * GITWEB_SITE_HEADER
    Filename of html text to include at top of each page.  Relative to
    gitweb.cgi script.  [No default]
diff --git a/gitweb/Makefile b/gitweb/Makefile
index 1c85b5f..ecfb311 100644
--- a/gitweb/Makefile
+++ b/gitweb/Makefile
@@ -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_HTMLHEADER =
 GITWEB_SITE_HEADER =
 GITWEB_SITE_FOOTER =
 HIGHLIGHT_BIN = highlight
@@ -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_HTMLHEADER++|$(GITWEB_SITE_HTMLHEADER)|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'
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 85d64b2..63b0115 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -85,6 +85,8 @@ our $home_link_str = "++GITWEB_HOME_LINK_STR++";
 our $site_name = "++GITWEB_SITENAME++"
                  || ($ENV{'SERVER_NAME'} || "Untitled") . " Git";
 
+# filename of html code to include in the <head> section of each page
+our $site_htmlheader = "++GITWEB_SITE_HTMLHEADER++";
 # filename of html text to include at top of each page
 our $site_header = "++GITWEB_SITE_HEADER++";
 # html text to include at home page
@@ -3879,6 +3881,11 @@ EOF
                print "<base href=\"".esc_url($base_url)."\" />\n";
        }
        print_header_links($status);
+
+       if (defined $site_htmlheader && -f $site_htmlheader) {
+               insert_file($site_htmlheader);
+       }
+
        print "</head>\n" .
              "<body>\n";
 
diff --git a/t/gitweb-lib.sh b/t/gitweb-lib.sh
index 292753f..cfe5d74 100644
--- a/t/gitweb-lib.sh
+++ b/t/gitweb-lib.sh
@@ -16,6 +16,7 @@ our \$projectroot = "$safe_pwd";
 our \$project_maxdepth = 8;
 our \$home_link_str = 'projects';
 our \$site_name = '[localhost]';
+our \$site_htmlheader = '';
 our \$site_header = '';
 our \$site_footer = '';
 our \$home_text = 'indextext.html';
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-10-21 19:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-17  7:28 [PATCH] gitweb: provide a way to customize html headers Lénaïc Huard
2011-10-17 11:56 ` Jakub Narebski
2011-10-20 22:46   ` Lénaïc Huard
2011-10-21  0:37     ` Junio C Hamano
2011-10-21  7:09       ` Lénaïc Huard
2011-10-21 19:14     ` Jakub Narebski
  -- strict thread matches above, loose matches on Subject: below --
2011-10-16 20:56 Lénaïc Huard
2011-10-16 21:26 ` Jakub Narebski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).