added theme

This commit is contained in:
Sebastian Sdorra
2011-09-13 14:50:01 +02:00
parent 38699d802c
commit 29539eb22b
10 changed files with 1298 additions and 133 deletions

View File

@@ -77,7 +77,10 @@ public class ScmBackendModule extends ServletModule
public static final String FILE_CONFIG = "config.xml";
/** Field description */
public static final String PATTERN_API = "/*";
public static final String PATTERN_API = "/api/*";
/** Field description */
public static final String PATTERN_PAGE = "/page/*";
//~--- methods --------------------------------------------------------------
@@ -118,7 +121,7 @@ public class ScmBackendModule extends ServletModule
params.put(PackagesResourceConfig.PROPERTY_PACKAGES,
"sonia.scm.plugin.rest");
serve(PATTERN_API).with(GuiceContainer.class, params);
serve(PATTERN_API, PATTERN_PAGE).with(GuiceContainer.class, params);
}
/**

View File

@@ -48,10 +48,11 @@ import com.sun.jersey.api.view.Viewable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
@@ -63,18 +64,21 @@ import javax.ws.rs.core.Response.Status;
* @author Sebastian Sdorra
*/
@Path("/detail/{groupId}/{artifactId}.html")
public class DetailResource
public class DetailResource extends ViewableResource
{
/**
* Constructs ...
*
*
*
* @param context
* @param backend
*/
@Inject
public DetailResource(PluginBackend backend)
public DetailResource(ServletContext context, PluginBackend backend)
{
super(context);
this.backend = backend;
}
@@ -104,9 +108,10 @@ public class DetailResource
Collections.sort(pluginVersions, PluginInformationComparator.INSTANCE);
pluginVersions = filterSameVersions(pluginVersions);
Map<String, Object> vars = new HashMap<String, Object>();
PluginInformation latest = pluginVersions.get(0);
Map<String, Object> vars = createVarMap(latest.getName());
vars.put("latest", pluginVersions.get(0));
vars.put("latest", latest);
vars.put("versions", pluginVersions);
return new Viewable("/detail", vars);

View File

@@ -47,10 +47,11 @@ import com.sun.jersey.api.view.Viewable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@@ -59,18 +60,21 @@ import javax.ws.rs.Path;
* @author Sebastian Sdorra
*/
@Path("/index.html")
public class OverviewResource
public class OverviewResource extends ViewableResource
{
/**
* Constructs ...
*
*
*
* @param context
* @param backend
*/
@Inject
public OverviewResource(PluginBackend backend)
public OverviewResource(ServletContext context, PluginBackend backend)
{
super(context);
this.backend = backend;
}
@@ -86,7 +90,7 @@ public class OverviewResource
public Viewable overview()
{
List<PluginInformation> plugins = getPluginOverview();
Map<String, Object> vars = new HashMap<String, Object>();
Map<String, Object> vars = createVarMap("Plugin Overview");
vars.put("plugins", plugins);

View File

@@ -74,7 +74,7 @@ import javax.ws.rs.core.Response;
* @author Sebastian Sdorra
*/
@Singleton
@Path("api/{version}/plugins")
@Path("{version}/plugins")
public class PluginResource implements PluginBackendListener
{

View File

@@ -0,0 +1,85 @@
/**
* Copyright (c) 2010, Sebastian Sdorra
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of SCM-Manager; nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* http://bitbucket.org/sdorra/scm-manager
*
*/
package sonia.scm.plugin.rest;
//~--- JDK imports ------------------------------------------------------------
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletContext;
/**
*
* @author Sebastian Sdorra
*/
public class ViewableResource
{
/**
* Constructs ...
*
*
* @param context
*/
public ViewableResource(ServletContext context)
{
this.contextPath = context.getContextPath();
}
//~--- methods --------------------------------------------------------------
/**
* Method description
*
*
*
* @param title
* @return
*/
protected Map<String, Object> createVarMap(String title)
{
Map<String, Object> vars = new HashMap<String, Object>();
vars.put("contextPath", contextPath);
vars.put("title", title);
return vars;
}
//~--- fields ---------------------------------------------------------------
/** Field description */
private String contextPath;
}

View File

@@ -1,78 +1,36 @@
<!--
<#include "template/header.html">
Copyright (c) 2010, Sebastian Sdorra
All rights reserved.
<p>${latest.description}</p>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
<h2>Plugin Informations</h2>
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of SCM-Manager; nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
<table>
<tr>
<th>Name</th>
<td>${latest.name}</td>
</tr>
<tr>
<th>GroupId</th>
<td>${latest.groupId}</td>
</tr>
<tr>
<th>ArtifactId</th>
<td>${latest.artifactId}</td>
</tr>
<tr>
<th>Author</th>
<td>${latest.author}</td>
</tr>
</table>
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<h2>Plugin Versions</h2>
http://bitbucket.org/sdorra/scm-manager
<ul>
<#list versions as version>
<li>${version.version}</li>
</#list>
</ul>
<a href="${contextPath}/page/index.html">Overview</a>
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>${latest.name}</h1>
<p>${latest.description}</p>
<h2>Plugin Informations</h2>
<table>
<tr>
<th>Name</th>
<td>${latest.name}</td>
</tr>
<tr>
<th>GroupId</th>
<td>${latest.groupId}</td>
</tr>
<tr>
<th>ArtifactId</th>
<td>${latest.artifactId}</td>
</tr>
<tr>
<th>Author</th>
<td>${latest.author}</td>
</tr>
</table>
<h2>Plugin Versions</h2>
<ul>
<#list versions as version>
<li>${version.version}</li>
</#list>
</ul>
<a href="../../index.html">Overview</a>
</body>
</html>
<#include "template/footer.html">

View File

@@ -1,52 +1,11 @@
<!--
<#include "template/header.html">
Copyright (c) 2010, Sebastian Sdorra
All rights reserved.
<ul>
<#list plugins as plugin>
<li>
<a href="${contextPath}/page/detail/${plugin.groupId}/${plugin.artifactId}.html">${plugin.name}</a>
</li>
</#list>
</ul>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of SCM-Manager; nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
http://bitbucket.org/sdorra/scm-manager
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>SCM-Manager Plugin-Backend</h1>
<ul>
<#list plugins as plugin>
<li>
<a href="detail/${plugin.groupId}/${plugin.artifactId}.html">${plugin.name}</a>
</li>
</#list>
</ul>
</body>
</html>
<#include "template/footer.html">

View File

@@ -0,0 +1,971 @@
/*
Theme Name: Portfolio Press
Description: Portfolio Press an excellent theme for showcasing your photography, art, web sites, or other projects. It also works nicely as a regular blog site. An options panel is included for uploading logos and and changing the layout. For a video screencast showing how to set up the portfolio, visit http://wptheming.com/portfolio-theme.
Author: Devin Price
Author URI: http://wptheming.com/
Theme URI: http://wptheming.com/portfolio-theme/
Version: 0.7.5
License: GNU General Public License
License URI: license.txt
Tags: translation-ready, microformats, two-columns, custom-menu
Credits:
Portfolio was built on the solid foundation of Toolbox:
http://wordpress.org/extend/themes/toolbox
Styles, especially the menus and buttons, were inspired by Canvas:
http://www.woothemes.com/2010/02/canvas/
Jquery rollovers for portfolio items was based on code by:
http://graphpaperpress.com/themes/workspace/
Uses Custom Post Type Archives plugin to enable portfolio paging and permalinks:
http://www.cmurrayconsulting.com/software/wordpress-custom-post-type-archives/
*/
/* Reset */
/* http://meyerweb.com/eric/tools/css/reset/ | v1.0 | 20080212 */
body, html { height: 100%; }
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
:focus { outline: 0; }/* remember to define focus styles! */
del { text-decoration: line-through; }
table { border-collapse: collapse; border-spacing: 0; }/* tables still need 'cellspacing="0"' in the markup */
/* Floating & Alignment */
.fl {float: left;}
.fr {float: right;}
/* Clear Floats */
.col-width:after {content: "."; display: block;height: 0;clear: both; visibility: hidden;}
.fix {clear: both;height: 1px;margin: -1px 0 0;overflow: hidden;}
html body * span.clear,
html body * div.clear,
html body * li.clear,
html body * dd.clear
{
background: none;
border: 0;
clear: both;
display: block;
float: none;
font-size: 0;
list-style: none;
margin: 0;
padding: 0;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}/* http://sonspring.com/journal/clearing-floats */
/* Base Styles */
body {
font: 14px/20px Arial, Helvetica, Sans-serif;
color: #555;
background: #fff;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
font-family:Georgia, serif;
color: #111;
font-weight:normal;
}
h1 {
font-size:28px;
}
h2 {
font-size:26px;
}
h3 {
font-size:18px;
}
h4 {
font-size:16px;
}
h5, h6 {
font-size: 14px;
}
p {
font:16px/24px Georgia, serif;
margin:0;
}
hr {
background-color: #ddd;
border:0;
height: 1px;
margin-bottom: 20px;
}
input, textarea {
padding: 7px 0 7px 7px;
border-color: #ccc #efefef #efefef #ccc;
border-width:1px;
border-style:solid;
}
strong {
font-weight: bold;
}
cite,
em,
i {
font-style: italic;
}
big {
font-size: 131.25%;
}
ins {
background: #ffc;
text-decoration: none;
}
blockquote {
font-style: italic;
padding: 0 3em;
}
blockquote cite,
blockquote em,
blockquote i {
font-style: normal;
}
pre {
background: #f7f7f7;
color: #222;
line-height: 18px;
margin-bottom: 18px;
padding: 1.5em;
font-family: "Courier 10 Pitch", Courier, monospace;
}
code {
font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr,
acronym {
border-bottom: 1px dotted #666;
cursor: help;
}
sup,
sub {
height: 0;
line-height: 1;
vertical-align: baseline;
position: relative;
}
sup {
bottom: 1ex;
}
sub {
top: .5ex;
}
/* Text meant only for screen readers */
.screen-reader-text {
position: absolute;
left: -9000em;
}
/* Hyperlinks */
a:link, a:visited {
color: #106177;
text-decoration:none;
}
a:hover {
text-decoration:underline;
}
h1 a:link, h1 a:visited, h2 a:link, h2 a:visited, h3 a:link, h3 a:visited, h4 a:link, h4 a:visited, h5 a:link, h5 a:visited, h6 a:link, h6 a:visited {
text-decoration: none;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
text-decoration: underline;
}
/* Structure */
#main {
background:#fff url(images/bg-texture.png);
padding:40px 0 20px 0;
}
.col-width {
width: 980px;
margin: 0 auto;
}
/* Navigation */
#navigation {
display:block;
float:right;
font:14px/14px Helvetica, Arial, sans-serif;
padding:20px 0 10px;
}
#navigation ul {
z-index:99;
margin:0;
padding:0;
list-style:none;
}
#navigation ul a {
position:relative;
color:#fff;
display:block;
z-index:100;
padding:5px 10px;
line-height:18px;
text-decoration:none;
}
#navigation ul a:hover, #navigation ul .current-page-item, #navigation ul .current-menu-parent, #navigation ul .current-menu-item {
background:#666;
}
#navigation ul li {
float:left;
width: auto;
margin-left:10px;
margin-bottom:10px;
}
#navigation ul li a.sf-with-ul {
padding-right:25px;
}
/* Drop-down menus */
#navigation ul ul .current-page-item, #navigation ul ul .current-menu-parent, #navigation ul ul .current-menu-item {
background:#ccc;
}
#navigation ul li ul {
background: #FFF;
position: absolute;
left: -999em;
width: 180px;
border: 1px solid #666;
border-width:1px;
z-index:999;
margin-left:0;
}
#navigation ul li ul li {
background:#eee;
border-top:1px solid #ccc;
border-bottom:1px solid #ddd;
margin-left:0px;
margin-bottom:0px;
}
#navigation ul li ul li a {
width:160px;
color:#555;
font-size:0.9em;
line-height:18px;
}
#navigation ul li ul li a.sf-with-ul {
padding:5px 10px;
}
#navigation ul li ul li a:hover, #navigation ul ul .current-menu-item {
background:#c6c6c6;
color:#111;
}
#navigation ul li ul ul {
margin: -30px 0 0 180px;
}
#navigation ul li:hover, #navigation ul li.hover {
position:static;
background:#666;
}
#navigation ul ul li:hover, #navigation ul ul li.hover {
background:#eee;
}
#navigation ul li:hover ul, #navigation ul li.sfhover ul, #navigation ul li li:hover ul, #navigation ul li li.sfhover ul, #navigation ul li li li:hover ul, #navigation ul li li li.sfhover ul, #navigation ul li li li li:hover ul, #navigation ul li li li li.sfhover ul {
left:auto;
}
#navigation ul .sf-sub-indicator {
background: url(images/arrow-down.png) no-repeat;
position:absolute;
display:block;
right:0.4em;
top:0.8em;
width:10px;
height:10px;
text-indent:-999em;
overflow:hidden;
}
#navigation li ul .sf-sub-indicator {
background:url(images/arrow-right.png) no-repeat;
}
/* CSS3 Menu Effects */
#navigation ul a, #navigation ul .current-page-item, #navigation ul .current-menu-parent, #navigation ul li:hover, #navigation ul li.hover, #navigation ul .current-menu-item {
border-radius:2px;
-moz-border-radius:2px;
-webkit-border-radius:2px;
}
#navigation ul ul li, #navigation ul ul li a, #navigation ul ul li:hover, #navigation ul ul .current-menu-item, #navigation ul ul .current-menu-parent {
border-radius:0;
-moz-border-radius:0;
-webkit-border-radius:0;
}
/* Branding */
#branding {
position:relative;
display:block;
background:#000;
padding:30px 0 30px;
}
#logo {
float:left;
}
#logo #site-title, #logo #site-description {
font-family:Georgia, serif;
color: #fff;
}
#logo #site-title a {
color:#fff;
font-size:40px;
line-height:40px;
text-transform:none;
font-weight:normal;
text-decoration:none;
}
#logo #site-title a:hover {
text-decoration:underline;
}
#logo #site-description {
display:block;
color:#ddd;
font:italic 14px Georgia, serif;
margin-top:5px;
}
/* Content */
#content {
padding:0 0 40px;
float:left;
position:relative;
width:640px;
}
/* Sidebar */
#sidebar {
overflow:hidden;
float:right;
width:240px;
}
/* Layouts */
.layout-2cl #content, .layout-2cl #portfolio {float:right;}
.layout-2cl #sidebar {float:left;}
/* Footer */
#colophon {
display:block;
padding: 20px 0;
border-top: 1px solid #ddd;
background:#fff;
}
#footer-widgets {
border-bottom:1px dotted #ddd;
}
#footer-widgets .block {
padding:20px 20px 0 0;
width:230px;
float:left;
}
#footer-widgets .footer-widget-4 {
padding:20px 0px 0 0;
}
#colophon #site-generator {
margin-top:20px;
}
#colophon #site-generator p {
color:#333;
font-family: Arial, Helvetica, sans-serif;
font-weight:bold;
font-size:13px;
}
/* Posts */
#content article {
display:block;
clear:both;
margin-bottom:40px;
}
#content img {
max-width:630px;
height:auto;
}
.entry-meta {
padding-top:10px;
margin: 0 0 25px 0;
font:11px/11px "Trebuchet MS", Arial, Helvetica, sans-serif;
text-transform:uppercase;
display:block;
clear:both;
}
.entry-utility {
clear:both;
}
.sticky {
/* Theme Review Requirement */
}
.bypostauthor {
/* Theme Review Requirement */
}
/* Typographic Elements */
#content h1.entry-title {
font-size:28px;
line-height:32px;
border-bottom:1px solid #ddd;
margin-bottom:20px;
padding-bottom: 16px;
}
#content h1 {
padding-bottom: 20px;
}
#content h2 {
padding-bottom:20px;
}
#content h3 {
padding-bottom:10px;
}
#content p {
margin:0 0 20px 0;
}
#content blockquote {
background:url(images/blockquote.png) no-repeat 0 12px;
padding: 10px 20px 10px 50px;
color: #444;
}
#content blockquote p {
font-style:italic;
}
#content ul {
margin: 0 0 15px 0;
padding: 0 0 0 30px;
}
#content ul ul {
margin: 0;
}
#content ul li {
list-style-type: circle;
}
#content ul ul li {
list-style-type: disc;
}
#content ol {
margin: 0 0 15px 0;
padding: 0 0 0 30px;
}
#content ol ol {
margin: 0;
}
#content ol li {
list-style-type: upper-latin;
}
#content ol li ol li {
list-style-type: lower-latin;
}
/* Images */
#content img, img.thumbnail {
padding: 5px;
border: 1px solid #ddd;
background:#F8F8F8;
background:rgba(255, 255, 255, 0.7);
}
img.wp-smiley {
padding: 0;
border: none;
}
.alignleft {
float: left;
width: auto;
margin: 5px 15px 5px 0;
}
.alignright {
float: right;
width: auto;
margin: 5px 0 5px 15px;
}
.aligncenter {
clear: both;
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom:10px;
}
#content .wp-caption {
padding: 1px;
text-align:center;
background:#F8F8F8;
background:rgba(255, 255, 255, 0.7);
border: solid 1px #ddd;
}
#content .wp-caption img {
margin:0;
padding:4px 0;
background:none;
border:0;
}
#content .wp-caption-text {
margin:0;
padding:0;
font:11px/22px Arial, Helvetica, sans-serif;
text-align:center;
}
.gallery .gallery-caption {
color: #666;
font-size: 11px;
margin:0 0 12px;
}
/* Portfolio Posts */
#portfolio {
padding:0 0 40px;
float:left;
position:relative;
width:685px;
}
#portfolio .portfolio-item {
width:215px;
height:175px;
background-color:#000;
border:1px solid #ccc;
float:left;
margin:0 15px 15px 0;
}
#portfolio .last {
margin-right:0px;
}
#portfolio .thumb {
display:block;
width:215px;
height:175px;
}
#portfolio .nothumb {
display:block;
width:195px;
height:85px;
padding:80px 10px 10px 10px;
font-weight:bold;
text-align:center;
}
#portfolio a.nothumb:hover {
text-decoration:none;
}
#portfolio a.title-overlay {
position:absolute;
padding:5px 10px;
height:165px;
margin-top:-165px;
width:195px;
z-index:1;
display:block;
font-size:18px;
font-weight:bold;
color:#fff;
}
#portfolio a.title-overlay:hover {
text-decoration:none;
}
/* Increase the size of the content area for templates without sidebars */
.full-width #content,
#portfolio.full-width {
width: 980px;
}
#portfolio.full-width .portfolio-item {
width:308px;
height:220px;
}
/* Pagination / WP-Pagenavi */
/* If you're using PageNavi you should turn the css in its settings page */
.wp-pagenavi {
clear:both;
font-size:12px;
padding:10px 15px;
border:1px solid #ddd;
border-width:1px 0 1px;
}
#navigation ul-entries a, .wp-pagenavi a:link, .wp-pagenavi a:visited, .wp-pagenavi .current, .wp-pagenavi .on, .wp-pagenavi a:hover, .wp-pagenavi span.extend, .wp-pagenavi span.pages {
display: block;
font:italic 12px/16px Georgia, serif;
color:#777;
text-decoration:none;
padding:0;
}
#navigation ul-entries a:hover {
text-decoration:underline;
}
.wp-pagenavi a:link, .wp-pagenavi a:visited {
display: inline;
text-decoration: none;
background: #fff;
background:rgba(fff, 0, 0, 0.1);
color: #666;
padding: 3px 7px;
border:1px solid #ddd;
border:1px solid rgba(0, 0, 0, 0.2);
margin-left:10px;
}
.wp-pagenavi .current, .wp-pagenavi .on, .wp-pagenavi a:hover {
display:inline;
padding: 3px 7px;
background: #fff;
background:rgba(fff, 0, 0, 0.5);
border:1px solid #bbb;
margin-left:10px;
}
.wp-pagenavi span.extend, .wp-pagenavi span.pages {
display:inline;
background:none;
border:none;
color:#666;
}
#content nav, #portfolio nav {
clear:both;
display: block;
overflow: hidden;
}
#content nav .nav-previous, #portfolio nav .nav-previous {
float: left;
width: 50%;
}
#content nav .nav-next, #portfolio nav .nav-next {
float: right;
text-align: right;
width: 50%;
}
#nav-below {
margin: 1em 0 0 0;
}
.page-link {
margin: 0 0 1em 0;
}
/* Reverse order on single-portfolio pages */
.single-portfolio #content nav .nav-previous {
float: right;
text-align: right;
width: 50%;
}
.single-portfolio #content nav .nav-next {
float: left;
text-align: left;
width: 50%;
}
/* Widgets */
.widget-container {
margin: 0 0 30px 0;
font-size:12px;
}
.widget-container h3 {
margin: 0 0 20px 0;
padding:0 0 15px;
text-transform:uppercase;
font:normal bold 14px Arial, Helvetica, sans-serif;
color:#666;
border-bottom:3px solid #ddd;
}
.widget-container p {
font:12px/20px Arial, Helvetica, sans-serif;
margin-bottom:15px;
}
.widget-container ul {
clear:both;
padding-left:0px;
list-style:none;
}
.widget-container ul li a {
padding: 0 0 0 5px;
line-height: 22px;
text-decoration: none;
}
.widget-container ul li a:hover {
text-decoration:underline;
}
.widget-container ul ul {
padding: 0 0 0 15px;
border-top: none;
}
#colophon-widgets {
border-top:1px solid #ddd;
padding:10px 0;
}
#colophon-widgets .block {
padding:20px 0 0 20px;
width:210px;
float:left;
}
/* Calendar */
#wp-calendar {
width:95%;
margin-bottom:15px;
clear:both;
padding:0;
}
#wp-calendar caption {
padding:0 0 10px;
}
#wp-calendar th, #wp-calendar td {
text-align:center;
background:rgba(0, 0, 0, .05);
padding:5px;
}
#wp-calendar td {
background:transparent;
}
#wp-calendar td, table#wp-calendar th {
padding:3px 0;
}
/* Search */
.widget-container input#s {
float:left;
width:60%;
padding: 7px 0 7px 7px;
margin-right:5px;
border-color: #ccc #efefef #efefef #ccc;
border-width:1px;
border-style:solid;
}
.widget-container input.submit {
margin-left:5px;
float:left;
}
#searchsubmit {
margin:0;
font-weight:bold;
background: #666 url(images/gradient-overlay.png);
display: inline-block;
padding: 5px 6px 6px;
color: #fff;
text-decoration: none;
position: relative;
cursor: pointer;
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
border:none;
border: 1px solid rgba(0, 0, 0, .25);
border-bottom-color: rgba(0, 0, 0, .35);
font-family:Arial, sans-serif;
font-size:12px;
line-height:12px;
}
/* COMMENTS */
#comments {
position:relative;
margin:40px 0 0;
padding:40px 0 0 0;
border-top:1px solid #ddd;
border-top:1px solid rgba(0, 0, 0, 0.08);
}
#comments .commentlist {
padding-left:0px;
}
#comments h3 {
color:#333;
font-weight:normal;
margin-bottom:20px;
}
#comments .comment.thread-even {
background: #fafafa;
background: rgba(0, 0, 0, 0.02);
border-bottom:1px solid #ddd;
border-bottom:1px solid rgba(0, 0, 0, 0.07);
}
#comments .comment {
margin-top:10px;
width:100%;
list-style-type:none;
}
#comments .comment .comment-body {
position:relative;
padding: 20px;
}
#comments .comment-head {
margin: 0 0 15px 0;
}
#comments .comment-author img {
margin: 0;
vertical-align: middle;
border:1px solid #ddd;
padding:3px;
background:#f6f6f6;
float:left;
margin: 0 15px 5px 0;
}
#comments .comment-author cite {
font-weight:bold;
}
#comments .comment-meta {
font-size: 12px;
}
#comments .comment-entry p {
margin: 0 0 10px 0;
}
#comments .reply {
padding-top:10px;
}
#comments ul.children {
margin:10px 10px 0 25px;
padding:0;
}
#comments ul.children li {
border-top:1px solid #ddd;
}
#comments .cancel-comment-reply {
margin:10px 0;
}
#comments h3#pings {
margin-top:25px;
}
#comments .pingbacks li.pingback {
margin:10px 0;
}
#comments .pingbacks li.pingback .reply {
display:none;
}
/* Comments Form */
#respond h3 {
color:#333;
font-weight:normal;
margin-bottom:20px;
}
#respond label {
font-size:13px;
color:#777;
}
#commentform {
margin: 15px 0 0 0;
}
#commentform input.txt, #commentform textarea {
font:14px/14px Arial, Helvetica, sans-serif;
border-color: #ccc #efefef #efefef #ccc;
border-width:1px;
border-style:solid;
}
#commentform input.txt {
color:#666;
background: #fcfcfc;
width: 170px;
margin: 0 5px 10px 0;
padding: 5px 7px;
}
#commentform textarea {
color:#666;
background: #fcfcfc;
width: 95%;
padding: 5px 7px;
}
#commentform .form-allowed-tags {
font-size:12px;
color:#666;
}
#commentform #submit, .reply a {
margin: 10px 0 0 0;
font-weight:bold;
font-family:Arial, sans-serif;
background: #666 url(images/gradient-overlay.png);
display: inline-block;
padding: 5px 10px 6px;
color: #fff;
text-decoration: none;
position: relative;
cursor: pointer;
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
border:none;
border: 1px solid rgba(0, 0, 0, .25);
border-bottom-color: rgba(0, 0, 0, .35);
}
.reply a {font-size:11px; padding: 2px 6px;}
/* Pingbacks / Trackbacks */
h3#pings {
margin: 25px 0 10px 0;
}
.pinglist li {
margin: 0 0 0 20px;
list-style-type: decimal;
}
.pinglist li .author {
font-weight: bold;
font-size: 15px;
}
.pinglist li .date {
font-size: 11px;
}
.pinglist li .pingcontent {
display: block;
margin: 10px 0;
}
/* Search Form */
.error404 #searchform {
margin-bottom:30px;
}
/* Other Classes */
.clear {
clear:both;
}

