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
|
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) all
|
||||||
|
|
||||||
ifdef JSMIN
|
ifdef JSMIN
|
||||||
GITWEB_PROGRAMS += gitweb/gitweb.min.js
|
GITWEB_PROGRAMS += gitweb/static/gitweb.min.js
|
||||||
GITWEB_JS = gitweb/gitweb.min.js
|
GITWEB_JS = gitweb/static/gitweb.min.js
|
||||||
else
|
else
|
||||||
GITWEB_JS = gitweb/gitweb.js
|
GITWEB_JS = gitweb/static/gitweb.js
|
||||||
endif
|
endif
|
||||||
ifdef CSSMIN
|
ifdef CSSMIN
|
||||||
GITWEB_PROGRAMS += gitweb/gitweb.min.css
|
GITWEB_PROGRAMS += gitweb/static/gitweb.min.css
|
||||||
GITWEB_CSS = gitweb/gitweb.min.css
|
GITWEB_CSS = gitweb/static/gitweb.min.css
|
||||||
else
|
else
|
||||||
GITWEB_CSS = gitweb/gitweb.css
|
GITWEB_CSS = gitweb/static/gitweb.css
|
||||||
endif
|
endif
|
||||||
OTHER_PROGRAMS += gitweb/gitweb.cgi $(GITWEB_PROGRAMS)
|
OTHER_PROGRAMS += gitweb/gitweb.cgi $(GITWEB_PROGRAMS)
|
||||||
gitweb/gitweb.cgi: gitweb/gitweb.perl $(GITWEB_PROGRAMS)
|
gitweb/gitweb.cgi: gitweb/gitweb.perl $(GITWEB_PROGRAMS)
|
||||||
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
|
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
|
||||||
|
|
||||||
ifdef JSMIN
|
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/%,%,$@)
|
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
|
||||||
endif # JSMIN
|
endif # JSMIN
|
||||||
ifdef CSSMIN
|
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/%,%,$@)
|
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
|
||||||
endif # CSSMIN
|
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) $@ $@+ && \
|
$(QUIET_GEN)$(RM) $@ $@+ && \
|
||||||
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
||||||
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
|
-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
|
First you have to generate gitweb.cgi from gitweb.perl using
|
||||||
"make gitweb", then copy appropriate files (gitweb.cgi, gitweb.js,
|
"make gitweb", then "make install-gitweb" appropriate files
|
||||||
gitweb.css, git-logo.png and git-favicon.png) to their destination.
|
(gitweb.cgi, gitweb.js, gitweb.css, git-logo.png and git-favicon.png)
|
||||||
For example if git was (or is) installed with /usr prefix, you can do
|
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 prefix=/usr gitweb ;# as yourself
|
||||||
# make gitwebdir=/var/www/cgi-bin install-gitweb ;# as root
|
# make gitwebdir=/var/www/cgi-bin install-gitweb ;# as root
|
||||||
@ -81,16 +82,14 @@ Build example
|
|||||||
minifiers, you can do
|
minifiers, you can do
|
||||||
|
|
||||||
make GITWEB_PROJECTROOT="/home/local/scm" \
|
make GITWEB_PROJECTROOT="/home/local/scm" \
|
||||||
GITWEB_JS="/gitweb/gitweb.js" \
|
GITWEB_JS="gitweb/static/gitweb.js" \
|
||||||
GITWEB_CSS="/gitweb/gitweb.css" \
|
GITWEB_CSS="gitweb/static/gitweb.css" \
|
||||||
GITWEB_LOGO="/gitweb/git-logo.png" \
|
GITWEB_LOGO="gitweb/static/git-logo.png" \
|
||||||
GITWEB_FAVICON="/gitweb/git-favicon.png" \
|
GITWEB_FAVICON="gitweb/static/git-favicon.png" \
|
||||||
bindir=/usr/local/bin \
|
bindir=/usr/local/bin \
|
||||||
gitweb
|
gitweb
|
||||||
|
|
||||||
cp -fv gitweb/gitweb.{cgi,js,css} \
|
make gitwebdir=/var/www/cgi-bin/gitweb install-gitweb
|
||||||
gitweb/git-{favicon,logo}.png \
|
|
||||||
/var/www/cgi-bin/gitweb/
|
|
||||||
|
|
||||||
|
|
||||||
Gitweb config file
|
Gitweb config file
|
||||||
|
@ -4,10 +4,10 @@ all::
|
|||||||
# Define V=1 to have a more verbose compile.
|
# Define V=1 to have a more verbose compile.
|
||||||
#
|
#
|
||||||
# Define JSMIN to point to JavaScript minifier that functions as
|
# 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
|
# 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)
|
prefix ?= $(HOME)
|
||||||
@ -29,10 +29,10 @@ GITWEB_STRICT_EXPORT =
|
|||||||
GITWEB_BASE_URL =
|
GITWEB_BASE_URL =
|
||||||
GITWEB_LIST =
|
GITWEB_LIST =
|
||||||
GITWEB_HOMETEXT = indextext.html
|
GITWEB_HOMETEXT = indextext.html
|
||||||
GITWEB_CSS = gitweb.css
|
GITWEB_CSS = static/gitweb.css
|
||||||
GITWEB_LOGO = git-logo.png
|
GITWEB_LOGO = static/git-logo.png
|
||||||
GITWEB_FAVICON = git-favicon.png
|
GITWEB_FAVICON = static/git-favicon.png
|
||||||
GITWEB_JS = gitweb.js
|
GITWEB_JS = static/gitweb.js
|
||||||
GITWEB_SITE_HEADER =
|
GITWEB_SITE_HEADER =
|
||||||
GITWEB_SITE_FOOTER =
|
GITWEB_SITE_FOOTER =
|
||||||
|
|
||||||
@ -54,6 +54,7 @@ PERL_PATH ?= /usr/bin/perl
|
|||||||
# Shell quote;
|
# Shell quote;
|
||||||
bindir_SQ = $(subst ','\'',$(bindir))#'
|
bindir_SQ = $(subst ','\'',$(bindir))#'
|
||||||
gitwebdir_SQ = $(subst ','\'',$(gitwebdir))#'
|
gitwebdir_SQ = $(subst ','\'',$(gitwebdir))#'
|
||||||
|
gitwebstaticdir_SQ = $(subst ','\'',$(gitwebdir)/static)#'
|
||||||
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))#'
|
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))#'
|
||||||
PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))#'
|
PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))#'
|
||||||
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))#'
|
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))#'
|
||||||
@ -88,26 +89,26 @@ all:: gitweb.cgi
|
|||||||
GITWEB_PROGRAMS = gitweb.cgi
|
GITWEB_PROGRAMS = gitweb.cgi
|
||||||
|
|
||||||
ifdef JSMIN
|
ifdef JSMIN
|
||||||
GITWEB_FILES += gitweb.min.js
|
GITWEB_FILES += static/gitweb.min.js
|
||||||
GITWEB_JS = gitweb.min.js
|
GITWEB_JS = static/gitweb.min.js
|
||||||
all:: gitweb.min.js
|
all:: static/gitweb.min.js
|
||||||
gitweb.min.js: gitweb.js GITWEB-BUILD-OPTIONS
|
static/gitweb.min.js: static/gitweb.js GITWEB-BUILD-OPTIONS
|
||||||
$(QUIET_GEN)$(JSMIN) <$< >$@
|
$(QUIET_GEN)$(JSMIN) <$< >$@
|
||||||
else
|
else
|
||||||
GITWEB_FILES += gitweb.js
|
GITWEB_FILES += static/gitweb.js
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CSSMIN
|
ifdef CSSMIN
|
||||||
GITWEB_FILES += gitweb.min.css
|
GITWEB_FILES += static/gitweb.min.css
|
||||||
GITWEB_CSS = gitweb.min.css
|
GITWEB_CSS = static/gitweb.min.css
|
||||||
all:: gitweb.min.css
|
all:: static/gitweb.min.css
|
||||||
gitweb.min.css: gitweb.css GITWEB-BUILD-OPTIONS
|
static/gitweb.min.css: static/gitweb.css GITWEB-BUILD-OPTIONS
|
||||||
$(QUIET_GEN)$(CSSMIN) <$ >$@
|
$(QUIET_GEN)$(CSSMIN) <$ >$@
|
||||||
else
|
else
|
||||||
GITWEB_FILES += gitweb.css
|
GITWEB_FILES += static/gitweb.css
|
||||||
endif
|
endif
|
||||||
|
|
||||||
GITWEB_FILES += git-logo.png git-favicon.png
|
GITWEB_FILES += static/git-logo.png static/git-favicon.png
|
||||||
|
|
||||||
GITWEB_REPLACE = \
|
GITWEB_REPLACE = \
|
||||||
-e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
|
-e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
|
||||||
@ -147,12 +148,13 @@ gitweb.cgi: gitweb.perl GITWEB-BUILD-OPTIONS
|
|||||||
install: all
|
install: all
|
||||||
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)'
|
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitwebdir_SQ)'
|
||||||
$(INSTALL) -m 755 $(GITWEB_PROGRAMS) '$(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
|
### Cleaning rules
|
||||||
|
|
||||||
clean:
|
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
|
.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
|
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
|
(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
|
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
|
the gitweb config file. [Default: static/gitweb.css (or
|
||||||
CSSMIN variable is defined / CSS minifier is used)]
|
static/gitweb.min.css if the CSSMIN variable is defined / CSS minifier
|
||||||
|
is used)]
|
||||||
* GITWEB_LOGO
|
* GITWEB_LOGO
|
||||||
Points to the location where you put git-logo.png on your web server
|
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
|
(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
|
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
|
* GITWEB_FAVICON
|
||||||
Points to the location where you put git-favicon.png on your web server
|
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;
|
(or to be more generic URI of favicon, assumed to be image/png type;
|
||||||
web browsers that support favicons (website icons) may display them
|
web browsers that support favicons (website icons) may display them
|
||||||
in the browser's URL bar and next to site name in bookmarks). Relative
|
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
|
* GITWEB_JS
|
||||||
Points to the localtion where you put gitweb.js on your web server
|
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).
|
(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
|
Relative to base URI of gitweb. [Default: static/gitweb.js (or
|
||||||
if JSMIN build variable is defined / JavaScript minifier is used)]
|
static/gitweb.min.js if JSMIN build variable is defined / JavaScript
|
||||||
|
minifier is used)]
|
||||||
* GITWEB_CONFIG
|
* GITWEB_CONFIG
|
||||||
This Perl file will be loaded using 'do' and can be used to override any
|
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
|
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_header = '';
|
||||||
our \$site_footer = '';
|
our \$site_footer = '';
|
||||||
our \$home_text = 'indextext.html';
|
our \$home_text = 'indextext.html';
|
||||||
our @stylesheets = ('file:///$TEST_DIRECTORY/../gitweb/gitweb.css');
|
our @stylesheets = ('file:///$TEST_DIRECTORY/../gitweb/static/gitweb.css');
|
||||||
our \$logo = 'file:///$TEST_DIRECTORY/../gitweb/git-logo.png';
|
our \$logo = 'file:///$TEST_DIRECTORY/../gitweb/static/git-logo.png';
|
||||||
our \$favicon = 'file:///$TEST_DIRECTORY/../gitweb/git-favicon.png';
|
our \$favicon = 'file:///$TEST_DIRECTORY/../gitweb/static/git-favicon.png';
|
||||||
our \$projects_list = '';
|
our \$projects_list = '';
|
||||||
our \$export_ok = '';
|
our \$export_ok = '';
|
||||||
our \$strict_export = '';
|
our \$strict_export = '';
|
||||||
|
Loading…
Reference in New Issue
Block a user