From cbe6840efecf87e53a687cdce6fbdf84c6ab8a46 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 19 Sep 2013 08:40:59 -0400
Subject: [PATCH] Documentation
---
src/main/java/com/gitblit/wicket/pages/BlobPage.java | 28 +++++++++++++++++++++-------
1 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/pages/BlobPage.java b/src/main/java/com/gitblit/wicket/pages/BlobPage.java
index ab0f0f1..b9f6430 100644
--- a/src/main/java/com/gitblit/wicket/pages/BlobPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/BlobPage.java
@@ -32,12 +32,17 @@
import com.gitblit.Keys;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.StringUtils;
+import com.gitblit.wicket.CacheControl;
import com.gitblit.wicket.ExternalImage;
import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.CacheControl.LastModified;
import com.gitblit.wicket.panels.CommitHeaderPanel;
import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
+@CacheControl(LastModified.BOOT)
public class BlobPage extends RepositoryPage {
+
+ protected String fileExtension;
public BlobPage(PageParameters params) {
super(params);
@@ -128,10 +133,11 @@
if (source == null) {
table = missingBlob(blobPath, commit);
} else {
- table = generateSourceView(source, type == 1);
+ table = generateSourceView(source, extension, type == 1);
}
add(new Label("blobText", table).setEscapeModelStrings(false));
add(new Image("blobImage").setVisible(false));
+ fileExtension = extension;
}
} else {
// plain text
@@ -140,7 +146,7 @@
if (source == null) {
table = missingBlob(blobPath, commit);
} else {
- table = generateSourceView(source, false);
+ table = generateSourceView(source, null, false);
}
add(new Label("blobText", table).setEscapeModelStrings(false));
add(new Image("blobImage").setVisible(false));
@@ -156,8 +162,8 @@
sb.append("</div>");
return sb.toString();
}
-
- protected String generateSourceView(String source, boolean prettyPrint) {
+
+ protected String generateSourceView(String source, String extension, boolean prettyPrint) {
String [] lines = source.split("\n");
StringBuilder sb = new StringBuilder();
@@ -168,7 +174,7 @@
sb.append("<!-- start nums column -->");
sb.append("<td id=\"nums\">");
sb.append("<pre>");
- String numPattern = "<span id=\"L{0}\" class=\"num\">{0}</span>\n";
+ String numPattern = "<span id=\"L{0}\" class=\"jump\"></span><a href=\"#L{0}\">{0}</a>\n";
for (int i = 0; i < lines.length; i++) {
sb.append(MessageFormat.format(numPattern, "" + (i + 1)));
}
@@ -180,7 +186,7 @@
sb.append("<td id=\"lines\">");
sb.append("<div class=\"sourceview\">");
if (prettyPrint) {
- sb.append("<pre class=\"prettyprint\">");
+ sb.append("<pre class=\"prettyprint lang-" + extension + "\">");
} else {
sb.append("<pre class=\"plainprint\">");
}
@@ -188,10 +194,13 @@
sb.append("<table width=\"100%\"><tbody>");
- String linePattern = "<tr class=\"{0}\"><td><a href=\"#L{2}\">{1}</a>\r</tr>";
+ String linePattern = "<tr class=\"{0}\"><td><div><span class=\"line\">{1}</span></div>\r</tr>";
for (int i = 0; i < lines.length; i++) {
String line = lines[i].replace('\r', ' ');
String cssClass = (i % 2 == 0) ? "even" : "odd";
+ if (StringUtils.isEmpty(line.trim())) {
+ line = " ";
+ }
sb.append(MessageFormat.format(linePattern, cssClass, line, "" + (i + 1)));
}
sb.append("</tbody></table></pre>");
@@ -210,4 +219,9 @@
protected String getPageName() {
return getString("gb.view");
}
+
+ @Override
+ protected Class<? extends BasePage> getRepoNavPageClass() {
+ return TreePage.class;
+ }
}
--
Gitblit v1.9.1