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.
---
gitblit.properties | 5 +-
src/com/gitblit/wicket/pages/RepositoriesPage.java | 56 +++++++++++++++++++++++++++
src/com/gitblit/wicket/resources/welcome.mkd | 5 ++
src/com/gitblit/wicket/pages/RepositoriesPage.html | 7 +++
src/com/gitblit/wicket/LoginPage.html | 6 +-
5 files changed, 72 insertions(+), 7 deletions(-)
diff --git a/gitblit.properties b/gitblit.properties
index 48515a1..427a9d5 100644
--- a/gitblit.properties
+++ b/gitblit.properties
@@ -47,8 +47,9 @@
web.allowAdministration = true
# This is the message display above the repositories table.
-# This can point to a file with HTML content.
-web.repositoriesMessage = Welcome to Git:Blit!<br>A quick and easy way to host your own Git repositories.<br>Built with <a href="http://eclipse.org/jgit">JGit</a>, <a href="http://wicket.apache.org">Wicket</a>, <a href="http://https://github.com/wicketstuff/core/wiki/GoogleCharts">WicketStuff googlecharts</a>, <a href="http://markdown.tautua.org">MarkdownPapers</a>, <a href="http://eclipse.org/jetty">Jetty</a>, <a href="http://www.slf4j.org">SLF4J</a>, <a href="http://logging.apache.org/log4j">Log4j</a>, <a href="http://code.google.com/p/google-code-prettify/">google-code-prettify</a>, and <a href="http://jcommander.org">JCommander</a>.
+# This can point to a file with Markdown content.
+# specifying "gitblit" uses the internal welcome message.
+web.repositoriesMessage = gitblit
# Use the client timezone when formatting dates.
# This uses AJAX to determine the browser's timezone and enables Wicket
diff --git a/src/com/gitblit/wicket/LoginPage.html b/src/com/gitblit/wicket/LoginPage.html
index 41e2a26..f38e01d 100644
--- a/src/com/gitblit/wicket/LoginPage.html
+++ b/src/com/gitblit/wicket/LoginPage.html
@@ -15,11 +15,11 @@
<body onload="document.getElementById('username').focus();">
<div>
- <div style="text-align:center;">
+ <div style="padding-top: 10px;text-align:center;">
<wicket:link>
- <img src="resources/gitblt2.png" alt="Git:Blit"/><br/>
+ <img src="resources/gitblt_25.png" alt="Git:Blit"/><br/>
</wicket:link>
- <span style="font-weight:bold;" wicket:id="name">[name]</span><br/>
+ <div style="padding-top:30px;font-weight:bold;" wicket:id="name">[name]</div>
</div>
<form style="text-align:center;" wicket:id="loginForm">
diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.html b/src/com/gitblit/wicket/pages/RepositoriesPage.html
index 9bcb9b8..798836e 100644
--- a/src/com/gitblit/wicket/pages/RepositoriesPage.html
+++ b/src/com/gitblit/wicket/pages/RepositoriesPage.html
@@ -3,12 +3,17 @@
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
+<wicket:head>
+ <wicket:link>
+ <link href="/com/gitblit/wicket/resources/markdown.css" type="text/css" rel="stylesheet" />
+ </wicket:link>
+</wicket:head>
<body>
<wicket:extend>
<div wicket:id="adminPanel">[admin links]</div>
- <div class="repositories_message" wicket:id="repositoriesMessage">[repositories message]</div>
+ <div class="markdown" wicket:id="repositoriesMessage">[repositories message]</div>
<table class="repositories">
<tr>
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);
diff --git a/src/com/gitblit/wicket/resources/welcome.mkd b/src/com/gitblit/wicket/resources/welcome.mkd
new file mode 100644
index 0000000..a38cbb5
--- /dev/null
+++ b/src/com/gitblit/wicket/resources/welcome.mkd
@@ -0,0 +1,5 @@
+## Welcome to Git:Blit ##
+
+A quick and easy way to host your own Git repositories.
+
+Built with [JGit](http://eclipse.org/jgit) [Wicket](http://wicket.apache.org) [WicketStuff GoogleCharts](https://github.com/wicketstuff/core/wiki/GoogleCharts) [MarkdownPapers](http://markdown.tautua.org) [Jetty](http://eclipse.org/jetty) [SLF4J](http://www.slf4j.org) [Log4j](http://logging.apache.org/log4j) [google-code-prettify](http://code.google.com/p/google-code-prettify) [JCommander](http://jcommander.org)
\ No newline at end of file
--
Gitblit v1.9.1