James Moger
2011-04-21 c3f4f124f1b9e45d7696f3c16f958d1c81ff280a
Use markdown for welcome message.  Simplify login page appearance.
1 files added
4 files modified
79 ■■■■■ changed files
gitblit.properties 5 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/LoginPage.html 6 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RepositoriesPage.html 7 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/RepositoriesPage.java 56 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/resources/welcome.mkd 5 ●●●●● patch | view | raw | blame | history
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 
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">
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>
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);
src/com/gitblit/wicket/resources/welcome.mkd
New file
@@ -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)