From fab099270c3d53e4d0a3acf0337932f53e5ff14b Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 14 Nov 2013 17:53:35 -0500
Subject: [PATCH] README files are not shown on the summary page by default

---
 src/main/java/com/gitblit/wicket/pages/SummaryPage.java |   28 +++++++++++++++++-----------
 releases.moxie                                          |    2 ++
 src/main/distrib/data/gitblit.properties                |   15 +++++++++++++++
 src/main/java/com/gitblit/wicket/pages/SummaryPage.html |    2 +-
 4 files changed, 35 insertions(+), 12 deletions(-)

diff --git a/releases.moxie b/releases.moxie
index a3b5ee4..d66dba6 100644
--- a/releases.moxie
+++ b/releases.moxie
@@ -25,6 +25,7 @@
 	- Change the WAR baseFolder context parameter to a JNDI env-entry to improve enterprise deployments
 	- Removed internal Gitblit ref exclusions in the upload pack
 	- Removed "show readme" setting in favor of automatic detection
+	- README files are not shown on the summary page by default, this can be changed with web.summaryShowReadme
 	- Support plain text, markdown, confluence, mediawiki, textile, tracwiki, or twiki "readme" files
 	- Determine best commit id (e.g. "master") for the tree and docs pages and use that in links
 	- By default GO will now bind to all interfaces for both http and https connectors.  This simplifies setup for first-time users.	
@@ -54,6 +55,7 @@
 	- { name: 'git.mirrorPeriod', defaultValue: '30 mins' }
 	- { name: 'web.commitMessageRenderer', defaultValue: 'plain' }
 	- { name: 'web.showBranchGraph', defaultValue: 'true' }
+	- { name: 'web.summaryShowReadme', defaultValue: 'false' }
 	- { name: 'server.redirectToHttpsPort', defaultValue: 'true' }
     contributors:
 	- James Moger
diff --git a/src/main/distrib/data/gitblit.properties b/src/main/distrib/data/gitblit.properties
index 2823c4d..92427e5 100644
--- a/src/main/distrib/data/gitblit.properties
+++ b/src/main/distrib/data/gitblit.properties
@@ -1007,6 +1007,11 @@
 # SINCE 0.5.0
 web.summaryRefsCount = 5
 
+# Show a README file, if available, on the summary page.
+#
+# SINCE 1.4.0
+web.summaryShowReadme = false
+
 # The number of items to show on a page before showing the first, prev, next
 # pagination links.  A default of 50 is used for any invalid value.
 #
@@ -1025,6 +1030,16 @@
 # SINCE 1.3.0
 web.reflogChangesPerPage = 10
 
+# Specify the names of documents in the root of your repository to be displayed
+# in tabs on your repository docs page.  If the name is not found in the root
+# then no tab is added.  The order specified is the order displayed.  Do not
+# specify a file extension as the aggregation of markup extensions + txt are used
+# in the search algorithm.
+#
+# SPACE-DELIMITED
+# SINCE 1.4.0
+web.documents = readme home index changelog contributing submitting_patches copying license notice authors
+
 # Registered file extensions to ignore during Lucene indexing
 #
 # SPACE-DELIMITED
diff --git a/src/main/java/com/gitblit/wicket/pages/SummaryPage.html b/src/main/java/com/gitblit/wicket/pages/SummaryPage.html
index 69cd390..42c59c4 100644
--- a/src/main/java/com/gitblit/wicket/pages/SummaryPage.html
+++ b/src/main/java/com/gitblit/wicket/pages/SummaryPage.html
@@ -54,7 +54,7 @@
 			<i style="vertical-align: middle;" class="icon-book"></i>
 			<span style="font-weight:bold;vertical-align:middle;" wicket:id="readmeFile"></span>
 		</div>
-		<div style="border:1px solid #ddd;border-radius: 0 0 3px 3px;padding: 20px;">
+		<div style="border:1px solid #ddd;border-radius: 0 0 3px 3px;padding: 15px 20px;">
 			<div wicket:id="readmeContent"></div>
 		</div>
 	</wicket:fragment>	
diff --git a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
index 872f038..6f9d3a4 100644
--- a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
@@ -138,18 +138,24 @@
 		add(new TagsPanel("tagsPanel", repositoryName, r, numberRefs).hideIfEmpty());
 		add(new BranchesPanel("branchesPanel", getRepositoryModel(), r, numberRefs, false).hideIfEmpty());
 
-		RevCommit head = JGitUtils.getCommit(r, null);
-		MarkupProcessor processor = new MarkupProcessor(GitBlit.getSettings());
-		MarkupDocument markupDoc = processor.parseReadme(r, repositoryName, getBestCommitId(head));
-		if (markupDoc.markup == null) {
-			add(new Label("readme").setVisible(false));
+		if (GitBlit.getBoolean(Keys.web.summaryShowReadme, false)) {
+			// show a readme on the summary page
+			RevCommit head = JGitUtils.getCommit(r, null);
+			MarkupProcessor processor = new MarkupProcessor(GitBlit.getSettings());
+			MarkupDocument markupDoc = processor.parseReadme(r, repositoryName, getBestCommitId(head));
+			if (markupDoc == null || markupDoc.markup == null) {
+				add(new Label("readme").setVisible(false));
+			} else {
+				Fragment fragment = new Fragment("readme", MarkupSyntax.PLAIN.equals(markupDoc.syntax) ? "plaintextPanel" : "markdownPanel", this);
+				fragment.add(new Label("readmeFile", markupDoc.documentPath));
+				// Add the html to the page
+				Component content = new Label("readmeContent", markupDoc.html).setEscapeModelStrings(false);
+				fragment.add(content.setVisible(!StringUtils.isEmpty(markupDoc.html)));
+				add(fragment);
+			}
 		} else {
-			Fragment fragment = new Fragment("readme", MarkupSyntax.PLAIN.equals(markupDoc.syntax) ? "plaintextPanel" : "markdownPanel", this);
-			fragment.add(new Label("readmeFile", markupDoc.documentPath));
-			// Add the html to the page
-			Component content = new Label("readmeContent", markupDoc.html).setEscapeModelStrings(false);
-			fragment.add(content.setVisible(!StringUtils.isEmpty(markupDoc.html)));
-			add(fragment);
+			// global, no readme on summary page
+			add(new Label("readme").setVisible(false));
 		}
 
 		// Display an activity line graph

--
Gitblit v1.9.1