From c3f4f124f1b9e45d7696f3c16f958d1c81ff280a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 21 Apr 2011 21:46:47 -0400
Subject: [PATCH] Use markdown for welcome message. Simplify login page appearance.
---
src/com/gitblit/wicket/pages/RepositoriesPage.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 55 insertions(+), 1 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java
index a0f7299..3ab6366 100644
--- a/src/com/gitblit/wicket/pages/RepositoriesPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -1,10 +1,16 @@
package com.gitblit.wicket.pages;
+import java.io.File;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringWriter;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
+import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
@@ -16,9 +22,12 @@
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.resource.ContextRelativeResource;
+import org.tautua.markdownpapers.Markdown;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
+import com.gitblit.utils.StringUtils;
import com.gitblit.utils.TimeUtils;
import com.gitblit.wicket.BasePage;
import com.gitblit.wicket.GitBlitWebSession;
@@ -45,7 +54,52 @@
adminLinks.add(new BookmarkablePageLink<Void>("newUser", RepositoriesPage.class));
add(adminLinks.setVisible(showAdmin));
- add(new Label("repositoriesMessage", GitBlit.self().settings().getString(Keys.web.repositoriesMessage, "")).setEscapeModelStrings(false));
+ // Load the markdown welcome message
+ String messageSource = GitBlit.self().settings().getString(Keys.web.repositoriesMessage, "gitblit");
+ String message = "";
+ if (messageSource.equalsIgnoreCase("gitblit")) {
+ // Read default welcome message
+ try {
+ ContextRelativeResource res = new ContextRelativeResource("/com/gitblit/wicket/resources/welcome.mkd");
+ InputStream is = res.getResourceStream().getInputStream();
+ InputStreamReader reader = new InputStreamReader(is);
+ StringWriter writer = new StringWriter();
+ Markdown markdown = new Markdown();
+ markdown.transform(reader, writer);
+ message = writer.toString().trim();
+ reader.close();
+ writer.close();
+ } catch (Throwable t) {
+ message = "Failed to read default welcome message!";
+ error(message, t);
+ }
+ } else {
+ // Read user-supplied welcome message
+ if (!StringUtils.isEmpty(messageSource)) {
+ File file = new File(messageSource);
+ if (file.exists()) {
+ try {
+ FileReader reader = new FileReader(file);
+ StringWriter writer = new StringWriter();
+ Markdown markdown = new Markdown();
+ markdown.transform(reader, writer);
+ message = writer.toString().trim();
+ reader.close();
+ writer.close();
+ } catch (Throwable t) {
+ message = "Failed to read " + file;
+ error(message, t);
+ }
+ } else {
+ message = messageSource + " is not a valid file.";
+ }
+ }
+ }
+ Component repositoriesMessage = new Label("repositoriesMessage", message).setEscapeModelStrings(false);
+ if (!showAdmin) {
+ WicketUtils.setCssStyle(repositoriesMessage, "padding-top:10px");
+ }
+ add(repositoriesMessage);
List<RepositoryModel> rows = GitBlit.self().getRepositories(getRequest());
DataProvider dp = new DataProvider(rows);
--
Gitblit v1.9.1