README files are not shown on the summary page by default

Change-Id: I421a6b8f8c8eaa5d34b7629858de76fc96458cd3
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