1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-06-09 03:36:13 +02:00
git/gitweb/static/js
Jakub Narebski 9a86dd5710 gitweb: Split JavaScript for maintability, combining on build
Split originally single gitweb.js file into smaller files, each
dealing with single issue / area of responsibility.  This move should
make gitweb's JavaScript code easier to maintain.

For better webapp performance it is recommended[1][2][3] to combine
JavaScript files.  Do it during build time (in gitweb/Makefile), by
straight concatenation of files into gitweb.js file (which is now
ignored as being generated).  This means that there are no changes to
gitweb script itself - it still uses gitweb.js or gitweb.min.js, but
now generated.

[1]: http://developer.yahoo.com/performance/rules.html
     "Minimize HTTP Requests" section
[2]: http://code.google.com/speed/articles/include-scripts-properly.html
     "1. Combine external JavaScript files"
[3]: http://javascript-reference.info/speed-up-your-javascript-load-time.htm
     "Combine Your Files" section.

See also new gitweb/static/js/README file.

Inspired-by-patch-by: John 'Warthog9' Hawley <warthog9@eaglescrag.net>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-05-24 11:22:44 -07:00
..
lib gitweb: Split JavaScript for maintability, combining on build 2011-05-24 11:22:44 -07:00
README gitweb: Split JavaScript for maintability, combining on build 2011-05-24 11:22:44 -07:00
blame_incremental.js gitweb: Split JavaScript for maintability, combining on build 2011-05-24 11:22:44 -07:00
javascript-detection.js gitweb: Split JavaScript for maintability, combining on build 2011-05-24 11:22:44 -07:00

GIT web interface (gitweb) - JavaScript
=======================================

This directory holds JavaScript code used by gitweb (GIT web interface).
Scripts from there would be concatenated together in the order specified
by gitweb/Makefile into gitweb/static/gitweb.js, during building of
gitweb/gitweb.cgi (during gitweb building).  The resulting file (or its
minification) would then be installed / deployed together with gitweb.

Scripts in 'lib/' subdirectory compose generic JavaScript library,
providing features required by gitweb but in no way limited to gitweb
only.  In the future those scripts could be replaced by some JavaScript
library / framework, like e.g. jQuery, YUI, Prototype, MooTools, Dojo,
ExtJS, Script.aculo.us or SproutCore.

All scripts that manipulate gitweb output should be put outside 'lib/',
directly in this directory ('gitweb/static/js/').  Those scripts would
have to be rewritten if gitweb moves to using some JavaScript library.

See also comments in gitweb/Makefile.