Browse Source

Update to Bootstrap 2.0

tags/v0.9.0
James Moger 12 years ago
parent
commit
3cc6e2de29
54 changed files with 5226 additions and 452 deletions
  1. 5
    4
      .gitignore
  2. 4
    6
      build.xml
  3. 2
    1
      distrib/gitblit.properties
  4. 6
    6
      docs/00_index.mkd
  5. 131
    114
      docs/01_screenshots.mkd
  6. 1
    0
      docs/01_setup.mkd
  7. 1
    1
      docs/02_federation.mkd
  8. 4
    4
      docs/02_rpc.mkd
  9. 3
    3
      docs/03_faq.mkd
  10. 1
    0
      docs/04_design.mkd
  11. 24
    3
      docs/04_releases.mkd
  12. 5
    6
      docs/doc_footer.html
  13. 9
    23
      docs/doc_header.html
  14. 5
    6
      docs/site_footer.html
  15. 10
    18
      docs/site_header.html
  16. 567
    0
      resources/bootstrap/css/bootstrap-responsive.css
  17. 3365
    0
      resources/bootstrap/css/bootstrap.css
  18. BIN
      resources/bootstrap/img/glyphicons-halflings-white.png
  19. BIN
      resources/bootstrap/img/glyphicons-halflings.png
  20. 1
    0
      resources/bootstrap/js/bootstrap.js
  21. 4
    0
      resources/bootstrap/js/jquery.js
  22. 888
    0
      resources/gitblit.css
  23. 0
    76
      resources/markdown.css
  24. 1
    1
      src/com/gitblit/wicket/GitBlitWebApp.properties
  25. 3
    3
      src/com/gitblit/wicket/WicketUtils.java
  26. 1
    1
      src/com/gitblit/wicket/pages/ActivityPage.html
  27. 0
    19
      src/com/gitblit/wicket/pages/ActivityPage.java
  28. 19
    14
      src/com/gitblit/wicket/pages/BasePage.html
  29. 19
    0
      src/com/gitblit/wicket/pages/BasePage.java
  30. 4
    2
      src/com/gitblit/wicket/pages/ChangePasswordPage.html
  31. 3
    2
      src/com/gitblit/wicket/pages/CommitDiffPage.html
  32. 14
    14
      src/com/gitblit/wicket/pages/EditRepositoryPage.html
  33. 2
    2
      src/com/gitblit/wicket/pages/EditTeamPage.html
  34. 3
    3
      src/com/gitblit/wicket/pages/EditUserPage.html
  35. 1
    1
      src/com/gitblit/wicket/pages/EmptyRepositoryPage.html
  36. 1
    1
      src/com/gitblit/wicket/pages/GravatarProfilePage.html
  37. 0
    5
      src/com/gitblit/wicket/pages/MarkdownPage.html
  38. 1
    1
      src/com/gitblit/wicket/pages/MetricsPage.html
  39. 1
    4
      src/com/gitblit/wicket/pages/RepositoriesPage.html
  40. 0
    19
      src/com/gitblit/wicket/pages/RepositoriesPage.java
  41. 40
    31
      src/com/gitblit/wicket/pages/RepositoryPage.html
  42. 3
    1
      src/com/gitblit/wicket/pages/RepositoryPage.java
  43. 15
    8
      src/com/gitblit/wicket/pages/RootPage.html
  44. 1
    1
      src/com/gitblit/wicket/pages/RootSubPage.html
  45. 1
    1
      src/com/gitblit/wicket/pages/SendProposalPage.html
  46. 11
    6
      src/com/gitblit/wicket/pages/SummaryPage.html
  47. 9
    4
      src/com/gitblit/wicket/pages/SummaryPage.java
  48. 1
    1
      src/com/gitblit/wicket/pages/TicketPage.java
  49. 1
    1
      src/com/gitblit/wicket/panels/ActivityPanel.html
  50. 2
    24
      src/com/gitblit/wicket/panels/DropDownMenu.html
  51. 7
    4
      src/com/gitblit/wicket/panels/DropDownMenu.java
  52. 1
    1
      src/com/gitblit/wicket/panels/LinkPanel.html
  53. 21
    5
      src/com/gitblit/wicket/panels/LinkPanel.java
  54. 4
    1
      src/com/gitblit/wicket/panels/NavigationPanel.java

+ 5
- 4
.gitignore View File

@@ -20,7 +20,8 @@
/src/WEB-INF/reference.properties
/bin/
/.settings/
/javadoc
/express
/build-demo.xml
/users.conf
/javadoc
/express
/build-demo.xml
/users.conf
*.directory

+ 4
- 6
build.xml View File

@@ -227,9 +227,8 @@
<copy todir="${docs.output.dir}">
<!-- Copy selected Gitblit resources -->
<fileset dir="${project.resources.dir}">
<include name="bootstrap.140.css" />
<include name="bootstrap.gb.css" />
<include name="markdown.css" />
<include name="bootstrap/**/*" />
<include name="gitblit.css" />
<include name="gitblt_25_white.png" />
<include name="gitblt-favicon.png" />
<include name="lock_go_16x16.png" />
@@ -710,9 +709,8 @@
<copy todir="${project.site.dir}">
<!-- Copy selected Gitblit resources -->
<fileset dir="${project.resources.dir}">
<include name="bootstrap.140.css" />
<include name="bootstrap.gb.css" />
<include name="markdown.css" />
<include name="bootstrap/**/*" />
<include name="gitblit.css" />
<include name="gitblt_25_white.png" />
<include name="gitblt-favicon.png" />
<include name="lock_go_16x16.png" />

+ 2
- 1
distrib/gitblit.properties View File

@@ -282,7 +282,8 @@ web.mountParameters = true
#
# <https://issues.apache.org/jira/browse/WICKET-1303>
# <http://tomcat.apache.org/security-6.html#Fixed_in_Apache_Tomcat_6.0.10>
# Add *org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true* to *CATALINA_OPTS*
# Add *-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true* to your
# *CATALINA_OPTS* or to your JVM launch parameters
#
# SINCE 0.5.2
web.forwardSlashCharacter = /

+ 6
- 6
docs/00_index.mkd View File

