gitweb: Move static files into seperate subdirectory
Create a new subdirectory called 'static' in gitweb/, and move all static files required by gitweb.cgi when running, which means styles, images and Javascript code. This should make gitweb more readable and easier to maintain. Update t/gitweb-lib.sh to reflect this change.The install-gitweb now also include moving of static files into 'static' subdirectory in target directory: update Makefile, gitweb's INSTALL, README and Makefile accordingly. Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com> Mentored-by: Christian Couder <chriscool@tuxfamily.org> Mentored-by: Petr Baudis <pasky@ucw.cz> Acked-by: Jakub Narebski <jnareb@gmail.com> Acked-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d0b16c8f87
commit
18d05328f3
18
Makefile
18
Makefile
@ -1578,32 +1578,32 @@ gitweb:
|
||||
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) all
|
||||
|
||||
ifdef JSMIN
|
||||
GITWEB_PROGRAMS += gitweb/gitweb.min.js
|
||||
GITWEB_JS = gitweb/gitweb.min.js
|
||||
GITWEB_PROGRAMS += gitweb/static/gitweb.min.js
|
||||
GITWEB_JS = gitweb/static/gitweb.min.js
|
||||
else
|
||||
GITWEB_JS = gitweb/gitweb.js
|
||||
GITWEB_JS = gitweb/static/gitweb.js
|
||||
endif
|
||||
ifdef CSSMIN
|
||||
GITWEB_PROGRAMS += gitweb/gitweb.min.css
|
||||
GITWEB_CSS = gitweb/gitweb.min.css
|
||||
GITWEB_PROGRAMS += gitweb/static/gitweb.min.css
|
||||
GITWEB_CSS = gitweb/static/gitweb.min.css
|
||||
else
|
||||
GITWEB_CSS = gitweb/gitweb.css
|
||||
GITWEB_CSS = gitweb/static/gitweb.css
|
||||
endif
|
||||
OTHER_PROGRAMS += gitweb/gitweb.cgi $(GITWEB_PROGRAMS)
|
||||
gitweb/gitweb.cgi: gitweb/gitweb.perl $(GITWEB_PROGRAMS)
|
||||
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
|
||||
|
||||
ifdef JSMIN
|
||||
gitweb/gitweb.min.js: gitweb/gitweb.js
|
||||
gitweb/static/gitweb.min.js: gitweb/static/gitweb.js
|
||||
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
|
||||
endif # JSMIN
|
||||
ifdef CSSMIN
|
||||
gitweb/gitweb.min.css: gitweb/gitweb.css
|
||||
gitweb/static/gitweb.min.css: gitweb/static/gitweb.css
|
||||
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
|
||||
endif # CSSMIN
|
||||
|
||||
|
||||
git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css gitweb/gitweb.js
|
||||
git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/static/gitweb.css gitweb/static/gitweb.js
|
||||
$(QUIET_GEN)$(RM) $@ $@+ && \
|
||||
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
||||
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
||||
|
@ -2,9 +2,10 @@ GIT web Interface (gitweb) Installation
|
||||
=======================================
|
||||
|
||||
First you have to generate gitweb.cgi from gitweb.perl using
|
||||
"make gitweb", then copy appropriate files (gitweb.cgi, gitweb.js,
|
||||
gitweb.css, git-logo.png and git-favicon.png) to their destination.
|
||||
For example if git was (or is) installed with /usr prefix, you can do
|
||||
"make gitweb", then "make install-gitweb" appropriate files
|
||||
(gitweb.cgi, gitweb.js, gitweb.css, git-logo.png and git-favicon.png)
|
||||
to their destination. For example if git was (or is) installed with
|
||||
/usr prefix and gitwebdir is /var/www/cgi-bin, you can do
|
||||
|
||||
$ make prefix=/usr gitweb ;# as yourself
|
||||
# make gitwebdir=/var/www/cgi-bin install-gitweb ;# as root
|
||||
@ -81,16 +82,14 @@ Build example
|
||||
minifiers, you can do
|
||||
|
||||
make GITWEB_PROJECTROOT="/home/local/scm" \
|
||||
GITWEB_JS="/gitweb/gitweb.js" \
|
||||
GITWEB_CSS="/gitweb/gitweb.css" \
|
||||
GITWEB_LOGO="/gitweb/git-logo.png" \
|
||||
GITWEB_FAVICON="/gitweb/git-favicon.png" \
|
||||
GITWEB_JS="gitweb/static/gitweb.js" \
|
||||
GITWEB_CSS="gitweb/static/gitweb.css" \
|
||||
GITWEB_LOGO="gitweb/static/git-logo.png" \
|
||||
GITWEB_FAVICON="gitweb/static/git-favicon.png" \
|
||||
bindir=/usr/local/bin \
|
||||
gitweb
|
||||
|
||||
cp -fv gitweb/gitweb.{cgi,js,css} \
|
||||
gitweb/git-{favicon,logo}.png \
|
||||
/var/www/cgi-bin/gitweb/
|
||||
make gitwebdir=/var/www/cgi-bin/gitweb install-gitweb
|
||||
|
||||
|
||||
Gitweb config file
|
||||
|
@ -4,10 +4,10 @@ all::
|
||||
# Define V=1 to have a more verbose compile.
|
||||
#
|
||||
# Define JSMIN to point to JavaScript minifier that functions as
|
||||
# a filter to have gitweb.js minified.
|
||||
# a filter to have static/gitweb.js minified.
|
||||
#
|
||||
# Define CSSMIN to point to a CSS minifier in order to generate a minified
|
||||
# version of gitweb.css
|
||||
# version of static/gitweb.css
|
||||
#
|
||||
|
||||
prefix ?= $(HOME)
|
||||
@ -29,10 +29,10 @@ GITWEB_STRICT_EXPORT =
|
||||
GITWEB_BASE_URL =
|
||||
GITWEB_LIST =
|
||||
GITWEB_HOMETEXT = indextext.html
|
||||
GITWEB_CSS = gitweb.css
|
||||
GITWEB_LOGO = git-logo.png
|
||||
GITWEB_FAVICON = git-favicon.png
|
||||
GITWEB_JS = gitweb.js
|
||||
GITWEB_CSS = static/gitweb.css
|
||||
GITWEB_LOGO = static/git-logo.png
|
||||
GITWEB_FAVICON = static/git-favicon.png
|
||||
GITWEB_JS = static/gitweb.js
|
||||
GITWEB_SITE_HEADER =
|
||||
GITWEB_SITE_FOOTER =
|
||||
|
||||
@ -54,6 +54,7 @@ PERL_PATH ?= /usr/bin/perl
|
||||
# Shell quote;
|
||||
bindir_SQ = $(subst ','\'',$(bindir))#'
|
||||
gitwebdir_SQ = $(subst ','\'',$(gitwebdir))#'
|
||||
gitwebstaticdir_SQ = $(subst ','\'',$(gitwebdir)/static)#'
|
||||
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))#'
|
||||
PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))#'
|
||||
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))#'
|
||||
@ -88,26 +89,26 @@ all:: gitweb.cgi
|
||||
GITWEB_PROGRAMS = gitweb.cgi
|
||||
|
||||
ifdef JSMIN
|
||||
GITWEB_FILES += gitweb.min.js
|
||||
GITWEB_JS = gitweb.min.js
|
||||
all:: gitweb.min.js
|
||||
gitweb.min.js: gitweb.js GITWEB-BUILD-OPTIONS
|
||||
GITWEB_FILES += static/gitweb.min.js
|
||||
GITWEB_JS = static/gitweb.min.js
|
||||
all:: static/gitweb.min.js
|
||||
static/gitweb.min.js: static/gitweb.js GITWEB-BUILD-OPTIONS
|
||||
$(QUIET_GEN)$(JSMIN) <$< >$@
|
||||
else
|
||||
GITWEB_FILES += gitweb.js
|
||||
GITWEB_FILES += static/gitweb.js
|
||||
endif
|
||||
|
||||
ifdef CSSMIN
|
||||
GITWEB_FILES += gitweb.min.css
|
||||
GITWEB_CSS = gitweb.min.css
|
||||
all:: gitweb.min.css
|
||||
gitweb.min.css: gitweb.css GITWEB-BUILD-OPTIONS
|
||||
GITWEB_FILES += static/gitweb.min.css
|
||||
GITWEB_CSS = static/gitweb.min.css
|
||||
all:: static/gitweb.min.css
|
||||
static/gitweb.min.css: static/gitweb.css GITWEB-BUILD-OPTIONS
|
||||
$(QUIET_GEN)$(CSSMIN) <$ >$@
|
||||
else
|
||||
GITWEB_FILES += gitweb.css
|
||||
GITWEB_FILES += static/gitweb.css
|
||||
endif
|
||||
|
||||
GITWEB_FILES += git-logo.png git-favicon.png
|
||||
GITWEB_FILES += static/git-logo.png static/git-favicon.png
|
||||
|
||||
GITWEB_REPLACE = \
|
||||
-e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
|
||||
@ -147,12 +148,13 @@ gitweb.cgi: gitweb.perl GITWEB-BUILD-OPTIONS
|
||||
install: all
|
||||
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)'
|
||||
$(INSTALL) -m 755 $(GITWEB_PROGRAMS) '$(DESTDIR_SQ)$(gitwebdir_SQ)'
|
||||
$(INSTALL) -m 644 $(GITWEB_FILES) '$(DESTDIR_SQ)$(gitwebdir_SQ)'
|
||||
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
|
||||
$(INSTALL) -m 644 $(GITWEB_FILES) '$(DESTDIR_SQ)$(gitwebstaticdir_SQ)'
|
||||
|
||||
### Cleaning rules
|
||||
|
||||
clean:
|
||||
$(RM) gitweb.cgi gitweb.min.js gitweb.min.css GITWEB-BUILD-OPTIONS
|
||||
$(RM) gitweb.cgi static/gitweb.min.js static/gitweb.min.css GITWEB-BUILD-OPTIONS
|
||||
|
||||
.PHONY: all clean install .FORCE-GIT-VERSION-FILE FORCE
|
||||
|
||||
|
@ -80,24 +80,26 @@ You can specify the following configuration variables when building GIT:
|
||||
Points to the location where you put gitweb.css on your web server
|
||||
(or to be more generic, the URI of gitweb stylesheet). Relative to the
|
||||
base URI of gitweb. Note that you can setup multiple stylesheets from
|
||||
the gitweb config file. [Default: gitweb.css (or gitweb.min.css if the
|
||||
CSSMIN variable is defined / CSS minifier is used)]
|
||||
the gitweb config file. [Default: static/gitweb.css (or
|
||||
static/gitweb.min.css if the CSSMIN variable is defined / CSS minifier
|
||||
is used)]
|
||||
* GITWEB_LOGO
|
||||
Points to the location where you put git-logo.png on your web server
|
||||
(or to be more generic URI of logo, 72x27 size, displayed in top right
|
||||
corner of each gitweb page, and used as logo for Atom feed). Relative
|
||||
to base URI of gitweb. [Default: git-logo.png]
|
||||
to base URI of gitweb. [Default: static/git-logo.png]
|
||||
* GITWEB_FAVICON
|
||||
Points to the location where you put git-favicon.png on your web server
|
||||
(or to be more generic URI of favicon, assumed to be image/png type;
|
||||
web browsers that support favicons (website icons) may display them
|
||||
in the browser's URL bar and next to site name in bookmarks). Relative
|
||||
to base URI of gitweb. [Default: git-favicon.png]
|
||||
to base URI of gitweb. [Default: static/git-favicon.png]
|
||||
* GITWEB_JS
|
||||
Points to the localtion where you put gitweb.js on your web server
|
||||
(or to be more generic URI of JavaScript code used by gitweb).
|
||||
Relative to base URI of gitweb. [Default: gitweb.js (or gitweb.min.js
|
||||
if JSMIN build variable is defined / JavaScript minifier is used)]
|
||||
Relative to base URI of gitweb. [Default: static/gitweb.js (or
|
||||
static/gitweb.min.js if JSMIN build variable is defined / JavaScript
|
||||
minifier is used)]
|
||||
* GITWEB_CONFIG
|
||||
This Perl file will be loaded using 'do' and can be used to override any
|
||||
of the options above as well as some other options -- see the "Runtime
|
||||
|
Before Width: | Height: | Size: 115 B After Width: | Height: | Size: 115 B |
Before Width: | Height: | Size: 207 B After Width: | Height: | Size: 207 B |
@ -19,9 +19,9 @@ our \$site_name = '[localhost]';
|
||||
our \$site_header = '';
|
||||
our \$site_footer = '';
|
||||
our \$home_text = 'indextext.html';
|
||||
our @stylesheets = ('file:///$TEST_DIRECTORY/../gitweb/gitweb.css');
|
||||
our \$logo = 'file:///$TEST_DIRECTORY/../gitweb/git-logo.png';
|
||||
our \$favicon = 'file:///$TEST_DIRECTORY/../gitweb/git-favicon.png';
|
||||
our @stylesheets = ('file:///$TEST_DIRECTORY/../gitweb/static/gitweb.css');
|
||||
our \$logo = 'file:///$TEST_DIRECTORY/../gitweb/static/git-logo.png';
|
||||
our \$favicon = 'file:///$TEST_DIRECTORY/../gitweb/static/git-favicon.png';
|
||||
our \$projects_list = '';
|
||||
our \$export_ok = '';
|
||||
our \$strict_export = '';
|
||||
|
Loading…
Reference in New Issue
Block a user