distrib/gitblit.properties | ●●●●● patch | view | raw | blame | history | |
resources/bootstrap.gb.css | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/utils/StringUtils.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/panels/RepositoriesPanel.html | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/panels/RepositoriesPanel.java | ●●●●● patch | view | raw | blame | history |
distrib/gitblit.properties
@@ -228,6 +228,12 @@ # SINCE 0.5.0 web.repositoryRootGroupName = main # Display the repository swatch color next to the repository name link in the # repositories list. # # SINCE 0.8.0 web.repositoryListSwatches = true # Choose the diff presentation style: gitblt, gitweb, or plain # # SINCE 0.5.0 resources/bootstrap.gb.css
@@ -160,6 +160,15 @@ font-size: 11px; } span.repositorySwatch { border-radius: 3px; padding: 2px 5px; color: #ffffff; } span.repositorySwatch a { color: inherit; } img.inlineIcon { padding-left: 1px; padding-right: 1px; src/com/gitblit/utils/StringUtils.java
@@ -33,7 +33,7 @@ public class StringUtils { public static final String MD5_TYPE = "MD5:"; public static final String COMBINED_MD5_TYPE = "CMD5:"; /** @@ -443,4 +443,48 @@ } }); } } public static String getColor(String value) { int cs = 0; for (char c : getMD5(value.toLowerCase()).toCharArray()) { cs += c; } int n = (cs % 360); float hue = ((float) n) / 360; return hsvToRgb(hue, 0.90f, 0.65f); } public static String hsvToRgb(float hue, float saturation, float value) { int h = (int) (hue * 6); float f = hue * 6 - h; float p = value * (1 - saturation); float q = value * (1 - f * saturation); float t = value * (1 - (1 - f) * saturation); switch (h) { case 0: return rgbToString(value, t, p); case 1: return rgbToString(q, value, p); case 2: return rgbToString(p, value, t); case 3: return rgbToString(p, q, value); case 4: return rgbToString(t, p, value); case 5: return rgbToString(value, p, q); default: throw new RuntimeException( "Something went wrong when converting from HSV to RGB. Input was " + hue + ", " + saturation + ", " + value); } } public static String rgbToString(float r, float g, float b) { String rs = Integer.toHexString((int) (r * 256)); String gs = Integer.toHexString((int) (g * 256)); String bs = Integer.toHexString((int) (b * 256)); return "#" + rs + gs + bs; } } src/com/gitblit/wicket/panels/RepositoriesPanel.html
@@ -71,7 +71,7 @@ </wicket:fragment> <wicket:fragment wicket:id="repositoryRow"> <td class="left" style="padding-left:10px;" ><div class="list" wicket:id="repositoryName">[repository name]</div></td> <td class="left" style="padding-left:3px;" ><span class="repositorySwatch" wicket:id="repositorySwatch"></span> <span style="padding-left:3px;" wicket:id="repositoryName">[repository name]</span></td> <td><div class="list" wicket:id="repositoryDescription">[repository description]</div></td> <td class="author"><span wicket:id="repositoryOwner">[repository owner]</span></td> <td style="text-align: right;padding-right:10px;"><img class="inlineIcon" wicket:id="ticketsIcon" /><img class="inlineIcon" wicket:id="docsIcon" /><img class="inlineIcon" wicket:id="frozenIcon" /><img class="inlineIcon" wicket:id="federatedIcon" /><img class="inlineIcon" wicket:id="accessRestrictionIcon" /></td> src/com/gitblit/wicket/panels/RepositoriesPanel.java
@@ -120,6 +120,7 @@ } final String baseUrl = WicketUtils.getGitblitURL(getRequest()); final boolean showSwatch = GitBlit.getBoolean(Keys.web.repositoryListSwatches, true); DataView<RepositoryModel> dataView = new DataView<RepositoryModel>("row", dp) { private static final long serialVersionUID = 1L; @@ -146,13 +147,19 @@ } Fragment row = new Fragment("rowContent", "repositoryRow", this); item.add(row); // try to strip group name for less cluttered list String repoName = entry.name; if (!StringUtils.isEmpty(currGroupName) && (repoName.indexOf('/') > -1)) { repoName = repoName.substring(currGroupName.length() + 1); } // repository swatch Label swatch = new Label("repositorySwatch", " "); WicketUtils.setCssBackground(swatch, entry.name); row.add(swatch); swatch.setVisible(showSwatch); if (entry.hasCommits && linksActive) { PageParameters pp = WicketUtils.newRepositoryParameter(entry.name); row.add(new LinkPanel("repositoryName", "list", repoName, SummaryPage.class, pp));