@@ -1,10 +1,10 @@
## What is Gitblit?
<div class="well" style="margin-left:5px;float:right;width:275px;padding: 10px 10px;">
<b>Current Release %VERSION% (%BUILDDATE%)</b> <a href="releases.html">changelog</a>
<div style="padding:5px;"><a style="width:150px;text-decoration:none;" class="btn success" href="http://code.google.com/p/gitblit/downloads/detail?name=%GO%">Download Gitblit GO</a></div>
<div style="padding:5px;"><a style="width:150px;text-decoration:none;" class="btn danger" href="http://code.google.com/p/gitblit/downloads/detail?name=%WAR%">Download Gitblit WAR</a></div>
<div style="padding:5px;"><a style="width:150px;text-decoration:none;" class="btn info" href="http://code.google.com/p/gitblit/downloads/detail?name=%EXPRESS%">Download Gitblit Express</a> <span class="label warning">BETA</span></div>
<div style="padding:5px;"><a style="width:150px;text-decoration:none;" class="btn primary" href="http://code.google.com/p/gitblit/downloads/detail?name=%MANAGER%">Download Gitblit Manager</a></div>
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-success" href="http://code.google.com/p/gitblit/downloads/detail?name=%GO%">Download Gitblit GO</a></div>
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-danger" href="http://code.google.com/p/gitblit/downloads/detail?name=%WAR%">Download Gitblit WAR</a></div>
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-info" href="http://code.google.com/p/gitblit/downloads/detail?name=%EXPRESS%">Download Gitblit Express</a> <span class="label label-warning">BETA</span></div>
<div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-primary" href="http://code.google.com/p/gitblit/downloads/detail?name=%MANAGER%">Download Gitblit Manager</a></div>
<div style="text-align:center">
<a href="http://code.google.com/p/gitblit/downloads/detail?name=%API%">Gitblit API</a> | <a href="http://code.google.com/p/gitblit/downloads/detail?name=%FEDCLIENT%">Gitblit Federation Client</a>
<br/>
@@ -12,7 +12,7 @@
</div>
<div style="padding-top:5px;">
<table class="condensed-table">
<table class="table condensed-table">
<tbody>
<tr><th>License</th><td><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a></td></tr>
<tr><th>Sources</th><td><a href="http://github.com/gitblit">GitHub</a> &amp; <a href="http://code.google.com/p/gitblit/source/list">GoogleCode</a></td></tr>
@@ -47,7 +47,7 @@ All dependencies are bundled.
All dependencies are bundled.
### Express: For the Cloud <span class="label warning" style="vertical-align: middle;">BETA</span>
### Express: For the Cloud <span class="label label-warning" style="vertical-align: middle;">BETA</span>
*Gitblit Express* is a prepared distribution for [RedHat's OpenShift][rhcloud] cloud service.
All dependencies are bundled.

+ 131
- 114
docs/01_screenshots.mkd View File

@@ -1,121 +1,138 @@
## Screenshots
<table class="screenshots">
<tr><td colspan='3'><h3>Gitblit GO/WAR</h3></td></tr>
<tr><td>
<a rel="screenshots_group" href="screenshots/00.png" title="Repository List"><img alt="Repositories" src="thumbs/00.png" /></a>
<br/>Repository List
</td><td>
<a rel="screenshots_group" href="screenshots/00b.png" title="Repository List (Admin)"><img alt="Repositories (Admin)" src="thumbs/00b.png" /></a>
<br/>Repository List (Admin)
</td><td>
<a rel="screenshots_group" href="screenshots/00c.png" title="Activity"><img alt="Activity" src="thumbs/00c.png" /></a>
<br/>Activity
</td></tr>
<tr><td>
<a rel="screenshots_group" href="screenshots/01c.png" title="Users &amp; Teams"><img alt="Users &amp; Teams" src="thumbs/01c.png" /></a>
<br/>Users &amp; Teams
</td><td>
<a rel="screenshots_group" href="screenshots/01.png" title="New User"><img alt="New User" src="thumbs/01.png" /></a>
<br/>New User
</td><td>
<a rel="screenshots_group" href="screenshots/01b.png" title="New Team"><img alt="New Team" src="thumbs/01b.png" /></a>
<br/>New Team
</td></tr>
### Gitblit GO/WAR
<tr><td>
<a rel="screenshots_group" href="screenshots/02.png" title="Edit Repository"><img alt="Edit Repository" src="thumbs/02.png" /></a>
<br/>Edit Repository
</td><td>
<a rel="screenshots_group" href="screenshots/03.png" title="Repository Summary"><img alt="Summary" src="thumbs/03.png" /></a>
<br/>Repository Summary
</td><td>
<a rel="screenshots_group" href="screenshots/04.png" title="Repository Log"><img alt="Log" src="thumbs/04.png" /></a>
<br/>Repository Log
</td></tr>
<ul class="thumbnails">
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/00.png" title="Repository List"><img alt="Repositories" src="thumbs/00.png" /></a>
<h5>Repository List</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/00b.png" title="Repository List (Admin)"><img alt="Repositories (Admin)" src="thumbs/00b.png" /></a>
<h5>Repository List (Admin)</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/00c.png" title="Activity"><img alt="Activity" src="thumbs/00c.png" /></a>
<h5>Activity</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/01c.png" title="Users &amp; Teams"><img alt="Users &amp; Teams" src="thumbs/01c.png" /></a>
<h5>Users &amp; Teams</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/01.png" title="New User"><img alt="New User" src="thumbs/01.png" /></a>
<h5>New User</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/01b.png" title="New Team"><img alt="New Team" src="thumbs/01b.png" /></a>
<h5>New Team</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/02.png" title="Edit Repository"><img alt="Edit Repository" src="thumbs/02.png" /></a>
<h5>Edit Repository</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/03.png" title="Repository Summary"><img alt="Summary" src="thumbs/03.png" /></a>
<h5>Repository Summary</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/04.png" title="Repository Log"><img alt="Log" src="thumbs/04.png" /></a>
<h5>Repository Log</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/10.png" title="Repository Tags"><img alt="Tags" src="thumbs/10.png" /></a>
<h5>Repository Tags</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/05.png" title="Repository Tree"><img alt="Tree" src="thumbs/05.png" /></a>
<h5>Repository Tree</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/06.png" title="Commit Page"><img alt="Commit Page" src="thumbs/06.png" /></a>
<h5>Commit Page</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/07.png" title="Commit Diff"><img alt="Commit Diff" src="thumbs/07.png" /></a>
<h5>Commit Diff</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/09.png" title="Branch Metrics"><img alt="Metrics" src="thumbs/09.png" /></a>
<h5>Branch Metrics</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/08.png" title="Blob View with Syntax Highlighting"><img alt="Blob" src="thumbs/08.png" /></a>
<h5>Blob View with Syntax Highlighting</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/11.png" title="Blame"><img alt="Blame" src="thumbs/11.png" /></a>
<h5>Blame</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/12.png" title="Federation Panels"><img alt="Federation Panels" src="thumbs/12.png" /></a>
<h5>Federation Panels</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/13.png" title="Detailed Status of a Registration"><img alt="Registration Status" src="thumbs/13.png" /></a>
<h5>Detailed Status of a Registration</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/14.png" title="Send Proposal"><img alt="Propose" src="thumbs/14.png" /></a>
<h5>Send Proposal</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/15.png" title="Empty Repository"><img alt="Empty Repository" src="thumbs/15.png" /></a>
<h5>Empty Repository</h5>
</li>
</ul>
<tr><td>
<a rel="screenshots_group" href="screenshots/10.png" title="Repository Tags"><img alt="Tags" src="thumbs/10.png" /></a>
<br/>Repository Tags
</td><td>
<a rel="screenshots_group" href="screenshots/05.png" title="Repository Tree"><img alt="Tree" src="thumbs/05.png" /></a>
<br/>Repository Tree
</td><td>
<a rel="screenshots_group" href="screenshots/06.png" title="Commit Page"><img alt="Commit Page" src="thumbs/06.png" /></a>
<br/>Commit Page
</td></tr>
### Gitblit Manager
<tr><td>
<a rel="screenshots_group" href="screenshots/07.png" title="Commit Diff"><img alt="Commit Diff" src="thumbs/07.png" /></a>
<br/>Commit Diff
</td><td>
<a rel="screenshots_group" href="screenshots/09.png" title="Branch Metrics"><img alt="Metrics" src="thumbs/09.png" /></a>
<br/>Branch Metrics
</td><td>
<a rel="screenshots_group" href="screenshots/08.png" title="Blob View with Syntax Highlighting"><img alt="Blob" src="thumbs/08.png" /></a>
<br/>Blob View with Syntax Highlighting
</td></tr>
<tr><td>
<a rel="screenshots_group" href="screenshots/11.png" title="Blame"><img alt="Blame" src="thumbs/11.png" /></a>
<br/>Blame
</td><td>
<a rel="screenshots_group" href="screenshots/12.png" title="Federation Panels"><img alt="Federation Panels" src="thumbs/12.png" /></a>
<br/>Federation Panels
</td><td>
<a rel="screenshots_group" href="screenshots/13.png" title="Detailed Status of a Registration"><img alt="Registration Status" src="thumbs/13.png" /></a>
<br/>Detailed Status of a Registration
</td></tr>
<tr><td>
<a rel="screenshots_group" href="screenshots/14.png" title="Send Proposal"><img alt="Propose" src="thumbs/14.png" /></a>
<br/>Send Proposal
</td><td>
<a rel="screenshots_group" href="screenshots/15.png" title="Empty Repository"><img alt="Empty Repository" src="thumbs/15.png" /></a>
<br/>Empty Repository
</td><td>
</td></tr>
<tr><td colspan='3'><h3>Gitblit Manager</h3></td></tr>
<tr><td>
<a rel="screenshots_group" href="screenshots/m00.png" title="Repositories Panel"><img alt="Repositories Panel" src="thumbs/m00.png" /></a>
<br/>Repositories Panel
</td><td>
<a rel="screenshots_group" href="screenshots/m01.png" title="Search Dialog"><img alt="Search Dialog" src="thumbs/m01.png" /></a>
<br/>Search Dialog
</td><td>
<a rel="screenshots_group" href="screenshots/m02.png" title="Activity Panel"><img alt="Activity Panel" src="thumbs/m02.png" /></a>
<br/>Activity Panel
</td></tr>
<tr><td>
<a rel="screenshots_group" href="screenshots/m03.png" title="Subscriptions Dialog"><img alt="Subscriptions Dialog" src="thumbs/m03.png" /></a>
<br/>Subscriptions Dialog
</td><td>
<a rel="screenshots_group" href="screenshots/m04.png" title="Users Panel"><img alt="Users Panels" src="thumbs/m04.png" /></a>
<br/>Users Panel
</td><td>
<ul class="thumbnails">
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m00.png" title="Repositories Panel"><img alt="Repositories Panel" src="thumbs/m00.png" /></a>
<h5>Repositories Panel</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m01.png" title="Search Dialog"><img alt="Search Dialog" src="thumbs/m01.png" /></a>
<h5>Search Dialog</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m02.png" title="Activity Panel"><img alt="Activity Panel" src="thumbs/m02.png" /></a>
<h5>Activity Panel</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m03.png" title="Subscriptions Dialog"><img alt="Subscriptions Dialog" src="thumbs/m03.png" /></a>
<h5>Subscriptions Dialog</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m04.png" title="Users Panel"><img alt="Users Panels" src="thumbs/m04.png" /></a>
<h5>Users Panel</h5>
</li>
<li class="span3">
<a rel="screenshots_group" href="screenshots/m05.png" title="Settings Panel"><img alt="Settings Panel" src="thumbs/m05.png" /></a>
<br/>Settings Panel
</td></tr>
<tr><td>
<a rel="screenshots_group" href="screenshots/m06.png" title="Status Panel"><img alt="Status Panel" src="thumbs/m06.png" /></a>
<br/>Status Panel
</td><td>
<a rel="screenshots_group" href="screenshots/m07.png" title="Edit Repository Settings"><img alt="Repository Settings" src="thumbs/m07.png" /></a>
<br/>Edit Repository Settings
</td><td>
<a rel="screenshots_group" href="screenshots/m08.png" title="Edit Repository Access Restrictions"><img alt="Access Restrictions" src="thumbs/m08.png" /></a>
<br/>Edit Repository Access Restriction
</td></tr>
<tr><td>
<a rel="screenshots_group" href="screenshots/m09.png" title="Edit Repository Federation Settings"><img alt="Federation Settings" src="thumbs/m09.png" /></a>
<br/>Edit Repository Federation Settings
</td><td colspan='2'>
<a rel="screenshots_group" href="screenshots/m10.png" title="Edit User Dialog"><img alt="Edit User Dialog" src="thumbs/m10.png" /></a>
<br/>Edit User Dialog
</td></tr>
<h5>Settings Panel</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m06.png" title="Status Panel"><img alt="Status Panel" src="thumbs/m06.png" /></a>
<h5>Status Panel</h5>
</li>
</ul>
</table>
<ul class="thumbnails">
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m07.png" title="Edit Repository Settings"><img alt="Repository Settings" src="thumbs/m07.png" /></a>
<h5>Edit Repository Settings</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m08.png" title="Edit Repository Access Restrictions"><img alt="Access Restrictions" src="thumbs/m08.png" /></a>
<h5>Edit Repository Access Restriction</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m09.png" title="Edit Repository Federation Settings"><img alt="Federation Settings" src="thumbs/m09.png" /></a>
<h5>Edit Repository Federation Settings</h5>
</li>
<li class="span3">
<a class="thumbnail" rel="screenshots_group" href="screenshots/m10.png" title="Edit User Dialog"><img alt="Edit User Dialog" src="thumbs/m10.png" /></a>
<h5>Edit User Dialog</h5>
</li>
</ul>

+ 1
- 0
docs/01_setup.mkd View File

@@ -86,6 +86,7 @@ Command-Line parameters override the values in `gitblit.properties` at runtime.
--useNio Use NIO Connector else use Socket Connector.
--httpPort HTTP port for to serve. (port <= 0 will disable this connector)
--httpsPort HTTPS port to serve. (port <= 0 will disable this connector)
--ajpPort AJP port to serve. (port <= 0 will disable this connector)
--storePassword Password for SSL (https) keystore.
--shutdownPort Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)
--tempFolder Folder for server to extract built-in webapp

+ 1
- 1
docs/02_federation.mkd View File

@@ -191,7 +191,7 @@ By default, federated repositories can not be pushed to, they are read-only by t
## Federation Pull Registration Keys
<table>
<table class="table">
<tr><th>federation.N.url</th>
<td>string</td>
<td>the url of the origin Gitblit instance <em>(required)</em></td>

+ 4
- 4
docs/02_rpc.mkd View File

@@ -37,7 +37,7 @@ At present, Gitblit does not yet support retrieving Git objects (commits, etc) v
The Gitblit API includes methods for retrieving and interpreting RSS feeds. The Gitblit Manager uses these methods to allow branch activity monitoring and repository searching.
<table>
<table class="table">
<tr><th>url parameter</th><th>default</th><th>description</th></tr>
<tr><td colspan='3'><b>standard query</b></td></tr>
<tr><td><em>repository</em></td><td><em>required</em></td><td>repository name is part of the url (see examples below)</td></tr>
@@ -58,7 +58,7 @@ The Gitblit API includes methods for retrieving and interpreting RSS feeds. The
## JSON Remote Procedure Call (RPC) Interface
### RPC Protocol Versions
<table>
<table class="table">
<tbody>
<tr><th>Release</th><th>Protocol Version</th></tr>
<tr><td>Gitblit v0.7.0</td><td>1 (inferred version)</td></tr>
@@ -67,7 +67,7 @@ The Gitblit API includes methods for retrieving and interpreting RSS feeds. The
</table>
### RPC Request and Response Types
<table>
<table class="table">
<tr><th colspan='2'>url parameters</th><th rowspan='2'>required<br/>user<br/>permission</th><th rowspan='2'>protocol<br/>version</th><th colspan='2'>json</th></tr>
<tr><th>req=</th><th>name=</th><th>post body</th><th>response body</th></tr>
<tr><td colspan='6'><em>web.enableRpcServlet=true</em></td></tr>
@@ -103,7 +103,7 @@ The Gitblit API includes methods for retrieving and interpreting RSS feeds. The
</table>
### RPC/HTTP Response Codes
<table>
<table class="table">
<tr><th>code</th><th>name</th><th>description</th></tr>
<tr><td>200</td><td>success</td><td>Gitblit processed the request successfully</td></tr>
<tr><td>401</td><td>unauthorized</td><td>Gitblit requires user credentials to process the request</td></tr>

+ 3
- 3
docs/03_faq.mkd View File

