From 6c4be170559efa112bb92cd1676543e86850e976 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 25 Oct 2013 18:32:13 -0400
Subject: [PATCH] Documentation
---
src/main/java/com/gitblit/wicket/pages/RepositoryPage.java | 24 ++++++++++++++++--------
1 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
index 3b1d296..68aa9a7 100644
--- a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
@@ -39,7 +39,6 @@
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
-import org.apache.wicket.protocol.http.RequestUtils;
import org.apache.wicket.request.target.basic.RedirectRequestTarget;
import org.eclipse.jgit.diff.DiffEntry.ChangeType;
import org.eclipse.jgit.lib.PersonIdent;
@@ -653,17 +652,29 @@
*
* @return a link renderer
*/
- protected LinkRenderer getLinkRenderer() {
+ protected LinkRenderer getMarkdownLinkRenderer() {
RevCommit head = JGitUtils.getCommit(r, "HEAD");
final String id = getBestCommitId(head);
LinkRenderer renderer = new LinkRenderer() {
@Override
public Rendering render(WikiLinkNode node) {
try {
- String path = URLEncoder.encode(node.getText().replace(' ', '-'), "UTF-8");
+ String fsc = GitBlit.getString(Keys.web.forwardSlashCharacter, "/");
+ String path = URLEncoder.encode(node.getText().replace(' ', '-'), "UTF-8").replace("%2F", fsc);
+
+ // extract document name
String name = node.getText();
if (name.indexOf('/') > -1) {
name = name.substring(name.lastIndexOf('/') + 1);
+ }
+
+ // strip Markdown extension
+ for (String ext : GitBlit.getStrings(Keys.web.markdownExtensions)) {
+ String x = "." + ext;
+ if (name.endsWith(x)) {
+ name = name.substring(0, name.length() - x.length());
+ break;
+ }
}
String url = urlFor(MarkdownPage.class, WicketUtils.newPathParameter(repositoryName, id, path)).toString();
return new Rendering(url, name);
@@ -709,9 +720,7 @@
String searchString = searchBoxModel.getObject();
if (StringUtils.isEmpty(searchString)) {
// redirect to self to avoid wicket page update bug
- PageParameters params = RepositoryPage.this.getPageParameters();
- String relativeUrl = urlFor(RepositoryPage.this.getClass(), params).toString();
- String absoluteUrl = RequestUtils.toAbsolutePath(relativeUrl);
+ String absoluteUrl = getCanonicalUrl();
getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
return;
}
@@ -733,8 +742,7 @@
// use an absolute url to workaround Wicket-Tomcat problems with
// mounted url parameters (issue-111)
PageParameters params = WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType);
- String relativeUrl = urlFor(searchPageClass, params).toString();
- String absoluteUrl = RequestUtils.toAbsolutePath(relativeUrl);
+ String absoluteUrl = getCanonicalUrl(searchPageClass, params);
getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
}
}
--
Gitblit v1.9.1