James Moger
2014-02-28 c8a833a2ea7d03a5c29ebcd1cf7e2e05c96f3e70
Add the No Docs page if there are no root documents
2 files added
3 files modified
79 ■■■■■ changed files
src/main/java/com/gitblit/wicket/GitBlitWebApp.properties 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/DocsPage.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/NoDocsPage.html 22 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/NoDocsPage.java 39 ●●●●● patch | view | raw | blame | history
src/main/resources/gitblit.css 12 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/GitBlitWebApp.properties
@@ -509,3 +509,6 @@
gb.isMirror = this repository is a mirror
gb.mirrorOf = mirror of {0}
gb.mirrorWarning = this repository is a mirror and can not receive pushes
gb.docsWelcome1 = You can use docs to document your repository.
gb.docsWelcome2 = Commit a README.md or a HOME.md file to get started.
gb.createReadme = create a README
src/main/java/com/gitblit/wicket/pages/DocsPage.java
@@ -59,8 +59,9 @@
        List<MarkupDocument> roots = processor.getRootDocs(r, repositoryName, commitId);
        Fragment fragment = null;
        if (roots.isEmpty()) {
            // no identified root documents just show the standard document list
            // no identified root documents
            fragment = new Fragment("docs", "noIndexFragment", this);
            setResponsePage(NoDocsPage.class, params);
        } else {
            // root documents, use tabbed ui of index/root and document list
            fragment = new Fragment("docs", "tabsFragment", this);
src/main/java/com/gitblit/wicket/pages/NoDocsPage.html
New file
@@ -0,0 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
      xml:lang="en"
      lang="en">
<wicket:extend>
    <!-- No tickets -->
    <div class="featureWelcome">
        <div class="row">
        <div class="icon span2"><i class="fa fa-book"></i></div>
        <div class="span9">
            <h1><wicket:message key="gb.docs"></wicket:message></h1>
            <p><wicket:message key="gb.docsWelcome1"></wicket:message></p>
            <p><wicket:message key="gb.docsWelcome2"></wicket:message></p>
            <p></p>
            <!-- <a wicket:id="newreadme" class="btn btn-appmenu"><wicket:message key="gb.createReadme"></wicket:message></a>-->
        </div>
        </div>
    </div>
</wicket:extend>
</html>
src/main/java/com/gitblit/wicket/pages/NoDocsPage.java
New file
@@ -0,0 +1,39 @@
/*
 * Copyright 2014 gitblit.com.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.gitblit.wicket.pages;
import org.apache.wicket.PageParameters;
public class NoDocsPage extends RepositoryPage {
    public NoDocsPage(PageParameters params) {
        super(params);
        //UserModel user = GitBlitWebSession.get().getUser();
        //boolean isAuthenticated = user != null && user.isAuthenticated;
        //add(new BookmarkablePageLink<Void>("newreadme", NewTicketPage.class, WicketUtils.newRepositoryParameter(repositoryName)).setVisible(isAuthenticated));
    }
    @Override
    protected String getPageName() {
        return getString("gb.docs");
    }
    @Override
    protected Class<? extends BasePage> getRepoNavPageClass() {
        return DocsPage.class;
    }
}
src/main/resources/gitblit.css
@@ -520,6 +520,18 @@
    text-align: left;    
}
div.featureWelcome {
    padding: 15px;
    background-color: #fbfbfb;
    border: 1px solid #ccc;
    border-radius: 5px;
}
div.featureWelcome div.icon {
    color: #ccc;
    font-size: 144px;
}
div.sourceview {
    overflow: hidden;
}