View File

@@ -0,0 +1,88 @@
<!-- content end -->
</div>
</article>
</div>
<div class="primary" id="sidebar">
<ul class="xoxo">
<li class="widget-container widget_links" id="linkcat-3">
<h3 class="widget-title">Links</h3>
<ul class="xoxo blogroll">
<li>
<a target="_blank" href="https://bitbucket.org/sdorra/scm-manager/wiki/download">Download</a>
</li>
<li>
<a target="_blank" href="https://bitbucket.org/sdorra/scm-manager/issues?status=new&amp;status=open">Issue Tracker</a>
</li>
<li>
<a target="_blank" href="http://groups.google.com/group/scmmanager">Mailing List</a>
</li>
<li>
<a target="_blank" href="https://bitbucket.org/sdorra/scm-manager/wiki">Wiki</a>
</li>
</ul>
</li>
<li class="widget-container widget_recent_entries" id="recent-posts-3">
<h3 class="widget-title">Latest News</h3>
<ul>
<li><a title="Bamboo Plugin" href="http://www.scm-manager.org/plugins/bamboo-plugin/">Bamboo Plugin</a></li>
<li><a title="Jenkins and JIRA Plugin" href="http://www.scm-manager.org/plugins/jenkins-and-jira-plugin/">Jenkins and JIRA Plugin</a></li>
<li><a title="New Server Part 2" href="http://www.scm-manager.org/server/new-server-part-2/">New Server Part 2</a></li>
</ul>
</li>
<li class="widget-container widget_links">
<h3 class="widget-title">Social</h3>
<div id="social4i" style="position: relative; display: block;">
<div class="socialicons" style="float:left;margin-right: 8px;">
<div style="float: left;" id="fb-root" class=" fb_reset">
<div style="position: absolute; top: -10000px; height: 0pt; width: 0pt;"></div>
</div>
<script src="http://connect.facebook.net/en_US/all.js#appId=221636557882194&amp;xfbml=1"></script>
<fb:like font="" show_faces="true" width="52" layout="box_count" send="false" href="http://www.scm-manager.org" class=" fb_edge_widget_with_comment fb_iframe_widget"></fb:like>
</div>
<div class="socialicons" style="float:left;margin-right: 8px;">
<div id="___plusone_0" style="height: 60px; width: 50px; display: inline-block; text-indent: 0pt; margin: 0pt; padding: 0pt; background: none repeat scroll 0% 0% transparent; border-style: none; float: none; line-height: normal; font-size: 1px; vertical-align: baseline;"><iframe width="100%" scrolling="no" frameborder="0" title="+1" vspace="0" tabindex="-1" style="position: static; left: 0pt; top: 0pt; width: 50px; margin: 0px; border-style: none; height: 60px; visibility: visible;" src="https://plusone.google.com/u/0/_/+1/fastbutton?url=http%3A%2F%2Fwww.scm-manager.org%2F&amp;size=tall&amp;count=true&amp;annotation=&amp;hl=en-US&amp;jsh=r%3Bgc%2F23803279-4555db52#id=I1_1315911840392&amp;parent=http%3A%2F%2Fwww.scm-manager.org&amp;rpctoken=169464098&amp;_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe" name="I1_1315911840392" marginwidth="0" marginheight="0" id="I1_1315911840392" hspace="0" allowtransparency="true"></iframe></div>
</div>
<div class="socialicons" style="float:left;margin-right: 8px;">
<iframe scrolling="no" frameborder="0" allowtransparency="true" src="http://platform.twitter.com/widgets/tweet_button.html#_=1315911839879&amp;count=vertical&amp;id=twitter_tweet_button_0&amp;lang=en&amp;original_referer=http%3A%2F%2Fwww.scm-manager.org%2F&amp;text=SCM-Manager%20%7C%20The%20easiest%20way%20to%20share%20your%20Git%2C%20Mercurial%20and%20Subversion%20repositories%20over%20http.&amp;url=http%3A%2F%2Fwww.scm-manager.org" class="twitter-share-button twitter-count-vertical" style="width: 55px; height: 62px;" title="Twitter For Websites: Tweet Button"></iframe><script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
</div>
<div style="clear: both;"></div>
</div>
</li>
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
<li class="widget-container widget_links">
<h3 class="widget-title">Build and test</h3>
<a href="https://scm-manager.ci.cloudbees.com/">
<img alt="Cloudbees" src="http://static-www.cloudbees.com/images/badges/BuiltOnDEV.png">
</a>
</li>
<li class="widget-container widget_links">
<h3 class="widget-title">Donate</h3>
<form method="post" action="https://www.paypal.com/cgi-bin/webscr">
<input type="hidden" value="_s-xclick" name="cmd">
<input type="hidden" value="GLUQJWKA7EPDE" name="hosted_button_id">
<input type="image" border="0" alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif">
<img width="1" height="1" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" alt="">
</form>
</li>
</ul>
</div>
</div>
</div>
</div>
<footer id="colophon">
<div class="col-width">
<div id="site-generator">
<p>&copy; Sebastian Sdorra</p>
</div>
</div>
</footer>
</div>
</body>
</html>

