threads / rfc / 13973

RFC patchgit-instaweb: added logo and favicon

Subject: [RFC/PATCH] git-instaweb: added logo and favicon

## tl;dr

2 messages between Jun 16, 2008 and Jun 16, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Flavio Poletti· Jun 16, 2008, 02:46 UTC · lore

Eye candy: logo and favicon are now included in the standard deployments for git-instaweb.

Signed-off-by: Flavio Poletti <flavio@polettix.it>
---

I probably need a little help here to figure out how to make this "portable". I've modified Makefile, but what when configure is called by the end user instead of relying on this streamline Makefile? I need some hints about where to look to make this patch more robust regarding this.

Any suggestion is welcome, of course.
 Makefile        |   17 +++++++++++++++--
 git-instaweb.sh |   28 ++++++++++++++++++++++++++--
 2 files changed, 41 insertions(+), 4 deletions(-)
Show changes to 2 files +41 −4

Makefile, git-instaweb.sh

diff --git a/Makefile b/Makefile
index 1937507..1879a34 100644
--- a/Makefile
+++ b/Makefile
@@ -1104,8 +1104,16 @@ gitweb/gitweb.cgi: gitweb/gitweb.perl
 	chmod +x $@+ && \
 	mv $@+ $@
 
-git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css
-	$(QUIET_GEN)$(RM) $@ $@+ && \
+git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css gitweb/git-logo.png gitweb/git-favicon.png
+	$(QUIET_GEN)$(RM) $@ $@+ $@+logo $@+fav && \
+	'$(PERL_PATH_SQ)' <gitweb/git-logo.png >$@+logo -l \
+	    -e 'binmode STDIN;' \
+	    -e 'while(read(STDIN,$$x,16))' \
+	    -e '{print unpack"H*",$$x}' && \
+	'$(PERL_PATH_SQ)' <gitweb/git-favicon.png >$@+fav -l \
+	    -e 'binmode STDIN;' \
+	    -e 'while(read(STDIN,$$x,16))' \
+	    -e '{print unpack"H*",$$x}' && \
 	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
 	    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
 	    -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
@@ -1113,8 +1121,13 @@ git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css
 	    -e '/@@GITWEB_CGI@@/d' \
 	    -e '/@@GITWEB_CSS@@/r gitweb/gitweb.css' \
 	    -e '/@@GITWEB_CSS@@/d' \
+	    -e '/@@GITWEB_LOGO@@/r $@+logo' \
+	    -e '/@@GITWEB_LOGO@@/d' \
+	    -e '/@@GITWEB_FAVICON@@/r $@+fav' \
+	    -e '/@@GITWEB_FAVICON@@/d' \
 	    -e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \
 	    $@.sh > $@+ && \
+	rm $@+logo $@+fav && \
 	chmod +x $@+ && \
 	mv $@+ $@
 
diff --git a/git-instaweb.sh b/git-instaweb.sh
index af0fde5..782256c 100755
--- a/git-instaweb.sh
+++ b/git-instaweb.sh
@@ -268,8 +268,32 @@ gitweb_css () {
 EOFGITWEB
 }
 
-gitweb_cgi "$GIT_DIR/gitweb/gitweb.cgi"
-gitweb_css "$GIT_DIR/gitweb/gitweb.css"
+hex2bin () {
+   "$PERL" -e '
+      binmode STDOUT;
+      while (<STDIN>) {
+         chomp;
+         print pack "H*", $_;
+      }
+   '
+}
+
+gitweb_favicon () {
+   hex2bin > "$1" <<\EOFGITFAVICON
+@@GITWEB_FAVICON@@
+EOFGITFAVICON
+}
+
+gitweb_logo () {
+   hex2bin > "$1" <<\EOFGITLOGO
+@@GITWEB_LOGO@@
+EOFGITLOGO
+}
+
+gitweb_cgi     "$GIT_DIR/gitweb/gitweb.cgi"
+gitweb_css     "$GIT_DIR/gitweb/gitweb.css"
+gitweb_favicon "$GIT_DIR/gitweb/git-favicon.png"
+gitweb_logo    "$GIT_DIR/gitweb/git-logo.png"
 
 case "$httpd" in
 *lighttpd*)
-- 
1.5.5.4
Eric Wong· Jun 16, 2008, 03:13 UTC · re: Flavio Poletti · lore

Re: [RFC/PATCH] git-instaweb: added logo and favicon

Flavio Poletti <flavio@polettix.it> wrote:
> Eye candy: logo and favicon are now included in the standard
> deployments for git-instaweb.

I've personally always considered logos and icons to be useless vanity items and a complete waste of pixels/bandwidth/space/memory.

Others are free to disagree with me but I'm not interested in having this supported in instaweb.

-- 
Eric Wong

← back to recent threads