From c19ae5c6d45085528dae8c94a2eb737e06c335ce Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 22 May 2011 13:04:11 -0400
Subject: [PATCH] Documentation.
---
src/com/gitblit/wicket/pages/BlobPage.java | 64 +++++++++++++++++++-------------
1 files changed, 38 insertions(+), 26 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/BlobPage.java b/src/com/gitblit/wicket/pages/BlobPage.java
index 979bb26..d28ff32 100644
--- a/src/com/gitblit/wicket/pages/BlobPage.java
+++ b/src/com/gitblit/wicket/pages/BlobPage.java
@@ -6,49 +6,62 @@
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.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
-import com.gitblit.StoredSettings;
+import com.gitblit.GitBlit;
+import com.gitblit.Keys;
import com.gitblit.utils.JGitUtils;
-import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.panels.CommitHeaderPanel;
import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
-
public class BlobPage extends RepositoryPage {
public BlobPage(PageParameters params) {
- super(params, "blob");
+ super(params);
- final String blobPath = params.getString("f", null);
+ final String blobPath = WicketUtils.getPath(params);
- Repository r = getRepository();
- RevCommit commit = JGitUtils.getCommit(r, commitId);
-
- // blob page links
- add(new Label("historyLink", "history"));
- add(new Label("rawLink", "raw"));
- add(new Label("headLink", "HEAD"));
-
- add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
-
- add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, commitId));
String extension = null;
if (blobPath.lastIndexOf('.') > -1) {
- extension = blobPath.substring(blobPath.lastIndexOf('.') + 1);
+ extension = blobPath.substring(blobPath.lastIndexOf('.') + 1).toLowerCase();
}
+
+ // see if we should redirect to the markdown page
+ for (String ext : GitBlit.self().settings().getStrings(Keys.web.markdownExtensions)) {
+ if (ext.equals(extension)) {
+ setResponsePage(MarkdownPage.class, params);
+ return;
+ }
+ }
+
+ // standard blob view
+ Repository r = getRepository();
+ RevCommit commit = getCommit();
+
+ // blob page links
+ add(new Label("blameLink", getString("gb.blame")));
+ add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
+ add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
+ add(new BookmarkablePageLink<Void>("headLink", BlobPage.class, WicketUtils.newPathParameter(repositoryName, Constants.HEAD, blobPath)));
+
+ add(new CommitHeaderPanel("commitHeader", repositoryName, commit));
+
+ add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, objectId));
// Map the extensions to types
Map<String, Integer> map = new HashMap<String, Integer>();
- for (String ext : StoredSettings.getStrings("prettyPrintExtensions")) {
+ for (String ext : GitBlit.self().settings().getStrings(Keys.web.prettyPrintExtensions)) {
map.put(ext.toLowerCase(), 1);
}
- for (String ext : StoredSettings.getStrings("imageExtensions")) {
+ for (String ext : GitBlit.self().settings().getStrings(Keys.web.imageExtensions)) {
map.put(ext.toLowerCase(), 2);
}
- for (String ext : StoredSettings.getStrings("binaryExtensions")) {
+ for (String ext : GitBlit.self().settings().getStrings(Keys.web.binaryExtensions)) {
map.put(ext.toLowerCase(), 3);
}
@@ -62,7 +75,7 @@
case 1:
// PrettyPrint blob text
c = new Label("blobText", JGitUtils.getRawContentAsString(r, commit, blobPath));
- WicketUtils.setCssClass(c, "prettyprint");
+ WicketUtils.setCssClass(c, "prettyprint linenums");
break;
case 2:
// TODO image blobs
@@ -84,11 +97,10 @@
WicketUtils.setCssClass(blobLabel, "plainprint");
add(blobLabel);
}
+ }
- // close repository
- r.close();
-
- // footer
- addFooter();
+ @Override
+ protected String getPageName() {
+ return getString("gb.view");
}
}
--
Gitblit v1.9.1