View File

@@ -0,0 +1,92 @@
<!--
Copyright (c) 2010, Sebastian Sdorra
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of SCM-Manager; nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
http://bitbucket.org/sdorra/scm-manager
-->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SCM-Manager Plugin-Backend</title>
<link rel="stylesheet" type="text/css" media="all" href="${contextPath}/template/css/style.css" />
<!--[if lt IE 9]>
<script src="/html5.js"></script>
<![endif]-->
<base href="${contextPath}" />
</head>
<body class="home page page-id-8 page-template-default logged-in admin-bar layout-2cr">
<div id="wrapper">
<header id="branding">
<div class="col-width">
<hgroup id="logo">
<h1 id="site-title">
<a href="http://www.scm-manager.org">SCM-Manager Plugins</a>
</h1>
<h2 id="site-description">
The easiest way to share your Git, Mercurial and Subversion repositories over http.
</h2>
</hgroup>
<nav id="navigation">
<h1 class="screen-reader-text">Main menu</h1>
<div class="skip-link screen-reader-text"><a title="Skip to content" href="#content">Skip to content</a></div>
<div class="menu">
<ul>
<li class="current_page_item">
<a title="Home" href="http://www.scm-manager.org/">Home</a>
</li>
<li class="page_item page-item-36">
<a title="News" href="http://www.scm-manager.org/news/">News</a>
</li>
<li class="page_item page-item-15">
<a title="Screenshots" href="http://www.scm-manager.org/screenshots/">Screenshots</a>
</li>
<li class="page_item page-item-45">
<a title="Videos" href="http://www.scm-manager.org/videos/">Videos</a>
</li>
</ul>
</div>
</nav>
</div>
</header>
<div id="main">
<div class="col-width">
<div id="primary">
<div id="content">
<article class="page type-page status-publish hentry">
<header class="entry-header">
<h1 class="entry-title">${title}</h1>
</header>
<div class="entry-content">
<!-- content begin -->