git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCHv1/RFC 5/5] gitweb: Minify gitweb.js if JSMIN is defined

From
Jakub Narebski <jnareb@gmail.com>
Date
Sep 1, 2009, 11:39 UTC
Message-ID
<1251805160-5303-6-git-send-email-jnareb@gmail.com>
In-Reply-To
<1251805160-5303-5-git-send-email-jnareb@gmail.com>
It requires that $JSMIN command can function as a filter.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
This patch is new in series.  Comments welcome.

I have not tested it extensively, but JSMIN=cat seems to work correctly.

 Makefile |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index 407b35c..f149a36 100644
--- a/Makefile
+++ b/Makefile
@@ -194,6 +194,9 @@ all::
 # memory allocators with the nedmalloc allocator written by Niall Douglas.
 #
 # Define NO_REGEX if you have no or inferior regex support in your C library.
+#
+# Define JSMIN to point to JavaScript minifier that functions as
+# a filter to have gitweb.js minified.
 
 GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
 	@$(SHELL_PATH) ./GIT-VERSION-GEN
@@ -246,6 +249,9 @@ lib = lib
 # DESTDIR=
 pathsep = :
 
+# JavaScript minifier invocation that can function as filter
+JSMIN =
+
 # default configuration for gitweb
 GITWEB_CONFIG = gitweb_config.perl
 GITWEB_CONFIG_SYSTEM = /etc/gitweb.conf
@@ -261,7 +267,11 @@ GITWEB_HOMETEXT = indextext.html
 GITWEB_CSS = gitweb.css
 GITWEB_LOGO = git-logo.png
 GITWEB_FAVICON = git-favicon.png
+ifdef JSMIN
+GITWEB_JS = gitweb.min.js
+else
 GITWEB_JS = gitweb.js
+endif
 GITWEB_SITE_HEADER =
 GITWEB_SITE_FOOTER =
 
@@ -1374,8 +1384,13 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
 	chmod +x $@+ && \
 	mv $@+ $@
 
+ifdef JSMIN
+OTHER_PROGRAMS += gitweb/gitweb.cgi   gitweb/gitweb.min.js
+gitweb/gitweb.cgi: gitweb/gitweb.perl gitweb/gitweb.min.js
+else
 OTHER_PROGRAMS += gitweb/gitweb.cgi
 gitweb/gitweb.cgi: gitweb/gitweb.perl
+endif
 	$(QUIET_GEN)$(RM) $@ $@+ && \
 	sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \
 	    -e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
@@ -1426,6 +1441,11 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)) git-instaweb: % : unimplemented.sh
 	mv $@+ $@
 endif # NO_PERL
 
+ifdef JSMIN
+gitweb/gitweb.min.js: gitweb/gitweb.js
+	$(QUIET_GEN)$(JSMIN) <$< >$@
+endif # JSMIN
+
 configure: configure.ac
 	$(QUIET_GEN)$(RM) $@ $<+ && \
 	sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
-- 
1.6.3.3
Previous: Jakub NarebskiNext: Petr Baudis
Message 6 of 12 in “gitweb: Incremental blame series (1 Sep 09)”
  1. 0/5 gitweb: Incremental blame series (1 Sep 09)Jakub Narebski, Sep 1, 2009
  2. 1/5 gitweb: Add optional "time to generate page" info in footerJakub Narebski, Sep 1, 2009
  3. 2/5 gitweb: Incremental blame (using JavaScript)Jakub Narebski, Sep 1, 2009
  4. 3/5 gitweb: Colorize 'blame_incremental' view during processingJakub Narebski, Sep 1, 2009
  5. 4/5 gitweb: Create links leading to 'blame_incremental' using JavaScriptJakub Narebski, Sep 1, 2009
  6. 5/5 gitweb: Minify gitweb.js if JSMIN is definedJakub Narebski, Sep 1, 2009
  7. Petr BaudisNov 5, 2009
  8. Jakub NarebskiNov 6, 2009
  9. Junio C HamanoNov 12, 2009
  10. Jakub NarebskiNov 12, 2009
  11. Petr BaudisNov 5, 2009
  12. Jakub NarebskiNov 7, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.