diff options
author | James Moger <james.moger@gitblit.com> | 2013-10-24 15:44:44 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2013-10-25 07:55:56 -0400 |
commit | 90d5e02cca934cdf8d582873f5bf13e710c12393 (patch) | |
tree | 015cf70dd056b4820ebfa4468c09c9007131dafa /src/main/java/com/gitblit/wicket/pages/SummaryPage.java | |
parent | b4f946d4c964612d5398fd6450f63618c327b7dd (diff) | |
download | gitblit-90d5e02cca934cdf8d582873f5bf13e710c12393.tar.gz gitblit-90d5e02cca934cdf8d582873f5bf13e710c12393.zip |
Remove "show readme" flag in favor of automatic detection
Automatic detection also will now also display a plain text "readme"
or "readme.txt" file.
Change-Id: Id6be729bdc469e7a5cfd1f4144df340a6b93475e
Diffstat (limited to 'src/main/java/com/gitblit/wicket/pages/SummaryPage.java')
-rw-r--r-- | src/main/java/com/gitblit/wicket/pages/SummaryPage.java | 67 |
1 files changed, 38 insertions, 29 deletions
diff --git a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java index cc9697c6..0a138371 100644 --- a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java +++ b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java @@ -137,47 +137,56 @@ public class SummaryPage extends RepositoryPage { add(new TagsPanel("tagsPanel", repositoryName, r, numberRefs).hideIfEmpty());
add(new BranchesPanel("branchesPanel", getRepositoryModel(), r, numberRefs, false).hideIfEmpty());
- if (getRepositoryModel().showReadme) {
- String htmlText = null;
- String markdownText = 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);
- for (PathModel path : paths) {
- if (!path.isTree()) {
- String name = path.name.toLowerCase();
-
- if (name.startsWith("readme")) {
- if (name.indexOf('.') > -1) {
- String ext = name.substring(name.lastIndexOf('.') + 1);
- if (markdownExtensions.contains(ext)) {
- readme = path.name;
- break;
- }
+ String htmlText = null;
+ String markdownText = null;
+ String readme = null;
+ boolean isMarkdown = false;
+ try {
+ RevCommit head = JGitUtils.getCommit(r, null);
+ List<String> markdownExtensions = GitBlit.getStrings(Keys.web.markdownExtensions);
+ List<PathModel> paths = JGitUtils.getFilesInPath(r, null, head);
+ for (PathModel path : paths) {
+ if (!path.isTree()) {
+ String name = path.name.toLowerCase();
+ if (name.equals("readme") || name.equals("readme.txt")) {
+ readme = path.name;
+ isMarkdown = false;
+ } else if (name.startsWith("readme")) {
+ if (name.indexOf('.') > -1) {
+ String ext = name.substring(name.lastIndexOf('.') + 1);
+ if (markdownExtensions.contains(ext)) {
+ readme = path.name;
+ isMarkdown = true;
+ break;
}
}
}
}
- if (!StringUtils.isEmpty(readme)) {
- String [] encodings = GitBlit.getEncodings();
- markdownText = JGitUtils.getStringContent(r, head.getTree(), readme, encodings);
+ }
+ if (!StringUtils.isEmpty(readme)) {
+ String [] encodings = GitBlit.getEncodings();
+ markdownText = JGitUtils.getStringContent(r, head.getTree(), readme, encodings);
+ if (isMarkdown) {
htmlText = MarkdownUtils.transformMarkdown(markdownText);
+ } else {
+ htmlText = MarkdownUtils.transformPlainText(markdownText);
}
- } catch (Exception e) {
- logger.error("failed to transform markdown", e);
- markdownText = MessageFormat.format("<div class=\"alert alert-error\"><strong>{0}:</strong> {1}</div>{2}", getString("gb.error"), getString("gb.markdownFailure"), markdownText);
- htmlText = StringUtils.breakLinesForHtml(markdownText);
}
- Fragment fragment = new Fragment("readme", "markdownPanel");
+ } catch (Exception e) {
+ logger.error("failed to transform markdown", e);
+ markdownText = MessageFormat.format("<div class=\"alert alert-error\"><strong>{0}:</strong> {1}</div>{2}", getString("gb.error"), getString("gb.markdownFailure"), markdownText);
+ htmlText = MarkdownUtils.transformPlainText(markdownText);
+ }
+
+ if (StringUtils.isEmpty(htmlText)) {
+ add(new Label("readme").setVisible(false));
+ } else {
+ Fragment fragment = new Fragment("readme", isMarkdown ? "markdownPanel" : "plaintextPanel");
fragment.add(new Label("readmeFile", readme));
// Add the html to the page
Component content = new Label("readmeContent", htmlText).setEscapeModelStrings(false);
fragment.add(content.setVisible(!StringUtils.isEmpty(htmlText)));
add(fragment);
- } else {
- add(new Label("readme").setVisible(false));
}
// Display an activity line graph
|