@@ -48,7 +48,7 @@ This is likely an url encoding/decoding problem with forward slashes:
http://192.168.1.2/log/myrepo.git/refs%2Fheads%2Fmaster
**NOTE:**
You can not trust the url in the address bar of your browser since your browser may *prettify* the url. When in doubt, *View Source* of the generated html to confirm the *href*.
You can not trust the url in the address bar of your browser since your browser may decode it for presentation. When in doubt, *View Source* of the generated html to confirm the *href*.
There are two possible workarounds for this issue. In `gitblit.properties` or `web.xml`:
@@ -59,7 +59,7 @@ There are two possible workarounds for this issue. In `gitblit.properties` or `
You must ensure that the proxy does not decode and then re-encode request urls with interpretation of forward-slashes (*%2F*). If your proxy layer does re-encode embedded forward-slashes then you may not be able to browse grouped repositories or logs, branches, and tags **unless** you set *web.mountParameters=false*.
If you are using Apache mod_proxy, specify [AllowEncodedSlashes NoDecode](http://httpd.apache.org/docs/2.2/mod/core.html#allowencodedslashes).
If you are using Apache mod_proxy you may have luck with specifying [AllowEncodedSlashes NoDecode](http://httpd.apache.org/docs/2.2/mod/core.html#allowencodedslashes).
### Running Gitblit on Tomcat
@@ -67,7 +67,7 @@ Tomcat takes the extra precaution of [disallowing embedded slashes by default](h
You have a few options on how to handle this scenario:
1. [Tweak Tomcat](http://tomcat.apache.org/security-6.html#Fixed_in_Apache_Tomcat_6.0.10)
Add *org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true* to *CATALINA_OPTS*
Add *-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true* to *CATALINA_OPTS* or to your JVM launch parameters
2. *web.mountParameters = false* and use non-pretty, parameterized urls
3. *web.forwardSlashCharacter = !* which tells Gitblit to use **!** instead of **/**

+ 1
- 0
docs/04_design.mkd View File

@@ -11,6 +11,7 @@
The following dependencies are bundled with Gitblit.
- [Bootstrap](http://twitter.github.com/bootstrap) (Apache 2.0)
- [GLYPHICONS](http://glyphicons.com) (Creative Commons CC-BY)
- [Clippy](https://github.com/mojombo/clippy) (MIT)
- [google-code-prettify](http://code.google.com/p/google-code-prettify) (Apache 2.0)
- [Commons Daemon](http://commons.apache.org/daemon) (Apache 2.0)

+ 24
- 3
docs/04_releases.mkd View File

@@ -16,7 +16,7 @@
#### additions
- Added a built-in AJP connector for integrating Gitblit GO into an Apache mod_proxy setup (issue 59)
**New:** *server.ajpPort = 0*
**New:** *server.ajpPort = 0*
**New:** *server.ajpBindInterface = localhost*
- On the Repositories page show a bang *!* character in the color swatch of a repository with a working copy (issue 49)
Push requests to these repositories will be rejected.
@@ -32,12 +32,23 @@ Push requests to these repositories will be rejected.
- Fixed username case-sensitivity issues (issue 43)
- Disregard searching a subfolder if Gitblit does not have filesystem permissions (Github/lemval issue 51)
#### dependency changes
- updated to Bootstrap 2.0
- added GLYPHICONS (as bundled with Bootstrap 2.0)
<hr/>
### Older Releases
**0.8.2** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.2.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.2.war) | [express](http://code.google.com/p/gitblit/downloads/detail?name=express-0.8.2.zip) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=fedclient-0.8.2.zip) | [manager](http://code.google.com/p/gitblit/downloads/detail?name=manager-0.8.2.zip) | [api](http://code.google.com/p/gitblit/downloads/detail?name=gbapi-0.8.2.zip)) based on [JGit 1.2.0 (201112221803-r)][jgit] &nbsp; *released 2012-01-13*
#### fixes
- Fixed bug when upgrading from users.properties to users.conf (issue 41)
<hr/>
**0.8.1** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.1.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.1.war) | [express](http://code.google.com/p/gitblit/downloads/detail?name=express-0.8.1.zip) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=fedclient-0.8.1.zip) | [manager](http://code.google.com/p/gitblit/downloads/detail?name=manager-0.8.1.zip) | [api](http://code.google.com/p/gitblit/downloads/detail?name=gbapi-0.8.1.zip)) based on [JGit 1.2.0 (201112221803-r)][jgit] &nbsp; *released 2012-01-11*
#### fixes
@@ -45,6 +56,8 @@ Push requests to these repositories will be rejected.
- Include missing icon resource for the manager (issue 40)
- Fixed sendmail.groovy message content with incorrect tag/branch labels
<hr/>
**0.8.0** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.0.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.0.war) | [express](http://code.google.com/p/gitblit/downloads/detail?name=express-0.8.0.zip) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=fedclient-0.8.0.zip) | [manager](http://code.google.com/p/gitblit/downloads/detail?name=manager-0.8.0.zip) | [api](http://code.google.com/p/gitblit/downloads/detail?name=gbapi-0.8.0.zip)) based on [JGit 1.2.0 (201112221803-r)][jgit] &nbsp; *released 2012-01-11*
#### additions
@@ -78,7 +91,7 @@ The original `users.properties` file and it's corresponding implementation are *
- JavaScript-based 3-step (click, ctrl+c, enter) *copy to clipboard* of the primary repository url in the event that you do not want to use Flash on your installation
- Empty repositories now link to an *empty repository* page which gives some direction to the user for the next step in using Gitblit. This page displays the primary push/clone url of the repository and gives sample syntax for the git command-line client. (issue 31)
- Repositories with a *gh-pages* branch will now have a *pages* link which will serve the content of this branch. All resource requests are against the repository, Gitblit does not checkout/export this branch to a temporary filesystem. Jekyll templating is not supported.
- Gitblit Express bundle to get started running Gitblit on RedHat's OpenShift cloud <span class="label warning">BETA</span>
- Gitblit Express bundle to get started running Gitblit on RedHat's OpenShift cloud <span class="label label-warning">BETA</span>
#### changes
@@ -98,7 +111,7 @@ This change helps adoption of GO in environments without an internet connection
- added Groovy 1.8.5
- added Clippy (bundled)
### Older Releases
<hr/>
**0.7.0** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.7.0.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.7.0.war) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=fedclient-0.7.0.zip) | [manager](http://code.google.com/p/gitblit/downloads/detail?name=manager-0.7.0.zip) | [api](http://code.google.com/p/gitblit/downloads/detail?name=gbapi-0.7.0.zip)) based on [JGit 1.1.0 (201109151100-r)][jgit] &nbsp; *released 2011-11-11*
@@ -134,6 +147,8 @@ This change helps adoption of GO in environments without an internet connection
- updated: MarkdownPapers 1.2.5
- updated: Wicket 1.4.19
<hr/>
**0.6.0** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.6.0.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.6.0.war) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=fedclient-0.6.0.zip)) based on [JGit 1.1.0 (201109151100-r)][jgit] &nbsp; *released 2011-09-27*
- added: federation feature to allow gitblit instances (or gitblit federation clients) to pull repositories and, optionally, settings and accounts from other gitblit instances. This is something like [svn-sync](http://svnbook.red-bean.com/en/1.5/svn.ref.svnsync.html) for gitblit.
@@ -153,6 +168,8 @@ This change helps adoption of GO in environments without an internet connection
- fixed: syndication urls for WAR deployments
- fixed: authentication for zip downloads
<hr/>
**0.5.2** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.5.2.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.5.2.war)) based on [JGit 1.0.0 (201106090707-r)][jgit] &nbsp; *released 2011-07-27*
- fixed: active repositories with a HEAD that pointed to an empty branch caused internal errors (issue 14)
@@ -169,12 +186,16 @@ This change helps adoption of GO in environments without an internet connection
- updated: MarkdownPapers 1.1.0
- updated: Jetty 7.4.3
<hr/>
**0.5.1** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.5.1.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.5.1.war)) based on [JGit 1.0.0 (201106090707-r)][jgit] &nbsp; *released 2011-06-28*
- clarified SSL certificate generation and configuration for both server-side and client-side
- added some more troubleshooting information to documentation
- replaced JavaService with Apache Commons Daemon
<hr/>
**0.5.0** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.5.0.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.5.0.war)) based on [JGit 1.0.0 (201106090707-r)][jgit] &nbsp; *released 2011-06-26*
- initial release

+ 5
- 6
docs/doc_footer.html View File

@@ -1,9 +1,8 @@
</div> <!-- markdown -->
<div style="margin-top:10px" class="page_footer">
<div style="float:right;">{0}</div>
The content of this page is licensed under the <a href="http://creativecommons.org/licenses/by/3.0">Creative Commons Attribution 3.0 License</a>.
</div>
</div> <!-- content -->
</div> <!-- markdown -->
<footer>
<p class="pull-right">{0}</p>
The content of this page is licensed under the <a href="http://creativecommons.org/licenses/by/3.0">Creative Commons Attribution 3.0 License</a>.
</footer>
</div> <!-- container -->
</body>
</html>

+ 9
- 23
docs/doc_header.html View File

@@ -2,36 +2,23 @@
<html>
<head>
<title>Gitblit</title>
<link rel="stylesheet" type="text/css" href="./bootstrap.140.css"/>
<link rel="stylesheet" type="text/css" href="./bootstrap.gb.css"/>
<link rel="stylesheet" type="text/css" href="./markdown.css"/>
<link rel="stylesheet" href="./bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" type="text/css" href="./gitblit.css"/>
<link rel="shortcut icon" type="image/png" href="./gitblt-favicon.png" />
<meta name="ROBOTS" content="INDEX, NOFOLLOW">
<meta http-equiv="imagetoolbar" content="no" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="java git server" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>
!window.jQuery && document.write('<script src="./fancybox/jquery-1.4.3.min.js"><\/script>');
</script>
<script type="text/javascript" src="./fancybox/query.mousewheel-3.0.4.pack.js"></script>
<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript" src="./screenshots.js"></script>
<style>
ul.noBullets '{'
list-style: none;
'}'
</style>
<script type="text/javascript" src="./bootstrap/js/jquery.js"></script>
<script type="text/javascript" src="./bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="prettify/prettify.js"></script>
<link href="prettify/prettify.css" type="text/css" rel="stylesheet" />
</head>
<body style="padding-top:40px;" onload="prettyPrint()">
<div class="topbar">
<div class="fill">
<body onload="prettyPrint()">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="http://gitblit.com" title="gitblit homepage">
<img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/>
@@ -43,5 +30,4 @@
</div>
</div>
<div class="container">
<div class="content">
<div class="markdown">
<div class="markdown">

+ 5
- 6
docs/site_footer.html View File

@@ -1,9 +1,8 @@
</div> <!-- markdown -->
<div style="margin-top:10px" class="page_footer">
<div style="float:right;">{0}</div>
The content of this page is licensed under the <a href="http://creativecommons.org/licenses/by/3.0">Creative Commons Attribution 3.0 License</a>.
</div>
</div> <!-- content -->
</div> <!-- markdown -->
<footer>
<p class="pull-right">{0}</p>
The content of this page is licensed under the <a href="http://creativecommons.org/licenses/by/3.0">Creative Commons Attribution 3.0 License</a>.
</footer>
</div> <!-- container -->
</body>
</html>

+ 10
- 18
docs/site_header.html View File

@@ -2,29 +2,22 @@
<html>
<head>
<title>Gitblit</title>
<link rel="stylesheet" type="text/css" href="./bootstrap.140.css"/>
<link rel="stylesheet" type="text/css" href="./bootstrap.gb.css"/>
<link rel="stylesheet" type="text/css" href="./markdown.css"/>
<link rel="stylesheet" href="./bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" type="text/css" href="./gitblit.css"/>
<link rel="shortcut icon" type="image/png" href="./gitblt-favicon.png" />
<meta name="ROBOTS" content="INDEX">
<meta http-equiv="imagetoolbar" content="no" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="java git server" />
<script type="text/javascript" src="./bootstrap/js/jquery.js"></script>
<script type="text/javascript" src="./bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>
!window.jQuery && document.write('<script src="./fancybox/jquery-1.4.3.min.js"><\/script>');
</script>
<script type="text/javascript" src="./fancybox/query.mousewheel-3.0.4.pack.js"></script>
<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript" src="./screenshots.js"></script>
<style>
ul.noBullets '{'
list-style: none;
'}'
</style>
<script type="text/javascript" src="./screenshots.js"></script>
<script type="text/javascript" src="prettify/prettify.js"></script>
<link href="prettify/prettify.css" type="text/css" rel="stylesheet" />
@@ -36,9 +29,9 @@
<!-- ANALYTICS -->
</head>
<body style="padding-top:40px;" onload="prettyPrint()">
<div class="topbar">
<div class="fill">
<body onload="prettyPrint()">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="http://gitblit.com" title="gitblit homepage">
<img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/>
@@ -55,5 +48,4 @@
</div>
</div>
<div class="container">
<div class="content">
<div class="markdown">
<div class="markdown">

+ 567
- 0
resources/bootstrap/css/bootstrap-responsive.css View File

@@ -0,0 +1,567 @@
/*!
* Bootstrap Responsive v2.0.0
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/
.hidden {
display: none;
visibility: hidden;
}
@media (max-width: 480px) {
.nav-collapse {
-webkit-transform: translate3d(0, 0, 0);
}
.page-header h1 small {
display: block;
line-height: 18px;
}
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input {
display: block;
width: 100%;
height: 28px;
/* Make inputs at least the height of their button counterpart */
/* Makes inputs behave like true block-level elements */
-webkit-box-sizing: border-box;
/* Older Webkit */
-moz-box-sizing: border-box;
/* Older FF */
-ms-box-sizing: border-box;
/* IE8 */
box-sizing: border-box;
/* CSS3 spec*/
}
.input-prepend input[class*="span"], .input-append input[class*="span"] {
width: auto;
}
input[type="checkbox"], input[type="radio"] {
border: 1px solid #ccc;
}
.form-horizontal .control-group > label {
float: none;
width: auto;
padding-top: 0;
text-align: left;
}
.form-horizontal .controls {
margin-left: 0;
}
.form-horizontal .control-list {
padding-top: 0;
}
.form-horizontal .form-actions {
padding-left: 10px;
padding-right: 10px;
}
.modal {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
width: auto;
margin: 0;
}
.modal.fade.in {
top: auto;
}
.modal-header .close {
padding: 10px;
margin: -10px;
}
.carousel-caption {
position: static;
}
}
@media (max-width: 768px) {
.container {
width: auto;
padding: 0 20px;
}
.row-fluid {
width: 100%;
}
.row {
margin-left: 0;
}
.row > [class*="span"], .row-fluid > [class*="span"] {
float: none;
display: block;
width: auto;
margin: 0;
}
}
@media (min-width: 768px) and (max-width: 980px) {
.row {
margin-left: -20px;
*zoom: 1;
}
.row:before, .row:after {
display: table;
content: "";
}
.row:after {
clear: both;
}
[class*="span"] {
float: left;
margin-left: 20px;
}
.span1 {
width: 42px;
}
.span2 {
width: 104px;
}
.span3 {
width: 166px;
}
.span4 {
width: 228px;
}
.span5 {
width: 290px;
}
.span6 {
width: 352px;
}
.span7 {
width: 414px;
}
.span8 {
width: 476px;
}
.span9 {
width: 538px;
}
.span10 {
width: 600px;
}
.span11 {
width: 662px;
}
.span12, .container {
width: 724px;
}
.offset1 {
margin-left: 82px;
}
.offset2 {
margin-left: 144px;
}
.offset3 {
margin-left: 206px;
}
.offset4 {
margin-left: 268px;
}
.offset5 {
margin-left: 330px;
}
.offset6 {
margin-left: 392px;
}
.offset7 {
margin-left: 454px;
}
.offset8 {
margin-left: 516px;
}
.offset9 {
margin-left: 578px;
}
.offset10 {
margin-left: 640px;
}
.offset11 {
margin-left: 702px;
}
.row-fluid {
width: 100%;
*zoom: 1;
}
.row-fluid:before, .row-fluid:after {
display: table;
content: "";
}
.row-fluid:after {
clear: both;
}
.row-fluid > [class*="span"] {
float: left;
margin-left: 2.762430939%;
}
.row-fluid > [class*="span"]:first-child {
margin-left: 0;
}
.row-fluid .span1 {
width: 5.801104972%;
}
.row-fluid .span2 {
width: 14.364640883%;
}
.row-fluid .span3 {
width: 22.928176794%;
}
.row-fluid .span4 {
width: 31.491712705%;
}
.row-fluid .span5 {
width: 40.055248616%;
}
.row-fluid .span6 {
width: 48.618784527%;
}
.row-fluid .span7 {
width: 57.182320438000005%;
}
.row-fluid .span8 {
width: 65.74585634900001%;
}
.row-fluid .span9 {
width: 74.30939226%;
}
.row-fluid .span10 {
width: 82.87292817100001%;
}
.row-fluid .span11 {
width: 91.436464082%;
}
.row-fluid .span12 {
width: 99.999999993%;
}
input.span1, textarea.span1, .uneditable-input.span1 {
width: 32px;
}
input.span2, textarea.span2, .uneditable-input.span2 {
width: 94px;
}
input.span3, textarea.span3, .uneditable-input.span3 {
width: 156px;
}
input.span4, textarea.span4, .uneditable-input.span4 {
width: 218px;
}
input.span5, textarea.span5, .uneditable-input.span5 {
width: 280px;
}
input.span6, textarea.span6, .uneditable-input.span6 {
width: 342px;
}
input.span7, textarea.span7, .uneditable-input.span7 {
width: 404px;
}
input.span8, textarea.span8, .uneditable-input.span8 {
width: 466px;
}
input.span9, textarea.span9, .uneditable-input.span9 {
width: 528px;
}
input.span10, textarea.span10, .uneditable-input.span10 {
width: 590px;
}
input.span11, textarea.span11, .uneditable-input.span11 {
width: 652px;
}
input.span12, textarea.span12, .uneditable-input.span12 {
width: 714px;
}
}
@media (max-width: 980px) {
body {
padding-top: 0;
}
.navbar-fixed-top {
position: static;
margin-bottom: 18px;
}
.navbar-fixed-top .navbar-inner {
padding: 5px;
}
.navbar .container {
width: auto;
padding: 0;
}
.navbar .brand {
padding-left: 10px;
padding-right: 10px;
margin: 0 0 0 -5px;
}
.navbar .nav-collapse {
clear: left;
}
.navbar .nav {
float: none;
margin: 0 0 9px;
}
.navbar .nav > li {
float: none;
}
.navbar .nav > li > a {
margin-bottom: 2px;
}
.navbar .nav > .divider-vertical {
display: none;
}
.navbar .nav > li > a, .navbar .dropdown-menu a {
padding: 6px 15px;
font-weight: bold;
color: #999999;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
.navbar .dropdown-menu li + li a {
margin-bottom: 2px;
}
.navbar .nav > li > a:hover, .navbar .dropdown-menu a:hover {
background-color: #222222;
}
.navbar .dropdown-menu {
position: static;
top: auto;
left: auto;
float: none;
display: block;
max-width: none;
margin: 0 15px;
padding: 0;
background-color: transparent;
border: none;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.navbar .dropdown-menu:before, .navbar .dropdown-menu:after {
display: none;
}
.navbar .dropdown-menu .divider {
display: none;
}
.navbar-form, .navbar-search {
float: none;
padding: 9px 15px;
margin: 9px 0;
border-top: 1px solid #222222;
border-bottom: 1px solid #222222;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
}
.navbar .nav.pull-right {
float: none;
margin-left: 0;
}
.navbar-static .navbar-inner {
padding-left: 10px;
padding-right: 10px;
}
.btn-navbar {
display: block;
}
.nav-collapse {
overflow: hidden;
height: 0;
}
}
@media (min-width: 980px) {
.nav-collapse.collapse {
height: auto !important;
}
}
@media (min-width: 1200px) {
.row {
margin-left: -30px;
*zoom: 1;
}
.row:before, .row:after {
display: table;
content: "";
}
.row:after {
clear: both;
}
[class*="span"] {
float: left;
margin-left: 30px;
}
.span1 {
width: 70px;
}
.span2 {
width: 170px;
}
.span3 {
width: 270px;
}
.span4 {
width: 370px;
}
.span5 {
width: 470px;
}
.span6 {
width: 570px;
}
.span7 {
width: 670px;
}
.span8 {
width: 770px;
}
.span9 {
width: 870px;
}
.span10 {
width: 970px;
}
.span11 {
width: 1070px;
}
.span12, .container {
width: 1170px;
}
.offset1 {
margin-left: 130px;
}
.offset2 {
margin-left: 230px;
}
.offset3 {
margin-left: 330px;
}
.offset4 {
margin-left: 430px;
}
.offset5 {
margin-left: 530px;
}
.offset6 {
margin-left: 630px;
}
.offset7 {
margin-left: 730px;
}
.offset8 {
margin-left: 830px;
}
.offset9 {
margin-left: 930px;
}
.offset10 {
margin-left: 1030px;
}
.offset11 {
margin-left: 1130px;
}
.row-fluid {
width: 100%;
*zoom: 1;
}
.row-fluid:before, .row-fluid:after {
display: table;
content: "";
}
.row-fluid:after {
clear: both;
}
.row-fluid > [class*="span"] {
float: left;
margin-left: 2.564102564%;
}
.row-fluid > [class*="span"]:first-child {
margin-left: 0;
}
.row-fluid .span1 {
width: 5.982905983%;
}
.row-fluid .span2 {
width: 14.529914530000001%;
}
.row-fluid .span3 {
width: 23.076923077%;
}
.row-fluid .span4 {
width: 31.623931624%;
}
.row-fluid .span5 {
width: 40.170940171000005%;
}
.row-fluid .span6 {
width: 48.717948718%;
}
.row-fluid .span7 {
width: 57.264957265%;
}
.row-fluid .span8 {
width: 65.81196581200001%;
}
.row-fluid .span9 {
width: 74.358974359%;
}
.row-fluid .span10 {
width: 82.905982906%;
}
.row-fluid .span11 {
width: 91.45299145300001%;
}
.row-fluid .span12 {
width: 100%;
}
input.span1, textarea.span1, .uneditable-input.span1 {
width: 60px;
}
input.span2, textarea.span2, .uneditable-input.span2 {
width: 160px;
}
input.span3, textarea.span3, .uneditable-input.span3 {
width: 260px;
}
input.span4, textarea.span4, .uneditable-input.span4 {
width: 360px;
}
input.span5, textarea.span5, .uneditable-input.span5 {
width: 460px;
}
input.span6, textarea.span6, .uneditable-input.span6 {
width: 560px;
}
input.span7, textarea.span7, .uneditable-input.span7 {
width: 660px;
}
input.span8, textarea.span8, .uneditable-input.span8 {
width: 760px;
}
input.span9, textarea.span9, .uneditable-input.span9 {
width: 860px;
}
input.span10, textarea.span10, .uneditable-input.span10 {
width: 960px;
}
input.span11, textarea.span11, .uneditable-input.span11 {
width: 1060px;
}
input.span12, textarea.span12, .uneditable-input.span12 {
width: 1160px;
}
.thumbnails {
margin-left: -30px;
}
.thumbnails > li {
margin-left: 30px;
}
}

+ 3365
- 0
resources/bootstrap/css/bootstrap.css
File diff suppressed because it is too large
View File


BIN
resources/bootstrap/img/glyphicons-halflings-white.png View File


BIN
resources/bootstrap/img/glyphicons-halflings.png View File


+ 1
- 0
resources/bootstrap/js/bootstrap.js
File diff suppressed because it is too large
View File


+ 4
- 0
resources/bootstrap/js/jquery.js
File diff suppressed because it is too large
View File


+ 888
- 0
resources/gitblit.css View File

@@ -0,0 +1,888 @@
body {
/* 50px to start the container 10px below the navbar */
padding-top: 50px;
}
footer {
margin-top: 25px;
padding: 15px 0 16px;
border-top: 1px solid #E5E5E5;
}
body, input, select {
color: #202020;
}
ul, ol {
margin-bottom: 10px !important;
}
hr {
margin-top: 10px;
margin-bottom: 10px;
}
.settings h3 {
margin-bottom: 0.5em;
border-bottom: 1px solid #000080 !important;
}
.pageTitle {
padding-bottom: 5px;
margin: 0;
border-bottom: 1px solid #eee;
}
.pageTitle h1, .pageTitle h2 {
color: #0069D6;
}
.navbar {
height:40px !important;
}
.navbar ul.nav li a {
color: white;
text-shadow: none;
outline: 0;
}
.navbar ul.nav li a:hover {
color: #abd4ff !important;
}
.navbar-inner {
height:40px !important;
background-color:#000050;
background-repeat:repeat-x;
background-image:-khtml-gradient(linear, left top, left bottom, from(#000060), to(#000040));
background-image:-moz-linear-gradient(top, #000060, #000040);
background-image:-ms-linear-gradient(top, #000060, #000040);
background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #000060), color-stop(100%, #000040));
background-image:-webkit-linear-gradient(top, #000060, #000040);
background-image:-o-linear-gradient(top, #000060, #000040);
background-image:linear-gradient(top, #000060, #000040);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000060', endColorstr='#000040', GradientType=0);
-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);
box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);
border-bottom: 2px solid #ff9900 !important;
}
.navbar ul li:focus, .navbar .active {
background-repeat:no-repeat;
background-image: url(arrow_page.png);
background-position: center bottom;
outline: 0;
}
.navbar .active a {
background-color: transparent !important;
outline: 0;
}
.navbar div > ul .menu-dropdown .selected, .nav .menu-dropdown .selected, .navbar div > ul .dropdown-menu .selected, .nav .dropdown-menu .selected {
background-image: url("bullet_blue.png");
background-repeat: no-repeat;
background-position: left;
}
.navbar div>ul .dropdown-menu li a {
color: #555;
}
navbar div>ul .menu-dropdown li a:hover,.nav .menu-dropdown li a:hover,.navbar div>ul .dropdown-menu li a:hover,.nav .dropdown-menu li a:hover{
background-color: #000070;
color: #ffffff !important;
}
.breadcrumb {
margin-top: 5px !important;
margin-bottom: 5px !important;
}
.pageTitle {
margin-bottom: 5px;
}
.pageTitle h2 small {
font-size: 80%;
font-weight: bold;
}
div.page_footer {
clear: both;
height: 17px;
color: black;
background-color: #ffffff;
padding: 5px;
border-top: 1px solid #bbb;
font-style: italic;
}
pre, code, pre.prettyprint, pre.plainprint {
background-color: #ffffff;
color: black;
font-family: monospace;
font-size:12px;
border:0px;
padding: 0;
line-height: 1.35em;
}
table {
margin-bottom:5px !important;
font-size: inherit;
}
.table th {
vertical-align: top;
}
th {
vertical-align: middle;
text-align: left;
}
pre.prettyprint ol {
padding-left:25px;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
color: #888;
}
.age0, .age1, .age2 {
font-size: 12px;
}
/* age0: age < 60*60*2 */
.age0 {
color: #008000;
font-style: italic;
font-weight: bold;
}
/* age1: 60*60*2 <= age < 60*60*24*2 */
.age1 {
color: #008000;
font-style: italic;
}
/* age2: 60*60*24*2 <= age */
.age2 {
font-style: italic;
}
a.list {
text-decoration: none;
color: inherit;
}
a.list.subject {
font-weight: bold;
}
a.list.name {
font-weight: bold;
}
a.list:hover {
text-decoration: underline;
color: #880000;
}
span.empty {
font-size: 0.9em;
font-style: italic;
padding-left:10px;
color: #008000;
}
span.link {
color: #888;
}
span.link, span.link a {
font-family: sans-serif;
font-size: 11px;
}
span.link em, div.link span em {
font-style: normal;
font-family: sans-serif;
font-size: 11px;
}
span.repositorySwatch {
border-radius: 3px;
padding: 1px 4px 2px 4px;
color: #ffffff;
font-weight: bold;
vertical-align: center;
}
span.repositorySwatch a {
color: inherit;
}
img.inlineIcon {
padding-left: 1px;
padding-right: 1px;
}
img.overview {
float:right;
border:1px solid #CCCCCC;
}
img.gravatar {
background-color: #ffffff;
border: 1px solid #ddd;
border-radius: 5px;
padding: 2px;
}
div.header, div.commitHeader, table.repositories th {
background-color:#e0e0e0;
background-repeat:repeat-x;
background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#e0e0e0));
background-image:-moz-linear-gradient(top, #ffffff, #e0e0e0);
background-image:-ms-linear-gradient(top, #ffffff, #e0e0e0);
background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #e0e0e0));
background-image:-webkit-linear-gradient(top, #ffffff, #e0e0e0);
background-image:-o-linear-gradient(top, #ffffff, #e0e0e0);
background-image:linear-gradient(top, #ffffff, #e0e0e0);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e0e0e0', GradientType=0);
-webkit-box-shadow:inset 0 1px 0 #ffffff;
-moz-box-shadow:inset 0 1px 0 #ffffff;
box-shadow:inset 0 1px 0 #ffffff;
}
div.header {
padding: 3px;
border: 1px solid #ddd;
border-bottom: 0;
border-radius: 3px 3px 0 0;
}
div.commitHeader {
margin:0 0 2px;
padding:7px 14px;
border:1px solid #ddd;
border-radius: 3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;border-radius:3px;
}
div.header a, div.commitHeader a {
color: black;
text-decoration: none;
font-weight: bold;
}
div.header a:hover, div.commitHeader a:hover {
text-decoration: underline;
}
div.page_nav2 {
padding: 2px 5px 7px 5px;
}
div.admin_nav {
border-bottom: 0px;
text-align: right;
padding: 5px 5px 5px 2px;
}
div.admin_nav a {
text-decoration: none;
}
div.admin_nav a:hover {
text-decoration: underline;
}
span.search {
height: 40px;
padding-top:2px;
}
span.search input {
-webkit-border-radius:0;-moz-border-radius:0x;border-radius:0;
vertical-align: top;
background: url(search-icon.png) no-repeat 4px center;
background-color: transparent;
border: 1px solid transparent;
outline: none;
padding: 2px 2px 2px 22px;
text-shadow: none;
margin: 0px;
color: #ddd;
}
span.search input:hover, span.search input:focus {
background-color: transparent;
border: 1px solid transparent;
padding: 2px 2px 2px 22px;
box-shadow: none;
color: #ddd;
border-bottom: 1px solid #ff9900;
}
span.search input:focus {
color: white;
}
/* div.search input:focused { */
/* background-color: transparent; */
/* border: 1px solid transparent; */
/* padding: 2px 2px 2px 22px; */
/* text-shadow: none; */
/* } */
span.login input:focus {
background-color: rgba(255, 255, 255, 0.6);
text-shadow: none;
color: white;
}
pre.commit_message {
padding: 8px;
border: solid #ddd;
border-width: 1px 0px 0px;
}
div.bug_open, span.bug_open {
padding: 2px;
background-color: #803333;
color: white;
text-align: center;
}
div.bug_resolved, span.bug_resolved {
padding: 2px;
background-color: #408040;
color: white;
text-align: center;
}
div.bug_invalid, span.bug_invalid {
padding: 2px;
background-color: gray;
text-align: center;
}
div.bug_hold, span.bug_hold {
padding: 2px;
background-color: orange;
text-align: center;
}
div.diff {
font-family: monospace;
overflow: auto;
}
div.diff.header {
-moz-border-bottom-colors: none;
-moz-border-image: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background-color: #EDECE6;
border-color: #D9D8D1;
border-style: solid;
border-width: 1px;
font-weight: bold;
margin-top: 10px;
padding: 4px 0 2px;
}
div.diff.extended_header {
background-color: #F6F5EE;
padding: 2px 0;
font-family: inherit;
}
span.diff.add {
color: #008800;
font-family: inherit;
}
span.diff.remove {
color: #FFDDDD;
font-family: inherit;
}
span.diff.unchanged {
color: inherit;
font-family: inherit;
}
div.diff.hunk_header {
-moz-border-bottom-colors: none;
-moz-border-image: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
border-color: #FFE0FF;
border-style: dotted;
border-width: 1px 0 0;
margin-top: 2px;
font-family: inherit;
}
span.diff.hunk_info {
background-color: #FFEEFF;
color: #990099;
font-family: inherit;
}
span.diff.hunk_section {
color: #AA22AA;
font-family: inherit;
}
div.diff.add2 {
background-color: #DDFFDD;
font-family: inherit;
}
div.diff.remove2 {
background-color: #FFDDDD;
font-family: inherit;
}
div.diff table {
border-radius: 0;
border-right: 1px solid #bbb;
border-bottom: 1px solid #bbb;
width: 100%;
}
div.diff table th, div.diff table td {
margin: 0px;
padding: 0px;
font-family: monospace;
border: 0;
}
div.diff table th {
background-color: #f0f0f0;
text-align: center;
color: #999;
padding-left: 5px;
padding-right: 5px;
width: 30px;
}
div.diff table th.header {
background-color: #D2C3AF;
border-right: 0px;
border-bottom: 1px solid #808080;
font-family: inherit;
font-size:0.9em;
color: black;
padding: 2px;
text-align: left;
}
div.diff table td.hunk_header {
background-color: #dAe2e5 !important;
border-top: 1px solid #bac2c5;
border-bottom: 1px solid #bac2c5;
color: #555;
}
div.diff table td {
border-left: 1px solid #bbb;
background-color: #f5f5f5;
}
td.changeType {
width: 15px;
}
span.addition, span.modification, span.deletion, span.rename {
border: 1px solid #888;
float: left;
height: 0.8em;
margin: 0.2em 0.5em 0 0;
overflow: hidden;
width: 0.8em;
}
span.addition {
background-color: #ccffcc;
}
span.modification {
background-color: #ffdd88;
}
span.deletion {
background-color: #f8bbbb;
}
span.rename {
background-color: #cAc2f5;
}
div.commitLegend {
float: right;
padding: 0.4em 0.4em 0.2em 0.4em;
vertical-align:top;
margin: 0px;
}
div.commitLegend span {
font-size: 0.9em;
vertical-align: top;
}
div.references {
float: right;
text-align: right;
}
table.plain {
width: 0 !important;
border: 0;
}
table.plain th, table.plain td {
white-space: nowrap;
padding: 1px 6px;
border: 0;
}
table.pretty {
border:1px solid #ddd;
border-radius: 0 0 3px 3px;
width: 100%;
}
table.pretty td.icon {
padding: 0px 0px 0px 2px;
width: 18px;
vertical-align: middle;
}
table.pretty td.icon img {
vertical-align: top;
}
table.pretty td {
padding: 2px 4px;
border-left: 0;
}
table.comments td {
padding: 4px;
line-height: 17px;
}
table.repositories {
border:1px solid #ddd;
border-spacing: 0px;
width: 100%;
}
table.repositories th {
padding: 4px;
border:0;
}
table.repositories td {
padding: 2px;
border-left: 0;
}
table.repositories td.rightAlign {
text-align: right;
}
table.repositories td.icon img {
vertical-align: top;
}
table.repositories tr.group {
background-color: #ccc;
}
table.repositories tr.group td {
font-weight: bold;
color: black;
background-color: #ddd;
padding-left: 5px;
border-top: 1px solid #aaa;
border-bottom: 1px solid #aaa;
}
table.palette { border:0; width: 0 !important; }
table.palette td.header {
font-weight: bold;
background-color: #ffffff !important;
padding-top: 0px !important;
margin-bottom: 0 !imporant;
border: 0 !important;
border-radius: 0 !important;
line-height: 1em;
}
table.palette td.pane {
padding: 0px;
}
table.gitnotes {
border: 0;
}
table.gitnotes td {
border-top: 1px solid #ddd;
padding-top: 3px;
vertical-align:top;
}
table.gitnotes table {
border: none;
}
table.gitnotes td table td {
border: none;
padding: 0px;
}
table.gitnotes td.info {
padding-right: 10px;
}
table.gitnotes td.message {
width: 65%;
border-left: 1px solid #ddd;
padding-left: 10px;
}
table.annotated {
border:1px solid #ddd;
}
table.annotated tr.even {
background-color: white;
}
table.annotated tr.odd {
background-color: #f5f5f5;
}
table.annotated td {
padding: 0px;
border: 0;
}
table.activity {
width: 100%;
}
tr th a { background-position: right; padding-right: 15px; background-repeat:no-repeat; }
tr th.wicket_orderDown a {background-image: url(arrow_down.png); }
tr th.wicket_orderUp a { background-image: url(arrow_up.png); }
tr th.wicket_orderNone a { background-image: url(arrow_off.png); }
tr.light {
background-color: #ffffff;
}
tr.dark {
background-color: #f5f5f5;
}
/* currently both use the same, but it can change */
tr.light:hover,
tr.dark:hover {
background-color: #000070;
color: white;
}
tr.light:hover a,
tr.dark:hover a {
color: white;
}
td.author {
font-style: italic !important;
}
td.date {
font-style: italic !important;
}
span.sha1, span.sha1 a, span.sha1 a span, pre.commit_message {
font-family: monospace;
font-size: 13px;
}
td.mode {
text-align: right;
font-family: monospace;
width: 8em;
padding-right:15px;
}
td.size {
text-align: right;
width: 8em;
padding-right:15px;
}
td.rightAlign {
text-align: right;
}
td.treeLinks {
text-align: right;
width: 13em;
}
span.help-inline {
color: #777;
}
span.metricsTitle {
font-size: 2em;
}
span .tagRef, span .headRef, span .localBranch, span .remoteBranch, span .otherRef {
padding: 0px 3px;
margin-right:2px;
font-family: sans-serif;
font-size: 9px;
font-weight: normal;
border: 1px solid;
color: black;
}
span .tagRef a span, span .headRef a span, span .localBranch a span, span .remoteBranch a span, span .otherRef a span {
font-size: 9px;
}
span .tagRef a, span .headRef a, span .localBranch a, span .remoteBranch a, span .otherRef a {
text-decoration: none;
color: black !important;
}
span .tagRef a:hover, span .headRef a:hover, span .localBranch a:hover, span .remoteBranch a:hover, span .otherRef a:hover {
color: black !important;
text-decoration: underline;
}
span .otherRef {
background-color: #b0e0f0;
border-color: #80aaaa;
}
span .remoteBranch {
background-color: #cAc2f5;
border-color: #6c6cbf;
}
span .tagRef {
background-color: #ffffaa;
border-color: #ffcc00;
}
span .headRef {
background-color: #ffaaff;
border-color: #ff00ee;
}
span .localBranch {
background-color: #ccffcc;
border-color: #00cc33;
}
table .palette td.buttons button {
-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;
border: 1px solid #ccc !important;
padding: 10px;
margin-bottom: 10px;
}
table .palette td.buttons button:hover {
border: 1px solid #0069D6 !important;
}
table .palette td.buttons button:active {
border: 1px solid orange !important;
}
.feedbackPanelERROR, .feedbackPanelINFO {
list-style: none;
line-height: 35px;
}
.feedbackPanelINFO span, .feedbackPanelERROR span {
position:relative;padding:7px 15px;margin-top:5px;margin-bottom:5px;color:#404040;background-color:#eedc94;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.feedbackPanelERROR span {
color: #ffffff;
background-color:#c43c35;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}
/* google-code-prettify line numbers */
li.L0,
li.L1,
li.L2,
li.L3,
li.L4,
li.L5,
li.L6,
li.L7,
li.L8,
li.L9 { color: #888; border-left: 1px solid #ccc; padding-left:5px; list-style-type: decimal !important; }
/* Alternate shading for lines */
li.L1,
li.L3,
li.L5,
li.L7,
li.L9 { background: #fafafa !important; }
div.markdown pre {
background-color: #F5F5F5;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px 4px 4px 4px;
display: block;
font-size: 12px;
line-height: 18px;
margin: 0 0 9px;
padding: 8.5px;
white-space: pre-wrap;
}
div.markdown pre code {
background-color: inherit;
border: none;
padding: 0;
}
div.markdown code {
background-color: #ffffe0;
border: 1px solid orange;
border-radius: 3px;
padding: 0 0.2em;
}
div.markdown a {
text-decoration: underline;
}
div.markdown em {
color: #b05000;
}
div.markdown table.text th, div.markdown table.text td {
vertical-align: top;
border-top: 1px solid #ccc;
padding:5px;
}

+ 0
- 76
resources/markdown.css View File

@@ -1,76 +0,0 @@
/*
* Git:Blit Markdown CSS definition.
*/
div.markdown {
line-height: 1.4em;
color: black;
}
div.markdown li {
color: black;
}
div.markdown h1,
div.markdown h2,
div.markdown h3,
div.markdown h4,
div.markdown h5,
div.markdown h6 {
border: 0 none !important;
}
div.markdown h1 {
margin-top: 0.5em;
margin-bottom: 0.5em;
border-bottom: 2px solid #000080 !important;
}
div.markdown h2 {
margin-top: 1em;
margin-bottom: 0.5em;
border-bottom: 2px solid #000080 !important;
}
div.markdown pre {
background-color: #f8f8f8;
border: 1px solid #2f6fab;
border-radius: 3px;
overflow: auto;
padding: 5px;
}
div.markdown pre code {
background-color: inherit;
border: none;
padding: 0;
}
div.markdown code {
background-color: #ffffe0;
border: 1px solid orange;
border-radius: 3px;
padding: 0 0.2em;
}
div.markdown a {
text-decoration: underline;
}
div.markdown ul, div.markdown ol {
padding-left: 30px;
}
div.markdown li {
margin: 0.2em 0 0 0em; padding: 0px;
}
div.markdown em {
color: #b05000;
}
div.markdown table.text th, div.markdown table.text td {
vertical-align: top;
border-top: 1px solid #ccc;
padding:5px;
}

+ 1
- 1
src/com/gitblit/wicket/GitBlitWebApp.properties View File

@@ -211,5 +211,5 @@ gb.federationRepositoryDescription = share this repository with other Gitblit se
gb.hookScriptsDescription = run Groovy scripts on pushes to this Gitblit server
gb.reset = reset
gb.pages = pages
gb.workingCopy = WORKING COPY
gb.workingCopy = working copy
gb.workingCopyWarning = this repository has a working copy and can not receive pushes

+ 3
- 3
src/com/gitblit/wicket/WicketUtils.java View File

@@ -95,11 +95,11 @@ public class WicketUtils {
public static void setTicketCssClass(Component container, String state) {
String css = null;
if (state.equals("open")) {
css = "label important";
css = "label label-important";
} else if (state.equals("hold")) {
css = "label warning";
css = "label label-warning";
} else if (state.equals("resolved")) {
css = "label success";
css = "label label-success";
} else if (state.equals("invalid")) {
css = "label";
}

+ 1
- 1
src/com/gitblit/wicket/pages/ActivityPage.html View File

@@ -5,7 +5,7 @@
lang="en">
<body>
<wicket:extend>
<div class="page-header">
<div class="pageTitle">
<h2><wicket:message key="gb.recentActivity"></wicket:message><small> / <span wicket:id="subheader">[days back]</span></small></h2>
</div>
<div style="height: 155px;text-align: center;">

+ 0
- 19
src/com/gitblit/wicket/pages/ActivityPage.java View File

@@ -24,7 +24,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.wicket.Application;
import org.apache.wicket.PageParameters;
import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
@@ -203,22 +202,4 @@ public class ActivityPage extends RootPage {
return charts;
}
@Override
protected void onBeforeRender() {
if (GitBlit.isDebugMode()) {
// strip Wicket tags in debug mode for jQuery DOM traversal
Application.get().getMarkupSettings().setStripWicketTags(true);
}
super.onBeforeRender();
}
@Override
protected void onAfterRender() {
if (GitBlit.isDebugMode()) {
// restore Wicket debug tags
Application.get().getMarkupSettings().setStripWicketTags(false);
}
super.onAfterRender();
}
}

+ 19
- 14
src/com/gitblit/wicket/pages/BasePage.html View File

@@ -6,30 +6,35 @@
<!-- Head -->
<wicket:head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title wicket:id="title">[page title]</title>
<link rel="stylesheet" href="bootstrap.140.css"/>
<link rel="stylesheet" type="text/css" href="bootstrap.gb.css"/>
<link rel="stylesheet" href="bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" type="text/css" href="gitblit.css"/>
<!-- Responsive CSS must be included after the above body css! -->
<!-- <link rel="stylesheet" href="bootstrap/css/bootstrap-responsive.css"/> -->
<link rel="icon" href="gitblt-favicon.png" type="image/png" />
<script type="text/javascript" src="bootstrap/js/jquery.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
</wicket:head>
<body style="padding-top: 40px;">
<div class="container">
<div class="content">
<body>
<!-- page content -->
<wicket:child />
<!-- page footer -->
<div class="page_footer">
<div style="float:right">
<a title="gitblit homepage" href="http://gitblit.com/">
<span wicket:id="gbVersion"></span>
</a>
</div>
<div wicket:id="userPanel">[user panel]</div>
</div>
</div>
<div class="container">
<footer class="footer">
<p class="pull-right">
<a title="gitblit homepage" href="http://gitblit.com/">
<span wicket:id="gbVersion"></span>
</a>
</p>
<div wicket:id="userPanel">[user panel]</div>
</footer>
</div>
</body>
<!-- user fragment -->

+ 19
- 0
src/com/gitblit/wicket/pages/BasePage.java View File

@@ -22,6 +22,7 @@ import java.util.TimeZone;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import org.apache.wicket.Application;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.PageParameters;
import org.apache.wicket.RestartResponseAtInterceptPageException;
@@ -64,6 +65,24 @@ public abstract class BasePage extends WebPage {
logger = LoggerFactory.getLogger(getClass());
loginByCookie();
}
@Override
protected void onBeforeRender() {
if (GitBlit.isDebugMode()) {
// strip Wicket tags in debug mode for jQuery DOM traversal
Application.get().getMarkupSettings().setStripWicketTags(true);
}
super.onBeforeRender();
}
@Override
protected void onAfterRender() {
if (GitBlit.isDebugMode()) {
// restore Wicket debug tags
Application.get().getMarkupSettings().setStripWicketTags(false);
}
super.onAfterRender();
}
private void loginByCookie() {
if (!GitBlit.getBoolean(Keys.web.allowCookieAuthentication, false)) {

+ 4
- 2
src/com/gitblit/wicket/pages/ChangePasswordPage.html View File

@@ -19,8 +19,10 @@
<td class="edit"><input type="password" wicket:id="confirmPassword" size="30" tabindex="2" /></td>
</tr>
</table>
<input class="btn primary" type="submit" wicket:message="value:gb.save" wicket:id="save" tabindex="3" />
<input class="btn" type="submit" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="4" />
<div class="form-actions">
<input class="btn btn-primary" type="submit" wicket:message="value:gb.save" wicket:id="save" tabindex="3" />
<input class="btn" type="submit" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="4" />
</div>
</center>
</form>
</div>

+ 3
- 2
src/com/gitblit/wicket/pages/CommitDiffPage.html View File

@@ -16,12 +16,13 @@
<div wicket:id="commitHeader">[commit header]</div>
<!-- changed paths -->
<div style="padding-top:15px">
<div style="padding-top:15px;">
<!-- commit legend -->
<div style="text-align:right;" wicket:id="commitLegend"></div>
<div class="header"><wicket:message key="gb.changedFiles">[changed files]</wicket:message></div>
</div>
<table class="pretty">
<tr wicket:id="changedPath">
<td class="changeType"><span wicket:id="changeType">[change type]</span></td>
@@ -35,7 +36,7 @@
</table>
<!-- diff content -->
<pre wicket:id="diffText">[diff text]</pre>
<pre style="padding-top:10px;" wicket:id="diffText">[diff text]</pre>
</wicket:extend>
</body>

+ 14
- 14
src/com/gitblit/wicket/pages/EditRepositoryPage.html View File

@@ -11,30 +11,30 @@
<table class="plain">
<tbody class="settings">
<tr><td colspan="2"><h3><wicket:message key="gb.general"></wicket:message> &nbsp;<small><wicket:message key="gb.generalDescription"></wicket:message></small></h3></td></tr>
<tr><th><wicket:message key="gb.name"></wicket:message></th><td class="edit"><input class="span6" type="text" wicket:id="name" id="name" size="40" tabindex="1" /> &nbsp;<span class="help-inline"><wicket:message key="gb.nameDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.description"></wicket:message></th><td class="edit"><input class="span6" type="text" wicket:id="description" size="40" tabindex="2" /></td></tr>
<tr><th><wicket:message key="gb.origin"></wicket:message></th><td class="edit"><input class="span7" type="text" wicket:id="origin" size="80" tabindex="3" /></td></tr>
<tr><th><wicket:message key="gb.name"></wicket:message></th><td class="edit"><input class="span4" type="text" wicket:id="name" id="name" size="40" tabindex="1" /> &nbsp;<span class="help-inline"><wicket:message key="gb.nameDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.description"></wicket:message></th><td class="edit"><input class="span4" type="text" wicket:id="description" size="40" tabindex="2" /></td></tr>
<tr><th><wicket:message key="gb.origin"></wicket:message></th><td class="edit"><input class="span5" type="text" wicket:id="origin" size="80" tabindex="3" /></td></tr>
<tr><th><wicket:message key="gb.head"></wicket:message></th><td class="edit"><select wicket:id="HEAD" tabindex="4" /> &nbsp;<span class="help-inline"><wicket:message key="gb.headRefDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.owner"></wicket:message></th><td class="edit"><select wicket:id="owner" tabindex="5" /> &nbsp;<span class="help-inline"><wicket:message key="gb.ownerDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.enableTickets"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="useTickets" tabindex="6" /> &nbsp;<span class="help-inline"><wicket:message key="gb.useTicketsDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.enableDocs"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="useDocs" tabindex="7" /> &nbsp;<span class="help-inline"><wicket:message key="gb.useDocsDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.showRemoteBranches"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showRemoteBranches" tabindex="8" /> &nbsp;<span class="help-inline"><wicket:message key="gb.showRemoteBranchesDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.showReadme"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showReadme" tabindex="9" /> &nbsp;<span class="help-inline"><wicket:message key="gb.showReadmeDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.skipSizeCalculation"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="skipSizeCalculation" tabindex="10" /> &nbsp;<span class="help-inline"><wicket:message key="gb.skipSizeCalculationDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.skipSummaryMetrics"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="skipSummaryMetrics" tabindex="11" /> &nbsp;<span class="help-inline"><wicket:message key="gb.skipSummaryMetricsDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="12" /> &nbsp;<span class="help-inline"><wicket:message key="gb.isFrozenDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.mailingLists"></wicket:message></th><td class="edit"><input class="span14" type="text" wicket:id="mailingLists" size="40" tabindex="13" /></td></tr>
<tr><th><wicket:message key="gb.enableTickets"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="useTickets" tabindex="6" /> &nbsp;<span class="help-inline"><wicket:message key="gb.useTicketsDescription"></wicket:message></span></label></td></tr>
<tr><th><wicket:message key="gb.enableDocs"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="useDocs" tabindex="7" /> &nbsp;<span class="help-inline"><wicket:message key="gb.useDocsDescription"></wicket:message></span></label></td></tr>
<tr><th><wicket:message key="gb.showRemoteBranches"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="showRemoteBranches" tabindex="8" /> &nbsp;<span class="help-inline"><wicket:message key="gb.showRemoteBranchesDescription"></wicket:message></span></label></td></tr>
<tr><th><wicket:message key="gb.showReadme"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="showReadme" tabindex="9" /> &nbsp;<span class="help-inline"><wicket:message key="gb.showReadmeDescription"></wicket:message></span></label></td></tr>
<tr><th><wicket:message key="gb.skipSizeCalculation"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="skipSizeCalculation" tabindex="10" /> &nbsp;<span class="help-inline"><wicket:message key="gb.skipSizeCalculationDescription"></wicket:message></span></label></td></tr>
<tr><th><wicket:message key="gb.skipSummaryMetrics"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="skipSummaryMetrics" tabindex="11" /> &nbsp;<span class="help-inline"><wicket:message key="gb.skipSummaryMetricsDescription"></wicket:message></span></label></td></tr>
<tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="isFrozen" tabindex="12" /> &nbsp;<span class="help-inline"><wicket:message key="gb.isFrozenDescription"></wicket:message></span></label></td></tr>
<tr><th><wicket:message key="gb.mailingLists"></wicket:message></th><td class="edit"><input class="span8" type="text" wicket:id="mailingLists" size="40" tabindex="13" /></td></tr>
<tr><td colspan="2" style="padding-top:15px"><h3><wicket:message key="gb.accessPermissions"></wicket:message> &nbsp;<small><wicket:message key="gb.accessPermissionsDescription"></wicket:message></small></h3></td></tr>
<tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select class="span6" wicket:id="accessRestriction" tabindex="14" /></td></tr>
<tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select class="span4" wicket:id="accessRestriction" tabindex="14" /></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.permittedUsers"></wicket:message></th><td style="padding:2px;"><span wicket:id="users"></span></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.permittedTeams"></wicket:message></th><td style="padding:2px;"><span wicket:id="teams"></span></td></tr>
<tr><td colspan="2"><h3><wicket:message key="gb.federation"></wicket:message> &nbsp;<small><wicket:message key="gb.federationRepositoryDescription"></wicket:message></small></h3></td></tr>
<tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select class="span6" wicket:id="federationStrategy" tabindex="15" /></td></tr>
<tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select class="span4" wicket:id="federationStrategy" tabindex="15" /></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.federationSets"></wicket:message></th><td style="padding:2px;"><span wicket:id="federationSets"></span></td></tr>
<tr><td colspan="2"><h3><wicket:message key="gb.hookScripts"></wicket:message> &nbsp;<small><wicket:message key="gb.hookScriptsDescription"></wicket:message></small></h3></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.preReceiveScripts"></wicket:message><p></p><span wicket:id="inheritedPreReceive"></span></th><td style="padding:2px;"><span wicket:id="preReceiveScripts"></span></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.postReceiveScripts"></wicket:message><p></p><span wicket:id="inheritedPostReceive"></span></th><td style="padding:2px;"><span wicket:id="postReceiveScripts"></span></td></tr>
<tr><td colspan='2'><div class="actions" "><input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="16" /> &nbsp; <input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="17" /></div></td></tr>
<tr><td colspan='2'><div class="form-actions" "><input class="btn btn-primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="16" /> &nbsp; <input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="17" /></div></td></tr>
</tbody>
</table>
</form>

+ 2
- 2
src/com/gitblit/wicket/pages/EditTeamPage.html View File

@@ -12,7 +12,7 @@
<tbody class="settings">
<tr><td colspan="2"><h3><wicket:message key="gb.general"></wicket:message> &nbsp;<small><wicket:message key="gb.generalDescription"></wicket:message></small></h3></td></tr>
<tr><th><wicket:message key="gb.teamName"></wicket:message></th><td class="edit"><input type="text" wicket:id="name" id="name" size="30" tabindex="1" /></td></tr>
<tr><th><wicket:message key="gb.mailingLists"></wicket:message></th><td class="edit"><input class="span14" type="text" wicket:id="mailingLists" size="40" tabindex="2" /></td></tr>
<tr><th><wicket:message key="gb.mailingLists"></wicket:message></th><td class="edit"><input class="span8" type="text" wicket:id="mailingLists" size="40" tabindex="2" /></td></tr>
<tr><td colspan="2" style="padding-top:15px;"><h3><wicket:message key="gb.accessPermissions"></wicket:message> &nbsp;<small><wicket:message key="gb.accessPermissionsForTeamDescription"></wicket:message></small></h3></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.teamMembers"></wicket:message></th><td style="padding:2px;"><span wicket:id="users"></span></td></tr>
<tr><td colspan="2"><hr></hr></td></tr>
@@ -20,7 +20,7 @@
<tr><td colspan="2" style="padding-top:10px;"><h3><wicket:message key="gb.hookScripts"></wicket:message> &nbsp;<small><wicket:message key="gb.hookScriptsDescription"></wicket:message></small></h3></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.preReceiveScripts"></wicket:message><p></p><span wicket:id="inheritedPreReceive"></span></th><td style="padding:2px;"><span wicket:id="preReceiveScripts"></span></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.postReceiveScripts"></wicket:message><p></p><span wicket:id="inheritedPostReceive"></span></th><td style="padding:2px;"><span wicket:id="postReceiveScripts"></span></td></tr>
<tr><td colspan='2'><div class="actions"><input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="3" /> &nbsp; <input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="4" /></div></td></tr>
<tr><td colspan='2'><div class="form-actions"><input class="btn btn-primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="3" /> &nbsp; <input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="4" /></div></td></tr>
</tbody>
</table>
</form>

+ 3
- 3
src/com/gitblit/wicket/pages/EditUserPage.html View File

@@ -14,13 +14,13 @@
<tr><th><wicket:message key="gb.username"></wicket:message></th><td class="edit"><input type="text" wicket:id="username" id="username" size="30" tabindex="1" /></td></tr>
<tr><th><wicket:message key="gb.password"></wicket:message></th><td class="edit"><input type="password" wicket:id="password" size="30" tabindex="2" /></td></tr>
<tr><th><wicket:message key="gb.confirmPassword"></wicket:message></th><td class="edit"><input type="password" wicket:id="confirmPassword" size="30" tabindex="3" /></td></tr>
<tr><th><wicket:message key="gb.canAdmin"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="canAdmin" tabindex="6" /> &nbsp;<span class="help-inline"><wicket:message key="gb.canAdminDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.excludeFromFederation"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="excludeFromFederation" tabindex="7" /> &nbsp;<span class="help-inline"><wicket:message key="gb.excludeFromFederationDescription"></wicket:message></span></td></tr>
<tr><th><wicket:message key="gb.canAdmin"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="canAdmin" tabindex="6" /> &nbsp;<span class="help-inline"><wicket:message key="gb.canAdminDescription"></wicket:message></span></label></td></tr>
<tr><th><wicket:message key="gb.excludeFromFederation"></wicket:message></th><td class="edit"><label class="checkbox"><input type="checkbox" wicket:id="excludeFromFederation" tabindex="7" /> &nbsp;<span class="help-inline"><wicket:message key="gb.excludeFromFederationDescription"></wicket:message></span></label></td></tr>
<tr><td colspan="2" style="padding-top:15px;"><h3><wicket:message key="gb.accessPermissions"></wicket:message> &nbsp;<small><wicket:message key="gb.accessPermissionsForUserDescription"></wicket:message></small></h3></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.teamMemberships"></wicket:message></th><td style="padding:2px;"><span wicket:id="teams"></span></td></tr>
<tr><td colspan="2"><hr></hr></td></tr>
<tr><th style="vertical-align: top;"><wicket:message key="gb.restrictedRepositories"></wicket:message></th><td style="padding:2px;"><span wicket:id="repositories"></span></td></tr>
<tr><td colspan='2'><div class="actions"><input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="8" /> &nbsp; <input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="9" /></div></td></tr>
<tr><td colspan='2'><div class="form-actions"><input class="btn btn-primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="8" /> &nbsp; <input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="9" /></div></td></tr>
</tbody>
</table>
</form>

+ 1
- 1
src/com/gitblit/wicket/pages/EmptyRepositoryPage.html View File

@@ -12,7 +12,7 @@
<wicket:extend>
<!-- markdown message -->
<div class="markdown" style="margin-top:-15px;padding-bottom:10px;">
<div class="markdown">
<h2>Empty Repository</h2>
<p></p>
<span wicket:id="repository" style="font-weight: bold;">[repository]</span> is an empty repository and can not be viewed by Gitblit.

+ 1
- 1
src/com/gitblit/wicket/pages/GravatarProfilePage.html View File

@@ -5,7 +5,7 @@
lang="en">
<body>
<wicket:extend>
<div class="page-header">
<div class="pageTitle">
<h2>Gravatar<small> / <span wicket:id="username">[username]</span></small></h2>
</div>
<img class="gravatar" wicket:id="profileImage"></img>

+ 0
- 5
src/com/gitblit/wicket/pages/MarkdownPage.html View File

@@ -3,11 +3,6 @@
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<!-- contribute markdown css to the page header -->
<wicket:head>
<link href="markdown.css" type="text/css" rel="stylesheet" />
</wicket:head>
<body>
<wicket:extend>

+ 1
- 1
src/com/gitblit/wicket/pages/MetricsPage.html View File

@@ -10,7 +10,7 @@
<!-- branch name -->
<div><span class="metricsTitle" wicket:id="branchTitle"></span></div>
<table>
<table style="width:100%;">
<tr>
<!-- branch stats -->
<td colspan=2>

+ 1
- 4
src/com/gitblit/wicket/pages/RepositoriesPage.html View File

@@ -3,13 +3,10 @@
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<wicket:head>
<link href="markdown.css" type="text/css" rel="stylesheet" />
</wicket:head>
<body>
<wicket:extend>
<div class="markdown" style="margin-top:-1em;padding-bottom:5px;" wicket:id="repositoriesMessage">[repositories message]</div>
<div class="markdown" style="padding-bottom:5px;" wicket:id="repositoriesMessage">[repositories message]</div>
<div wicket:id="repositoriesPanel">[repositories panel]</div>
</wicket:extend>

+ 0
- 19
src/com/gitblit/wicket/pages/RepositoriesPage.java View File

@@ -22,7 +22,6 @@ import java.io.InputStreamReader;
import java.text.MessageFormat;
import java.util.List;
import org.apache.wicket.Application;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
@@ -148,22 +147,4 @@ public class RepositoriesPage extends RootPage {
}
return message;
}
@Override
protected void onBeforeRender() {
if (GitBlit.isDebugMode()) {
// strip Wicket tags in debug mode for jQuery DOM traversal
Application.get().getMarkupSettings().setStripWicketTags(true);
}
super.onBeforeRender();
}
@Override
protected void onAfterRender() {
if (GitBlit.isDebugMode()) {
// restore Wicket debug tags
Application.get().getMarkupSettings().setStripWicketTags(false);
}
super.onAfterRender();
}
}

+ 40
- 31
src/com/gitblit/wicket/pages/RepositoryPage.html View File

@@ -6,46 +6,55 @@
<body>
<wicket:extend>
<!-- page header bar -->
<div>
<!-- page nav links -->
<div class="topbar">
<div class="fill">
<div class="container">
<a class="brand" wicket:id="rootLink">
<img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/>
</a>
<!-- page nav links -->
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" wicket:id="rootLink">
<img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/>
</a>
<span wicket:id="navPanel"></span>
<div class="nav-collapse" wicket:id="navPanel"></div>
<a class="brand" style="text-decoration: none;" wicket:id="syndication">
<img style="border:0px;vertical-align:middle;" src="feed_16x16.png"></img>
</a>
<a class="brand" style="text-decoration: none;" wicket:id="syndication">
<img style="border:0px;vertical-align:middle;" src="feed_16x16.png"></img>
</a>
<form class="pull-right" wicket:id="searchForm">
<div class="search">
<select class="small" wicket:id="searchType"/>
<input type="text" id="searchBox" wicket:id="searchBox" value=""/>
</div>
</form>
<form class="pull-right" style="margin-top:7px;" wicket:id="searchForm">
<span class="search">
<select class="small" wicket:id="searchType"/>
<input type="text" id="searchBox" wicket:id="searchBox" value=""/>
</span>
</form>
</div>
</div>
</div>
</div>
<div style="text-align:center;padding-top:5px;" wicket:id="feedback">[Feedback Panel]</div>
<!-- page header -->
<div class="page-header">
<div style="float:right;padding-top:5px;">
<span class="label important" wicket:id="workingCopy">[working copy]</span>
<!-- page content -->
<div class="container">
<div style="text-align:center;padding-top:5px;" wicket:id="feedback">[Feedback Panel]</div>
<!-- page header -->
<div class="pageTitle">
<span wicket:id="workingCopy"></span>
<h2><span wicket:id="repositoryName">[repository name]</span> <small><span wicket:id="pageName">[page name]</span></small></h2>
</div>
<h2><span wicket:id="repositoryName">[repository name]</span> <small><span wicket:id="pageName">[page name]</span></small></h2>
<wicket:child />
</div>
<!-- page content -->
<wicket:child />
<wicket:fragment wicket:id="workingCopyFragment">
<p class="pull-right" style="padding-top:5px;">
<span class="alert alert-info" style="padding: 8px 14px 8px 14px;vertical-align: middle;"><i class="icon-exclamation-sign" style="vertical-align: middle;"></i> <span wicket:id="workingCopy" style="font-weight:bold;">[working copy]</span></span>
</p>
</wicket:fragment>
</wicket:extend>
</body>
</html>

+ 3
- 1
src/com/gitblit/wicket/pages/RepositoryPage.java View File

@@ -156,9 +156,11 @@ public abstract class RepositoryPage extends BasePage {
if (getRepositoryModel().isBare) {
add(new Label("workingCopy").setVisible(false));
} else {
Fragment fragment = new Fragment("workingCopy", "workingCopyFragment", this);
Label lbl = new Label("workingCopy", getString("gb.workingCopy"));
WicketUtils.setHtmlTooltip(lbl, getString("gb.workingCopyWarning"));
add(lbl);
fragment.add(lbl);
add(fragment);
}
super.setupPage(repositoryName, pageName);

+ 15
- 8
src/com/gitblit/wicket/pages/RootPage.html View File

@@ -5,21 +5,26 @@
lang="en">
<body>
<wicket:extend>
<div class="topbar">
<div class="fill">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" wicket:id="rootLink">
<img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/>
</a>
<span wicket:id="navPanel"></span>
<div class="nav-collapse" wicket:id="navPanel"></div>
<form class="pull-right" wicket:id="loginForm">
<div class="login">
<form class="pull-right" style="margin-top:5px;" wicket:id="loginForm">
<span class="form-search">
<input wicket:id="username" class="input-small" type="text" />
<input wicket:id="password" class="input-small" type="password" />
<button class="btn primary" type="submit"><wicket:message key="gb.login"></wicket:message></button>
</div>
<button class="btn btn-primary" style="margin-top:0px; "type="submit"><wicket:message key="gb.login"></wicket:message></button>
</span>
</form>
</div>
</div>
@@ -28,7 +33,9 @@
<div style="text-align:center;padding-top:5px;" wicket:id="feedback">[Feedback Panel]</div>
<!-- subclass content -->
<wicket:child/>
<div class="container">
<wicket:child/>
</div>
</wicket:extend>
</body>
</html>

+ 1
- 1
src/com/gitblit/wicket/pages/RootSubPage.html View File

@@ -7,7 +7,7 @@
<body>
<wicket:extend>
<!-- page header -->
<div class="page-header">
<div class="pageTitle">
<h2><span wicket:id="pageName">[page name]</span> <small><span wicket:id="pageSubName">[sub name]</span></small></h2>
</div>

+ 1
- 1
src/com/gitblit/wicket/pages/SendProposalPage.html View File

@@ -14,7 +14,7 @@
<tr><th valign="top"><wicket:message key="gb.message">message</wicket:message></th><td class="edit"><input class="span8" type="text" wicket:id="message" size="80" /></td></tr>
<tr><th><wicket:message key="gb.type">type</wicket:message></th><td><span wicket:id="tokenType">[token type]</span></td></tr>
<tr><th><wicket:message key="gb.token">token</wicket:message></th><td><span class="sha1" wicket:id="token">[token]</span></td></tr>
<tr><th></th><td class="editButton"><input class="btn primary" type="submit" value="propose" wicket:message="value:gb.sendProposal" wicket:id="save" /> &nbsp; <input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" /></td></tr>
<tr><th></th><td class="editButton"><input class="btn btn-primary" type="submit" value="propose" wicket:message="value:gb.sendProposal" wicket:id="save" /> &nbsp; <input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" /></td></tr>
</table>
</form>

+ 11
- 6
src/com/gitblit/wicket/pages/SummaryPage.html View File

@@ -3,11 +3,6 @@
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<wicket:head>
<link href="markdown.css" type="text/css" rel="stylesheet" />
</wicket:head>
<body>
<wicket:extend>
@@ -39,7 +34,17 @@
<div style="padding-bottom:10px;" wicket:id="branchesPanel">[branches panel]</div>
<!-- markdown readme -->
<div wicket:id="readme" class="markdown" style="clear:both;padding-bottom:5px;"></div>
<div wicket:id="readme"></div>
<wicket:fragment wicket:id="markdownPanel">
<div class="header" style="margin-top:10px;" >
<img style="vertical-align: middle; border: 1px solid #888;" src="book_16x16.png"/>
<span style="font-weight:bold;vertical-align:middle;" wicket:id="readmeFile"></span>
</div>
<div style="border:1px solid #ddd;border-radius: 0 0 3px 3px;padding: 20px;">
<div wicket:id="readmeContent" class="markdown"></div>
</div>
</wicket:fragment>
</wicket:extend>
</body>
</html>

+ 9
- 4
src/com/gitblit/wicket/pages/SummaryPage.java View File

@@ -22,9 +22,11 @@ import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Fragment;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import org.wicketstuff.googlecharts.Chart;
@@ -135,11 +137,11 @@ public class SummaryPage extends RepositoryPage {
if (getRepositoryModel().showReadme) {
String htmlText = null;
String readme = null;
try {
RevCommit head = JGitUtils.getCommit(r, null);
List<String> markdownExtensions = GitBlit.getStrings(Keys.web.markdownExtensions);
List<PathModel> paths = JGitUtils.getFilesInPath(r, null, head);
String readme = null;
List<PathModel> paths = JGitUtils.getFilesInPath(r, null, head);
for (PathModel path : paths) {
if (!path.isTree()) {
String name = path.name.toLowerCase();
@@ -162,9 +164,12 @@ public class SummaryPage extends RepositoryPage {
} catch (ParseException p) {
error(p.getMessage());
}
Fragment fragment = new Fragment("readme", "markdownPanel");
fragment.add(new Label("readmeFile", readme));
// Add the html to the page
add(new Label("readme", htmlText).setEscapeModelStrings(false).setVisible(
!StringUtils.isEmpty(htmlText)));
Component content = new Label("readmeContent", htmlText).setEscapeModelStrings(false);
fragment.add(content.setVisible(!StringUtils.isEmpty(htmlText)));
add(fragment);
} else {
add(new Label("readme").setVisible(false));
}

+ 1
- 1
src/com/gitblit/wicket/pages/TicketPage.java View File

@@ -34,7 +34,7 @@ public class TicketPage extends RepositoryPage {
public TicketPage(PageParameters params) {
super(params);
final String ticketFolder = WicketUtils.getObject(params);
final String ticketFolder = WicketUtils.getPath(params);
Repository r = getRepository();
TicketModel t = TicgitUtils.getTicket(r, ticketFolder);

+ 1
- 1
src/com/gitblit/wicket/panels/ActivityPanel.html View File

@@ -9,7 +9,7 @@
<div wicket:id="activity">
<div class="header"><span wicket:id="title">[title]</span></div>
<table wicket:id="commits">
<table class="activity" wicket:id="commits">
<tr wicket:id="commit"></tr>
</table>
</div>

+ 2
- 24
src/com/gitblit/wicket/panels/DropDownMenu.html View File

@@ -4,31 +4,9 @@
xml:lang="en"
lang="en">
<wicket:head>
<script src="jquery.min.js" type="text/javascript" ></script>
<script type="text/javascript">
function clearMenu() {
// hide the menu
$('a.menu, .dropdown-toggle').parent('li').removeClass('open')
}
$(document).ready(function() {
// hide menu when clicking anywhere else in page
$('html').bind('click', clearMenu)
$('a.menu, .dropdown-toggle').click(
function (e) {
var $li = $(this).parent('li').toggleClass('open');
return false;
}
);
});
</script>
</wicket:head>
<wicket:panel>
<a class="menu" href=""><span wicket:id="label">label</span></a>
<ul class="menu-dropdown">
<a class="dropdown-toggle" href="#" data-toggle="dropdown"><span wicket:id="label">label</span><b class="caret"></b></a>
<ul class="dropdown-menu">
<li wicket:id="menuItems"><span wicket:id="menuItem">[MenuItem]</span></li>
</ul>
</wicket:panel>

+ 7
- 4
src/com/gitblit/wicket/panels/DropDownMenu.java View File

@@ -43,12 +43,15 @@ public class DropDownMenu extends Panel {
if (entry.isDivider()) {
item.add(new Label("menuItem").setRenderBodyOnly(true));
WicketUtils.setCssClass(item, "divider");
} else {
item.add(new LinkPanel("menuItem", null, entry.toString(), menu.pageClass,
entry.getPageParameters()).setRenderBodyOnly(true));
} else {
String icon = null;
if (entry.isSelected()) {
WicketUtils.setCssClass(item, "selected");
icon = "icon-ok";
} else {
icon = "icon-ok-white";
}
item.add(new LinkPanel("menuItem", icon, null, entry.toString(), menu.pageClass,
entry.getPageParameters(), false).setRenderBodyOnly(true));
}
}
};

+ 1
- 1
src/com/gitblit/wicket/panels/LinkPanel.html View File

@@ -4,6 +4,6 @@
xml:lang="en"
lang="en">
<wicket:panel>
<a href="#" wicket:id="link"><span wicket:id="label">[link]</span></a>
<a href="#" wicket:id="link"><i wicket:id="icon" style="padding-right:5px;"></i><span wicket:id="label">[link]</span></a>
</wicket:panel>
</html>

+ 21
- 5
src/com/gitblit/wicket/panels/LinkPanel.java View File

@@ -26,6 +26,9 @@ import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.WicketUtils;
public class LinkPanel extends Panel {
private static final long serialVersionUID = 1L;
@@ -34,25 +37,30 @@ public class LinkPanel extends Panel {
public LinkPanel(String wicketId, String linkCssClass, String label,
Class<? extends WebPage> clazz) {
this(wicketId, linkCssClass, new Model<String>(label), clazz, null, false);
this(wicketId, null, linkCssClass, new Model<String>(label), clazz, null, false);
}
public LinkPanel(String wicketId, String linkCssClass, String label,
Class<? extends WebPage> clazz, PageParameters parameters) {
this(wicketId, linkCssClass, new Model<String>(label), clazz, parameters, false);
this(wicketId, null, linkCssClass, new Model<String>(label), clazz, parameters, false);
}
public LinkPanel(String wicketId, String linkCssClass, String label,
Class<? extends WebPage> clazz, PageParameters parameters, boolean newWindow) {
this(wicketId, linkCssClass, new Model<String>(label), clazz, parameters, newWindow);
this(wicketId, null, linkCssClass, new Model<String>(label), clazz, parameters, newWindow);
}
public LinkPanel(String wicketId, String bootstrapIcon, String linkCssClass, String label,
Class<? extends WebPage> clazz, PageParameters parameters, boolean newWindow) {
this(wicketId, bootstrapIcon, linkCssClass, new Model<String>(label), clazz, parameters, newWindow);
}
public LinkPanel(String wicketId, String linkCssClass, IModel<String> model,
Class<? extends WebPage> clazz, PageParameters parameters) {
this(wicketId, linkCssClass, model, clazz, parameters, false);
this(wicketId, null, linkCssClass, model, clazz, parameters, false);
}
public LinkPanel(String wicketId, String linkCssClass, IModel<String> model,
public LinkPanel(String wicketId, String bootstrapIcon, String linkCssClass, IModel<String> model,
Class<? extends WebPage> clazz, PageParameters parameters, boolean newWindow) {
super(wicketId);
this.labelModel = model;
@@ -68,6 +76,13 @@ public class LinkPanel extends Panel {
if (linkCssClass != null) {
link.add(new SimpleAttributeModifier("class", linkCssClass));
}
Label icon = new Label("icon");
if (StringUtils.isEmpty(bootstrapIcon)) {
link.add(icon.setVisible(false));
} else {
WicketUtils.setCssClass(icon, bootstrapIcon);
link.add(icon);
}
link.add(new Label("label", labelModel));
add(link);
}
@@ -87,6 +102,7 @@ public class LinkPanel extends Panel {
if (linkCssClass != null) {
link.add(new SimpleAttributeModifier("class", linkCssClass));
}
link.add(new Label("icon").setVisible(false));
link.add(new Label("label", labelModel));
add(link);
}

+ 4
- 1
src/com/gitblit/wicket/panels/NavigationPanel.java View File

@@ -48,17 +48,20 @@ public class NavigationPanel extends Panel {
// other link
OtherPageLink link = (OtherPageLink) entry;
Component c = new LinkPanel("link", null, getString(entry.translationKey), link.url);
c.setRenderBodyOnly(true);
item.add(c);
} else if (entry instanceof DropDownMenuRegistration) {
// drop down menu
DropDownMenuRegistration reg = (DropDownMenuRegistration) entry;
Component c = new DropDownMenu("link", getString(entry.translationKey), reg);
c.setRenderBodyOnly(true);
item.add(c);
WicketUtils.setCssClass(item, "menu");
WicketUtils.setCssClass(item, "dropdown");
} else {
// standard page link
Component c = new LinkPanel("link", null, getString(entry.translationKey),
entry.pageClass, entry.params);
c.setRenderBodyOnly(true);
if (entry.pageClass.equals(pageClass)) {
WicketUtils.setCssClass(item, "active");
}

Loading…
Cancel
Save