Created development theme in ccm-bundle-devel-wildfly
parent
ae330b71df
commit
23f1fb1992
|
|
@ -208,6 +208,14 @@
|
|||
<include>assets/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-core</artifactId>
|
||||
<type>jar</type>
|
||||
<includes>
|
||||
<include>themes/</include>
|
||||
</includes>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>org.libreccm</groupId>
|
||||
<artifactId>ccm-core</artifactId>
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
|
|
@ -0,0 +1,2 @@
|
|||
example.setting=Properties from the Freemarker theme.
|
||||
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
* {
|
||||
box-sizing: border-box;
|
||||
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
header {
|
||||
padding: 1em 2em;
|
||||
}
|
||||
|
||||
header img {
|
||||
display: block;
|
||||
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
width: 20vw;
|
||||
max-width: 1020px;
|
||||
max-height: 566px;
|
||||
}
|
||||
|
||||
main {
|
||||
max-width: 55em;
|
||||
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
padding: 2em 1em;
|
||||
}
|
||||
|
||||
main h1 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
main form.login {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
main form.login .form-row {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
main form.login button[type=submit] {
|
||||
display: block;
|
||||
|
||||
margin-top: 0.75em;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
footer {
|
||||
background-color: #71ac52;
|
||||
color: #fff;
|
||||
|
||||
padding: 3em 1em;
|
||||
|
||||
width: 100vw;
|
||||
}
|
||||
|
||||
footer p {
|
||||
text-align: center;
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<footer>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/impressum">
|
||||
<!--Impressum-->
|
||||
${localize("footer.impressum")}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/privacy">
|
||||
<!--Privacy-->
|
||||
${localize("footer.privacy")}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<code>imported</code>
|
||||
</li>
|
||||
</ul>
|
||||
</footer>
|
||||
|
|
@ -0,0 +1 @@
|
|||
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<#import "../main.html.ftl" as main>
|
||||
|
||||
<@main.ccm_main>
|
||||
<h1>${LoginMessages['login.title']}</h1>
|
||||
<#if (loginFailed)>
|
||||
<div class="alert-error">
|
||||
${LoginMessages['login.errors.failed']}
|
||||
</div>
|
||||
</#if>
|
||||
<form action="${mvc.uri('LoginController#processLogin')}"
|
||||
class="login"
|
||||
method="post">
|
||||
<div class="form-row">
|
||||
<label for="login">${LoginMessages['login.screenname.label']}</label>
|
||||
<input id="login" name="login" required="true" type="text" />
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<label for="password">
|
||||
${LoginMessages['login.password.label']}
|
||||
</label>
|
||||
<input id="password"
|
||||
name="password"
|
||||
required="true"
|
||||
type="password" />
|
||||
</div>
|
||||
<input type="hidden"
|
||||
name="returnUrl"
|
||||
value="${returnUrl}" />
|
||||
|
||||
<button type="submit">
|
||||
${LoginMessages['login.submit']}
|
||||
</button>
|
||||
</form>
|
||||
</@main.ccm_main>
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Category page</title>
|
||||
<link rel="stylesheet" href="${getContextPath()}/theming/ccm/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<h1>${LoginMessages['login.password_recovered.title']}</h1>
|
||||
<p>${LoginMessages['login.password_recovered.message']}</p>
|
||||
</main>
|
||||
<#include "footer.html.ftl">
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Category page</title>
|
||||
<link rel="stylesheet" href="${getContextPath()}/theming/ccm/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<h1>${LoginMessages['login.recover_password.title']}</h1>
|
||||
<# if (failedToSendRecoverMessage)>
|
||||
<div class="alert-error">
|
||||
${LoginMessages['login.errors.failedToSendRecoverMessage']}
|
||||
</div>
|
||||
</#if>
|
||||
<form action="${mvc.url('LoginController#recoverPassword')}"
|
||||
method="post">
|
||||
<label for="email">${LoginMessages['login.email.label']}</label>
|
||||
<input id="email" name="email" required="true" type="text" />
|
||||
|
||||
<button type="submit">
|
||||
${LoginMessages['login.recover_password.submit']}
|
||||
</button>
|
||||
</form>
|
||||
</main>
|
||||
<#include "footer.html.ftl">
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Category page</title>
|
||||
<link rel="stylesheet" href="${themeUrl}/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<h1>Logout successful</h1>
|
||||
<p>Logout successful</p>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<#macro ccm_main scripts=[]>
|
||||
<html>
|
||||
<head>
|
||||
<title>Category page</title>
|
||||
<link rel="stylesheet" href="${themeUrl}/styles/style.css" />
|
||||
<#list scripts as script>
|
||||
<script src="${themeUrl}/${script}" />
|
||||
</#list>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<a href="https://www.libreccm.org">
|
||||
<img alt="LibreCCM Logo"
|
||||
src="${themeUrl}/images/libreccm.png" />
|
||||
</a>
|
||||
</header>
|
||||
<main>
|
||||
<#nested>
|
||||
</main>
|
||||
<footer>
|
||||
<p>LibreCCM basic theme. The customize create your own theme.</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
</#macro>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
label.critical=Critical
|
||||
label.error=Error
|
||||
label.ok=OK
|
||||
label.warning=Warning
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
footer.impressum=Impressum
|
||||
footer.privacy=Privacy
|
||||
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
"files": [
|
||||
{
|
||||
"name": "images",
|
||||
"isDirectory": true,
|
||||
"files": [
|
||||
{
|
||||
"name": "libreccm.png",
|
||||
"isDirectory": false,
|
||||
"mimeType": "image/png"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "settings.properties",
|
||||
"isDirectory": false,
|
||||
"mimeType": "text/plain"
|
||||
},
|
||||
{
|
||||
"name": "styles",
|
||||
"isDirectory": true,
|
||||
"files": [
|
||||
{
|
||||
"name": "style.css",
|
||||
"isDirectory": false,
|
||||
"mimeType": "text/css"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "templates",
|
||||
"isDirectory": true,
|
||||
"files": [
|
||||
{
|
||||
"name": "login",
|
||||
"isDirectory": true,
|
||||
"files": [
|
||||
{
|
||||
"name": "login-form.html.ftl",
|
||||
"isDirectory": false,
|
||||
"mimeType": "text/plain"
|
||||
},
|
||||
{
|
||||
"name": "login-password-recovered.html.ftl",
|
||||
"isDirectory": false,
|
||||
"mimeType": "text/plain"
|
||||
}, {
|
||||
"name": "login-recover-password.html.ftl",
|
||||
"isDirectory": false,
|
||||
"mimeType": "text/plain"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "logout",
|
||||
"isDirectory": true,
|
||||
"files": [
|
||||
{
|
||||
"name": "loggedout.html.ftl",
|
||||
"isDirectory": false,
|
||||
"mimeText": "text/plain"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "texts",
|
||||
"isDirectory": true,
|
||||
"files": [
|
||||
{
|
||||
"name": "labels.properties",
|
||||
"isDirectory": false,
|
||||
"mimeType": "text/plain"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "theme-bundle.properties",
|
||||
"isDirectory": false,
|
||||
"mimeType": "text/plain"
|
||||
},
|
||||
{
|
||||
"name": "theme-index.json",
|
||||
"isDirectory": false,
|
||||
"mimeType": "application/json"
|
||||
},
|
||||
{
|
||||
"name": "theme.json",
|
||||
"isDirectory": false,
|
||||
"mimeType": "application/json"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
{
|
||||
"name": "librecms-devel",
|
||||
"type": "freemarker",
|
||||
|
||||
"default-template": "templates/default.html.ftl",
|
||||
|
||||
"mvc-templates": {
|
||||
"default": {
|
||||
"description": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Default Template"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "Default Template",
|
||||
"path": "templates/default.html.ftl",
|
||||
"title": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Default Template"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"login-form": {
|
||||
"description": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Login Form"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "Login Form",
|
||||
"path": "templates/login/login-form.html.ftl",
|
||||
"title": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Login Form"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"login-recover-password": {
|
||||
"description": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Recover lost passwords"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "login-recover-password",
|
||||
"path": "templates/login/login-recover-password.html.ftl",
|
||||
"title": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Recover password"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"login-password-recovered": {
|
||||
"description": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Password recovered"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "login-password-recovered",
|
||||
"path": "templates/login/login-password-recovered.html.ftl",
|
||||
"title": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Password recovered"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"loggedout": {
|
||||
"description": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Logout successful"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "loggedout",
|
||||
"path": "templates/logout/loggedout.html.ftl",
|
||||
"title": {
|
||||
"values": {
|
||||
"value": [
|
||||
{
|
||||
"lang": "en",
|
||||
"value": "Logout succesful"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"views": {
|
||||
"default": {
|
||||
"default": "default",
|
||||
"@default": "default"
|
||||
},
|
||||
"login": {
|
||||
"loginForm": "login-form",
|
||||
"passwordRecovered": "login-password-recovered",
|
||||
"recoverPassword": "login-recover-password"
|
||||
},
|
||||
"logout": {
|
||||
"loggedout": "loggedout"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -72,7 +72,9 @@ public class PageManager {
|
|||
category.getObjectId())));
|
||||
|
||||
if (forCategory.getParentCategory() == null) {
|
||||
return new Page();
|
||||
final Page defaultPage = new Page();
|
||||
defaultPage.setDisplayName("@default");
|
||||
return defaultPage;
|
||||
} else {
|
||||
return findPageForCategory(forCategory.getParentCategory());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -163,6 +163,7 @@ import javax.ws.rs.core.UriInfo;
|
|||
*/
|
||||
@Controller
|
||||
@RequestScoped
|
||||
@Path("/")
|
||||
public class PagesController {
|
||||
|
||||
@Inject
|
||||
|
|
|
|||
|
|
@ -109,8 +109,10 @@ public class ThemesMvc {
|
|||
viewTemplateName = views.get(view);
|
||||
} else {
|
||||
final Map<String, String> defaultAppViews = manifest
|
||||
.getViewsOfApplication(application);
|
||||
if (defaultAppViews.containsKey("default")) {
|
||||
.getViewsOfApplication("default");
|
||||
if (defaultAppViews.containsKey(view)) {
|
||||
viewTemplateName = defaultAppViews.get(view);
|
||||
} else if(defaultAppViews.containsKey("default")) {
|
||||
viewTemplateName = defaultAppViews.get("default");
|
||||
} else {
|
||||
throw new WebApplicationException(
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
}
|
||||
},
|
||||
"name": "Category Page",
|
||||
"path": "categoryPage.html.ftl",
|
||||
"path": "category-page.html.ftl",
|
||||
"title": {
|
||||
"values": {
|
||||
"value": [
|
||||
|
|
@ -128,7 +128,8 @@
|
|||
},
|
||||
"views": {
|
||||
"default": {
|
||||
"default": "category-page"
|
||||
"default": "category-page",
|
||||
"@default": "category-page"
|
||||
},
|
||||
"login": {
|
||||
"loginForm": "login-form",
|
||||
|
|
|
|||
Loading…
Reference in New Issue