You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2020/04/05 09:12:51 UTC

[jspwiki-site] branch jbake updated (c958d9b -> 85aeb6e)

This is an automated email from the ASF dual-hosted git repository.

juanpablo pushed a change to branch jbake
in repository https://gitbox.apache.org/repos/asf/jspwiki-site.git.


    from c958d9b  update FreeMarker to 2.3.30
     new 40e76c0  use latest haddock styles
     new b9f8aa8  update copyright year + remove breadcrumb div to mimic jspwiki-wiki.a.o appereance
     new 85aeb6e  add 'static' part of the translation status page

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/main/config/i18n-header.txt               |  27 +
 src/main/jbake/assets/css/haddock-dark.css    | 746 ++++++++++++++++++++++++++
 src/main/jbake/assets/css/haddock-wysiwyg.css |   1 +
 src/main/jbake/assets/css/haddock.css         |   2 +-
 src/main/jbake/assets/css/jspwiki.css         | 407 +-------------
 src/main/jbake/assets/css/jspwiki_print.css   |  13 +-
 src/main/jbake/assets/js/haddock-edit.js      |   2 +-
 src/main/jbake/assets/js/haddock-wysiwyg.js   |   2 +-
 src/main/jbake/assets/js/haddock.js           |   2 +-
 src/main/jbake/assets/js/jspwiki-common.js    |   2 +-
 src/main/jbake/assets/js/jspwiki-edit.js      |   2 +-
 src/main/jbake/templates/page.ftl             |   3 +-
 12 files changed, 783 insertions(+), 426 deletions(-)
 create mode 100644 src/main/config/i18n-header.txt
 create mode 100644 src/main/jbake/assets/css/haddock-dark.css
 create mode 100644 src/main/jbake/assets/css/haddock-wysiwyg.css


[jspwiki-site] 01/03: use latest haddock styles

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo pushed a commit to branch jbake
in repository https://gitbox.apache.org/repos/asf/jspwiki-site.git

commit 40e76c0f514f4234413deffa57130ca833268cb4
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Apr 5 11:10:38 2020 +0200

    use latest haddock styles
---
 src/main/jbake/assets/css/haddock-dark.css    | 746 ++++++++++++++++++++++++++
 src/main/jbake/assets/css/haddock-wysiwyg.css |   1 +
 src/main/jbake/assets/css/haddock.css         |   2 +-
 src/main/jbake/assets/css/jspwiki.css         | 407 +-------------
 src/main/jbake/assets/css/jspwiki_print.css   |  13 +-
 src/main/jbake/assets/js/haddock-edit.js      |   2 +-
 src/main/jbake/assets/js/haddock-wysiwyg.js   |   2 +-
 src/main/jbake/assets/js/haddock.js           |   2 +-
 src/main/jbake/assets/js/jspwiki-common.js    |   2 +-
 src/main/jbake/assets/js/jspwiki-edit.js      |   2 +-
 10 files changed, 755 insertions(+), 424 deletions(-)

diff --git a/src/main/jbake/assets/css/haddock-dark.css b/src/main/jbake/assets/css/haddock-dark.css
new file mode 100644
index 0000000..528e6a6
--- /dev/null
+++ b/src/main/jbake/assets/css/haddock-dark.css
@@ -0,0 +1,746 @@
+/*
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you 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.
+ */
+/* Inspired by:  https://medium.com/@mwichary/dark-theme-in-a-day-3518dde2955a.
+   Adapted for JSPWIKI,  as delta on top of haddock.css.
+*/
+
+html {
+  /*red / ...
+  --hue: 10;
+  --accent-hue: 185;
+  */
+  /*green / ...
+  --hue: 110;
+  --accent-hue: 285;
+  */
+  /* blue / orange */
+  --hue: 210;
+  --accent-hue: 25;
+
+  --text-color-normal: hsl(var(--hue), 10%, 62%);
+  --text-color-light: hsl(var(--hue), 15%, 35%);
+  --text-color-richer: hsl(var(--hue), 50%, 72%);
+  --text-color-highlight: hsl(var(--accent-hue), 70%, 45%);
+
+  --link-color: hsl(var(--accent-hue), 90%, 70%);
+
+  --accent-color: hsl(var(--accent-hue), 100%, 70%);
+  --error-color: rgb(240, 50, 50);
+
+  --button-background: hsl(var(--hue), 63%, 43%);
+  --button-text-color: black;
+
+  --background: hsla(var(--hue), 20%, 12%, 0.9);
+  --background-sidebar: hsla(var(--hue), 20%, 28%, 0.5);
+  --background-light: hsl(var(--hue), 20%, 28%);
+  --background-lighter: hsla(var(--hue), 20%, 32%, 0.9);
+  --background-light-solid: hsl(var(--hue), 20%, 32%);
+
+  --background-dropdown: hsla(var(--hue), 20%, 20%, 0.95);
+  --background-dialog: hsla(var(--hue), 20%, 20%, 0.95);
+
+  --border-color: var(--background-lighter);
+
+  --context-primary: hsl(200, 100%, 40%); /*#0088cc*/
+  --context-success: hsl(120, 40%, 46%); /*#47a447*/
+  --context-info: hsl(194, 66%, 61%); /*#5bc0de*/
+  --context-info-darker: hsl(193, 53%, 43%); /*10% darker */
+  --context-warning: hsl(35, 85%, 54%); /*#ed9c28*/
+  --context-error: hsl(	2, 65%, 53%); /*#d53f3a*/
+  --color-black: hsl(0, 0%, 7%); /*#111*/
+  --color-white: hsl(0,0%, 100%); /*#fff*/
+
+
+  --button-active: hsl(214, 68%, 58%);
+  --button-active-darker: hsl(214, 68%, 51%);
+  --wikiTriangleColor: var(--button-active);
+  --wikiTriangleSize: 4.8px;
+  --padding-base-horizontal: 12px;
+  --padding-base-vertical: 6px;
+
+}
+
+::selection {
+  color:var(--accent-color);
+  background-color: var(--color-black);
+}
+
+/* --- BOOTSTRAP --- */
+
+.panel {
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+}
+.panel-default .panel-heading {
+  background-color: var(--background-lighter);
+  border-color: var(--border-color);
+  color:inherit;
+}
+
+.list-group-item {
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+}
+
+.nav-tabs {
+  border-color: var(--border-color);
+}
+.nav-tabs > li > a {
+  color:inherit;
+}
+.nav-tabs > li > a:hover {
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+  color:inherit;
+}
+.nav-tabs > li.active > a,
+.nav-tabs > li.active {
+  background:transparent;
+  color:var(--text-color-richer);
+  border-color: var(--border-color);
+  border-bottom-color: var(--background);
+}
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+  background-color: var(--background-lighter);
+  border-color: var(--border-color);
+  color:var(--text-color-richer);
+}
+
+/*.nav-pills > li.active > a,
+.nav-pills > li.active > a:hover,
+.nav-pills > li.active > a:focus {
+
+}*/
+.nav > li > a:hover, .nav > li > a:focus {
+  background-color: var(--background-lighter);
+  border-color: var(--border-color);
+  color:var(--text-color-richer);
+}
+
+
+.btn-default,
+.default {
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+  color:var(--text-color-richer);
+}
+.btn:hover, .btn:focus, .btn.focus,
+.btn-default:hover {
+  background-color: var(--background-lighter);
+  border-color: var(--border-color);
+  color:var(--text-color-richer);
+}
+.btn.disabled:hover {
+  background-color: var(--background-lighter);
+  border-color: var(--border-color);
+}
+.btn-default:active,
+.btn-default:active:hover,
+.btn-default.active,
+.btn-default.active:hover {
+  background-color: var(--background-lighter);
+  border-color: var(--border-color);
+  color:var(--accent-color);
+}
+
+.dropdown-menu {
+  background-color: var(--background-dropdown);
+  border-color: var(--border-color);
+}
+.dropdown-header {
+  color:var(--text-color-richer);
+}
+.dropdown-menu .divider {
+  background-color: var(--border-color);
+}
+.dropdown-menu > li > a {
+  color:var(--text-color-normal);
+}
+.dropdown-menu > li > a:hover {
+  background-color: var(--background-lighter);
+  color:inherit;
+}
+
+.form-control {
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+  color:var(--text-color-normal);
+}
+.form-control:focus {
+  border-color: var(--accent-color);
+}
+.form-control[disabled] {
+  background-color: transparent;
+  border-color: var(--border-color);
+}
+.form-frame {
+  border-color: var(--border-color);
+}
+
+label.form-switch > input[type=checkbox],
+input[type=checkbox].form-switch {
+	box-shadow:inset -1.25em 0 0 1px var(--text-color-normal);
+    background-color:var(--background-light);
+    border:1px solid var(--text-color-normal);
+}
+label.form-switch > input[type=checkbox]:hover,
+input[type=checkbox].form-switch:hover {
+	box-shadow:inset -1.25em 0 0 1px var(--text-color-normal);
+    border: 1px solid var(--text-color-normal);
+}
+label.form-switch > input[type=checkbox]:checked,
+input[type=checkbox].form-switch:checked {
+	box-shadow: inset 1.25em 0 0 1px var(--button-active);
+    border: 1px solid var(--button-active);
+}
+label.form-switch > input[type=checkbox]:checked:hover,
+input[type=checkbox].form-switch:checked:hover {
+	box-shadow:inset 1.25em 0 0 1px var(--button-active-darker);
+    border: 1px solid var(--button-active-darker);
+}
+label.form-switch > input[type=checkbox]:focus,
+input[type=checkbox].form-switch:focus {
+	background:none !important;
+}
+/*
+.form-group .btn.active {
+    color:var(--text-color-normal);
+    background-color:var(--context-info);
+}
+*/
+
+select,
+.form-group select {
+  border-color: var(--border-color);
+  color:var(--text-color-normal);
+
+  background-color: var(--background-light);
+  background-image:
+	linear-gradient(120deg, var(--wikiTriangleColor) var(--wikiTriangleSize), transparent var(--wikiTriangleSize) ),
+    linear-gradient(-120deg, var(--wikiTriangleColor) var(--wikiTriangleSize), transparent var(--wikiTriangleSize) );
+
+  background-position:
+	calc( var(--padding-base-horizontal) - 1px + var(--wikiTriangleSize)/2 ) calc(var(--padding-base-vertical)*2),
+	calc( var(--padding-base-horizontal) - var(--wikiTriangleSize)*3/2 ) calc(var(--padding-base-vertical)*2);
+
+
+}
+
+input[type=checkbox]:focus,
+select:focus,
+.form-group select:focus {
+  outline-color: var(--accent-color);
+}
+
+.modal {
+  background-color: var(--background-dropdown);
+  color:var(--text-color-normal);
+}
+
+/*pagination.less*/
+.pagination {
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+}
+.pagination a {
+  color:var(--link-color);
+  text-decoration:none;
+}
+.pagination .cursor,
+.pagination a:hover {
+  background-color: var(--background-lighter);
+  border-color: var(--border-color);
+  color: var(--accent-color);
+}
+
+/* --- JSPWiki --- */
+
+/* --- variables.less --- */
+
+/* --- type.less --- */
+
+hr,.hr {
+  border-color: var(--border-color);
+}
+
+mark, .highlight {
+  background-color: var(--accent-color) !important;
+  color:var(--text-color-highlight);
+}
+
+span.text-white, div.text-white, .bg.dark + .bg-overlay { color:var(--text-color-normal;); }
+/*span.text-black, div.text-black, .bg.light + .bg-overlay { color:(var(--text-???); } */
+
+.text-primary { color: var(--context-primary); }
+.text-success { color: var(--context-success); }
+.text-info { color: var(--context-info); }
+.text-warning { color: var(--context-warning); }
+.text-error,
+.text-danger { color: var(--context-error); }
+
+/* primary */
+.panel-primary > .panel-heading,
+.bg-primary {
+  background-color: var(--context-primary);
+  border-color: var(--context-primary);
+  color:var(--color-white);
+}
+.panel-primary > .panel-heading a:link,
+.bg-primary a:link {
+  color:var(--color-black);
+}
+/* success */
+.panel-success > .panel-heading,
+.success,
+.bg-success {
+  background-color: var(--context-success);
+  border-color: var(--context-success);
+  color:var(--color-black);
+}
+.panel-success > .panel-heading a:link,
+.success a:link,
+.bg-success a:link {
+  text-decoration:underline;
+}
+/* info */
+.panel-info > .panel-heading,
+.info, .information,
+.bg-info  {
+  background-color: var(--context-info);
+  border-color: var(--context-info);
+  color:var(--color-black);
+}
+.panel-info > .panel-heading a:link,
+.info a:link, .information a:link,
+.bg-info a:link {
+  text-decoration:underline;
+}
+/* warning */
+.panel-warning > .panel-heading,
+.alert-warning,
+.warning,
+.bg-warning {
+  background-color: var(--context-warning);
+  border-color: var(--context-warning);
+  color:var(--color-black);
+}
+.panel-warning > .panel-heading a:link,
+.alert-warning a:link,
+.warning a:link,
+.bg-warning  a:link {
+  text-decoration:underline;
+}
+/* danger, error */
+.panel-danger > .panel-heading,
+.error,.danger,
+.bg-danger  {
+  background-color: var(--context-error);
+  border-color: var(--context-error);
+  color:var(--color-black);
+}
+.panel-danger > .panel-heading a:link,
+.error a:link,.danger a:link,
+.bg-danger a:link  {
+  text-decoration:underline;
+}
+
+span.label { color:var(--color-black); }
+
+pre {
+  background-color:var(--background-light);
+  border-color:var(--border-color);
+  color:var(--text-color-richer);
+}
+
+code,
+tt {
+  background-color:var(--background-light);
+  border-color:var(--border-color);
+  color:var(--text-color-richer);
+}
+
+a.list-group-item:hover,
+.list-hover li:hover {
+  background-color:var(--background-lighter);
+  color:inherit;
+}
+
+.tree ul li::before,
+.tree ul li::after {
+  background: var(--border-color);
+}
+
+.list-hover li:hover {
+  background-color:var(--background-lighter);
+}
+
+.hover {
+    background-color:var(--background-lighter);
+}
+
+a.slimbox-link:after,
+.slimbox-btn:before,
+a:visited,
+a:link { color:var(--link-color); }
+
+a.createpage {
+  color:var(--error-color);
+}
+
+.interwiki-raw::after,
+a.interwiki[href$="skin=raw"]::after,
+.interwiki-reader::after,
+a.interwiki[href$="skin=reader"]::after,
+.interwiki-edit::after,
+a.interwiki[href*="Edit.jsp?page="]::after,
+.interwiki-group::after,
+a.interwiki[href*="Group.jsp?group="]::after,
+a.interwiki[href^="rss.jsp"]::after {
+    background-color:var(--background-lighter);
+    color:var(--accent-color);
+}
+
+.editsection,
+.hashlink {
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+  color:var(--link-color);
+}
+.editsection:hover,
+h2 .editsection:hover,
+h3 .editsection:hover,
+h4 .editsection:hover,
+h2 .hashlink:hover,
+h3 .hashlink:hover,
+h4 .hashlink:hover {
+  background-color: var(--background-lighter);
+  border-color: var(--border-color);
+  color:var(--link-color);
+  opacity:1;
+}
+
+div.dropcaps  > span.dropcaps {
+  color: var(--text-color-highlight);
+}
+blockquote,
+.dialog .quote-item {
+  border-color:var(--text-color-highlight);
+}
+.page-break {
+  border-color: var(--border-color);
+}
+
+
+/* --- grid.less --- */
+/* --- tables.less --- */
+
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+  border-color: var(--border-color);
+}
+
+.wikitable > thead > tr > th,
+.wikitable > tbody > tr > th,
+.wikitable > tfoot > tr > th,
+.wikitable > thead > tr > td,
+.wikitable > tbody > tr > td,
+.wikitable > tfoot > tr > td,
+.wikitable tr:first-child th {
+  border-color: var(--border-color);
+}
+
+.table-bordered,
+.table-bordered tr:first-child th,
+.table-bordered tr:first-child td {
+  border-color: var(--border-color);
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+  border-color: var(--border-color);
+}
+
+.table-hover > tbody > tr:nth-of-type(odd):hover,
+.table-hover > tbody > tr:nth-child(odd):hover > td,
+.table-hover > tbody > tr:nth-child(odd):hover > th,
+.table-hover > tbody > tr:hover {
+  background-color: var(--background-lighter);
+}
+
+.table-striped > tbody > tr:nth-of-type(odd) ,
+.table-striped > tbody > tr:nth-child(odd) > td,
+.table-striped > tbody > tr:nth-child(odd) > th {
+  background-color: var(--background-light);
+}
+[class*=zebra] .odd {
+  background-color: var(--background-light);
+}
+
+
+/* --- TableX.Sort.less --- */
+.sortable th:hover {
+  background-color: var(--background-lighter);;
+}
+.sortable th.up:after,
+.sortable th.up:hover:after {
+  border-bottom-color: var(--accent-color);
+  opacity:1;
+}
+.sortable th:hover:after,
+.sortable th.down:after,
+.sortable th.down:hover:after {
+  border-top-color: var(--accent-color);
+  opacity:1;
+}
+
+/* --- TableX.Filter.less --- */
+/* --- forms.less --- */
+/* --- modals.less --- */
+
+/* --- fontjspwiki/font-jspwiki.less --- */
+/* --- dropdown.less --- */
+
+/* --- pagination.less --- */
+/* --- Tips.less --- */
+.tip-link,
+.tip-link:hover {
+  color: var(--link-color);
+}
+/* --- Magnify.less --- */
+/* --- Viewer.less --- */
+/* --- Viewer.Slimbox.less --- */
+/* --- Viewer.Carousel.less --- */
+/* --- Template.View.less --- */
+html body .header, html body .footer {
+  background-image: -webkit-radial-gradient(circle, var(--background-light), var(--background));
+  background-image: radial-gradient(circle, var(--background-light), var(--background) );
+  color:var(--text-color-normal);
+}
+a.logo { border-color: var(--border-color); }
+
+
+div.admin .formcontainer {
+  /*.default*/
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+  color:var(--text-color-richer);
+}
+
+.admin .formcontainer table {
+  border-color: var(--border-color);
+  /*
+      .table;
+      .table-bordered;
+      .table-striped;
+  */
+}
+.admin-user-form > div#userlist .list-group-item.new-user{
+  background-color: var(--background-light);
+  border-color: var(--border-color);
+  color:var(--text-color-richer);
+}
+
+
+
+
+/* --- Template.UserBox.less --- */
+.login-form {
+  background-color: var(--background-dialog);
+  border:1px solid var(--border-color);
+}
+.login-form hr { border-color:var(--border-color); }
+
+
+/* --- Template.SearchBox.less --- */
+/* --- Template.Nav.less --- */
+.badge,
+.header > .navigation  .nav > li > a > .badge {
+  background-color:var(--background-lighter);
+  color:var(--text-color-normal);
+}
+
+.header > .navigation .nav .btn-xs .badge {
+  background-color: var(--background-lighter);
+}
+
+/* --- Template.Content.less --- */
+body, .content {
+  background-color: var(--background);
+  color:var(--text-color-normal);
+  overflow-y: auto;
+}
+.content:after {
+  background: var(--background-sidebar);
+}
+/* --- Template.Attach.less --- */
+/* --- Template.Diff.less --- */
+.diffadd { background-color:var(--context-success); color:var(--color-black);  }
+.diffrem { background:var(--context-error); color:var(--color-black); }
+
+/* --- Template.Search.less --- */
+
+form#searchform2 + div 	.fragment {
+  color: var(--text-color-richer);
+}
+form#searchform2 + div .gb-bar {
+  background-color: var(--context-warning);
+}
+
+/* --- Template.Workflow.less --- */
+/* --- Template.Edit.less --- */
+
+.editform input[type="text"]:focus,
+.dialog.find input[type="text"]:focus,
+.editform textarea:focus,
+.dialog.find textarea:focus {
+  background-color:var(--background-lighter);
+  border-color:var(--border-color);
+  color:var(--text-color-richer);
+}
+.ajaxpreview {
+  border-color:var(--border-color);
+}
+.edit-area ~ .ajaxpreview {
+  border-left-color:var(--border-color);
+}
+
+/* --- Dialog.less --- */
+.dialog {
+  background-color: var(--background-dialog);
+  border-color: var(--border-color);
+}
+.dialog .caption {
+  border-color: var(--border-color);
+  color: var(--text-color-normal);
+}
+.dialog.selection .body .item:hover {
+  background-color: var(--background-lighter);
+}
+.dialog.selection .body .divider {
+  background-color: var(--border-color);
+}
+
+.dialog.find [name=tbTEXTSEL] {  /*same as selected text*/
+  color:var(--accent-color);
+  background-color: var(--color-black);
+}
+
+
+
+/* --- Template.Preview.less --- */
+
+/* --- ImagePlugin.less --- */
+/* --- IndexPlugin.less --- */
+
+.index .header {
+  background-color:var(--background-light);
+  border-color:var(--border-color);
+}
+.index .header:hover {
+  background-color:var(--background-light);
+}
+.index .header a {
+  color:var(--text-color-richer);
+}
+.index .header a:hover {
+  background-color:var(--background-lighter);
+}
+.index > .section a {
+  color:var(--text-color-richer);
+}
+
+
+/* --- TOCPlugin.less --- */
+
+.toc ul li:hover {
+  background-color:var(--background-lighter);
+}
+
+/* --- WeblogPlugin.less --- */
+/* --- RecentChangesPlugin.less --- */
+
+.recentchanges .date {
+  border-color:var(--border-color);
+}
+/* --- CommentBox.less --- */
+
+
+/* --- GraphBar.less --- */
+.gb-group {
+  background-color:var(--background-light);
+  border:1px solid var(--border-color);
+}
+
+/* --- Tabs.less --- */
+/* --- Accordion.less --- */
+/* --- Columns.less --- */
+.columns.border,
+.columns.border > .col:not(:last-child)  {
+  border-color:var(--border-color);
+}
+.columns.hover .col:hover {
+  background-color: var(--background-lighter);
+}
+
+
+/* --- Collapsible.less --- */
+.bullet, .bullet.clpse { border-left-color: var(--text-color-normal); }
+.bullet.clpse:hover { border-left-color: var(--text-color-richer); }
+
+.bullet.xpand { border-top-color: var(--text-color-normal); }
+.bullet.xpand:hover { border-top-color: var(--text-color-richer); }
+
+/* --- Category.less --- */
+.category-link {
+  border-color:var(--border-color);
+}
+/* --- Flip.less --- */
+/* --- Invisibles.less --- */
+/* --- prettify.less --- */
+  .prettify pre,  .prettify-nonum pre, pre.prettylines {
+  background-color:var(--background-light);
+  border-color:var(--border-color);
+  color:var(--text-color-richer);
+  }
+  .pln { color: #cccccc; }  /* plain text */
+  .str { color: #99cc99; }  /* string content */
+  .kwd { color: #ffeea6; }  /* keyword */
+  .com { color: #8a8a80; }  /* comment */
+  .typ { color: #bbdaff; }  /* type name */
+  .lit { color: #FCA369; }  /* literal value */
+  .pun { color: #cda869; }  /* punctuation */
+  .opn { color: #ffffff; }  /* lisp open bracket */
+  .clo { color: #ffffff; }  /* lisp close bracket */
+  .tag { color: #78AAD6; }  /* markup tag name */
+  .atn { color: #ffc58f; }  /* markup attribute name */
+  .atv { color: #FFD479; }  /* markup attribute value */
+  .dec { color: #D6ACD6; }  /* declaration */
+  .var { color: #76D4D6; }  /* variable name */
+  .fun { color: #d6acd6; }  /* function name */
+
+/* --- responsive-viewport.less --- */
+/* --- print.less --- */
diff --git a/src/main/jbake/assets/css/haddock-wysiwyg.css b/src/main/jbake/assets/css/haddock-wysiwyg.css
new file mode 100644
index 0000000..cd28398
--- /dev/null
+++ b/src/main/jbake/assets/css/haddock-wysiwyg.css
@@ -0,0 +1 @@
+.mooeditable-container{position:relative;border:2px solid #ddd}.mooeditable-ui-toolbar{color:inherit;background-color:#eee;padding:2px}.mooeditable-ui-toolbar:after{content:".";display:block;height:0;clear:both;visibility:hidden}.mooeditable-ui-toolbar .toolbar-item,.mooeditable-ui-toolbar .toolbar-separator{display:-moz-inline-box;display:inline-block;vertical-align:middle}.mooeditable-ui-toolbar .mooeditable-ui-button{cursor:pointer;border:0;width:auto;height:auto;margin:2px;padding:2p [...]
\ No newline at end of file
diff --git a/src/main/jbake/assets/css/haddock.css b/src/main/jbake/assets/css/haddock.css
index cd3128f..c639f9c 100755
--- a/src/main/jbake/assets/css/haddock.css
+++ b/src/main/jbake/assets/css/haddock.css
@@ -1 +1 @@
-html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:itali [...]
\ No newline at end of file
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:itali [...]
\ No newline at end of file
diff --git a/src/main/jbake/assets/css/jspwiki.css b/src/main/jbake/assets/css/jspwiki.css
index 8343148..0e41495 100755
--- a/src/main/jbake/assets/css/jspwiki.css
+++ b/src/main/jbake/assets/css/jspwiki.css
@@ -1,406 +1 @@
-/* jspwiki.css original file, with a few modifications:                */
-/* all background-images point to ./images/*                           */
-/* added lines 66-69                                                   */
-/* removed padding on classes breadcrumbs and copyright, lines 204-205 */
-#wikibody{margin:1em 2em;padding:.25em;}
-#header,#footer{padding:0 0 0 20%;}
-#header .applicationlogo{position:absolute;left:2em;right:auto;width:18%;}
-#footer .applicationlogo,#footer .companylogo,#footer .wikiversion,#footer .rssfeed,#header .companylogo{display:none;}
-#header .userbox{float:right;}
-#header .pagename{float:left;}
-#header .searchbox{clear:right;float:right;}
-#header .breadcrumbs{clear:both;}
-#favorites{float:left;overflow:hidden;margin-top:1.75em;width:18%;padding:.5em;}
-#favorites .userbox{border:1px solid #ddd;margin-bottom:.5em;padding:.25em .5em;display:none;}
-#favorites .login,#favorites .logoff{clear:left;}
-#content{margin:1em 0;}
-#page,#wikibody.fav-right #favorites{float:right;}
-#wikibody.fav-right #page,#favorites{float:left;}
-* html #page,* html #wikibody.fav-right #favorites{margin-left:-3px;}
-* html #wikibody.fav-right #page,* html #favorites{margin-right:-3px;}
-#wikibody.fav-right #header,#wikibody.fav-right #footer{padding:0 20% 0 0;}
-#wikibody.fav-right #header .applicationlogo{left:auto;right:2em;}
-#page{width:80%;}
-#wikibody.fav-slide #page{width:100%;}
-#actionsTop{float:right;z-index:10;}
-* html #actionsTop{margin-top:1px;}
-#actionsBottom{text-align:right;margin-bottom:.5em;}
-* html #header,* html .userbox{height:1%;}
-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,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:none;}
-:focus{outline:0;}
-body{color:black;background:white;margin:0;font:76%/140% Verdana,Arial,Helvetica,sans-serif;}
-table{border-collapse:collapse;border-spacing:0;empty-cells:show;}
-h1,h2,h3,h4,p,blockquote,label,ul,ol,dl,hr,.hr,.quote{margin:.5em 0;}
-th,td{padding:.25em .5em;}
-.hr{display:block;border-bottom:1px solid #ddd;}
-hr,.hr,.clearbox{clear:both;}
-.titlebox{color:#555;padding:.25em 1em;}
-.pagename{font-size:175%;line-height:1.4;font-weight:bold;margin-bottom:.5em;}
-h2,h3,h4{clear:left;margin:1em 0 .5em 0;padding:.25em;line-height:1.2;}
-h2{font-size:150%;}
-h2 .editsection,h2 .hashlink{font-size:67%;}
-h3{font-size:132%;}
-h3 .editsection,h3 .hashlink{font-size:76%;}
-h4{font-size:116%;}
-h4 .editsection,h4 .hashlink{font-size:86%;}
-a.editsection,a.hashlink{font-weight:normal;line-height:1.2;padding:.25em;text-decoration:none;color:#ccc;}
-a.editsection:hover,a.hashlink:hover{background-color:#ddd;color:blue!important;}
-h2:hover .editsection,h3:hover .editsection,h4:hover .editsection,h2:hover .hashlink,h3:hover .hashlink,h4:hover .hashlink{color:#999;}
-b,i{color:inherit;}
-br{clear:both;}
-ul ul,ol ol{margin:0;}
-ul,ol{padding-left:3em;}
-dl dt{font-weight:bold;}
-dl dd{margin-left:2em;}
-.wikiform tr{vertical-align:middle;}
-.formvalue{font-weight:bold;}
-.formhelp{font-style:italic;margin:.5em 0;}
-legend,label{font-weight:bold;white-space:nowrap;padding-right:.5em;}
-fieldset{margin:.5em 0;padding:.5em;border:1px solid #ddd;}
-.wikiform input[type='submit'],.wikiform input[type='button'],.wikiform input[type='file'],.wikiform button{cursor:pointer;}
-.wikiform input,.wikiform option{padding:0 .25em;}
-code,tt,pre{font:110% Monaco,"Courier New",Courier,monospace;overflow:auto;}
-pre{clear:both;white-space:pre;margin:1em 2.5%;padding:.5em;background:#f9f9f9;border:1px solid #ddd;_width:100%;_overflow-x:auto;_padding-bottom:1.5em;}
-#previewcontent,#info,#pagecontent,#attach,#findcontent,.diffbody{overflow-y:hidden;_width:100%;_overflow-x:auto;_padding-bottom:1.5em!important;}
-a{color:blue;}
-#pagecontent li{padding-bottom:0.3em;}
-#pagecontent a[href^="http://"], #pagecontent a[href^="https://"], a.external{background-image:url(../images/out.png);background-repeat:no-repeat;background-position:right center;padding-right:8px;}
-a:hover{background-color:#DBF0FF;}
-.leftmenu li:hover{background-color:#DBF0FF;}
-.hover{background-color:#eee;}
-* html .hover{background-color:#eee;}
-*:first-child+html .hover{background-color:#eee;}
-a.createpage{color:red;text-decoration:none;border-bottom:1px dashed red;}
-a.feed{background-image:url(../images/jspwiki-strip.gif);background-repeat:no-repeat;background-position:0 0;text-indent:16px;margin:0 .5em;width:16px;height:16px;text-decoration:none;overflow:hidden;display:block;float:right;}
-img{border:none;}
-.applicationlogo a{display:block;height:64px;width:64px;overflow:hidden;margin-left:auto;margin-right:auto;text-indent:-1000px;background:url(../images/jspwiki_logo.png) -64px 0 no-repeat;}
-/*.applicationlogo a:hover{background-position:0 0;}*/
-a.footnoteref{vertical-align:super;font-size:85%;}
-a.footnote{vertical-align:super;color:#04A;}
-.small{font-size:85%;}
-.sub{font-size:85%;vertical-align:sub;}
-.sup{font-size:85%;vertical-align:super;}
-.strike{text-decoration:line-through;}
-.center{text-align:center;}
-.center table{margin-left:auto;margin-right:auto;text-align:left;}
-.quote{border-left:4px solid #bbb;padding-left:3em;margin:0 .5em;}
-.ltr{direction:ltr;}
-.rtl{direction:rtl;}
-.invisible{display:none;}
-.additinfo{background-color:#e0e0ff;}
-.diffnote,.information,.warning,.error{display:block;clear:both;margin:1em .5em;padding:1em 1em 1em 3em;background-position:.8em .9em;background-repeat:no-repeat;}
-td .information,td .warning,td .error{margin:0;}
-.diffnote,.information{background-image:url(../images/information.gif);background-color:#e0e0ff;}
-.warning{background-image:url(../images/exclamation.gif);background-color:#ffff80;}
-.error{background-image:url(../images/error.gif);background-color:#ffe0e0;color:#c00000;}
-.error * li{margin-left:0;padding-left:0;}
-.commentbox{display:block;float:right;clear:right;width:35%;overflow:hidden;border:1px solid #ddd;background:#f9f9f9;padding:0 .5em;margin:0 0 1em .5em;font-size:90%;}
-.commentbox li{margin-left:0;padding-left:0;}
-.wikitable{margin:.5em .25em;}
-.wikitable tr{vertical-align:top;}
-.wikitable * th{border:1px solid #ddd;background-color:#eee;vertical-align:top;}
-.wikitable * td{border:1px solid #ddd;vertical-align:top;text-align:left;}
-.zebra-table tr.odd td{background-color:#eee;}
-.wikitable * td.split{border-top:1px solid #d9d9d9;}
-#upload{float:left;}
-#progressbar{float:left;margin-left:1em;width:30em;border:2px solid #ddd;visibility:hidden;}
-#progressbar .ajaxprogress{background:url(../images/progress.gif) repeat-x;height:18px;text-align:center;width:0;}
-.attachtype{line-height:1.6;font-size:11px;padding-left:20px;background-repeat:no-repeat;background-position:0 0;background-image:url(../images/attach-strip.png);}
-#attach-gif{background-position:0 -112px;}
-#attach-png{background-position:0 -112px;}
-#attach-bmp{background-position:0 -112px;}
-#attach-jpg{background-position:0 -112px;}
-#attach-jpeg{background-position:0 -112px;}
-#attach-text{background-position:0 -16px;}
-#attach-txt{background-position:0 -16px;}
-#attach-zip{background-position:0 -128px;}
-#attach-jar{background-position:0 -128px;}
-#attach-tar{background-position:0 -128px;}
-#attach-pdf{background-position:0 -80px;}
-#attach-doc{background-position:0 -32px;}
-#attach-xls{background-position:0 -48px;}
-#attach-ppt{background-position:0 -64px;}
-#attach-swf{background-position:0 -96px;}
-#attach-mov{background-position:0 -160px;}
-#attach-mp3{background-position:0 -144px;}
-#attach-wav{background-position:0 -144px;}
-#diffcontent{clear:both;}
-.diffbody{padding:.5em;}
-td.diffadd,td.diffrem,td.diff{font:110% Monaco,"Courier New",Courier,monospace;line-height:1;}
-td.diffadd{background:#9f9;}
-td.diffrem{background:#f93;}
-td.diff{background:#fff;}
-.diff-wikitext{font:110% Monaco,"Courier New",Courier,monospace;line-height:1;overflow:auto;}
-.diff-insertion{background:#9f9;text-decoration:none;color:black;}
-.diff-deletion{background:#f93;text-decoration:line-through;color:black;}
-.diff-nextprev{vertical-align:super;text-decoration:none;}
-.textarea-resizer{background:#eee url(../images/resize-horizontal.gif) top center;cursor:s-resize;font-size:1px;height:6px;line-height:6px;overflow:hidden;}
-#toolbuttons,#toolextra,#searchbar{margin-left:1em;clear:both;}
-#tools span{float:left;display:block;padding:.25em 0;margin-right:1em;}
-#toolbuttons span{border:1px solid #ddd;}
-a.tool{float:left;display:block;background:transparent;margin:2px;text-decoration:none;}
-a.tool:hover,.btn:hover{background-color:#ddd!important;}
-#tools a.tool{border:none;background-repeat:no-repeat;background-image:url("../images/editor-strip.gif");background-color:transparent;height:16px;width:16px;text-indent:20px;overflow:hidden;}
-#tbREDO{background-position:0 0;width:auto!important;}
-#tbUNDO{background-position:0 -16px;width:auto!important;}
-#tbH1{background-position:0 -192px;}
-#tbH2{background-position:0 -208px;}
-#tbH3{background-position:0 -224px;}
-#tbB{background-position:0 -176px;}
-#tbI{background-position:0 -256px;}
-#tbLink{background-position:0 -48px;}
-#tbMONO{background-position:0 -160px;}
-#tbPRE{background-position:0 -64px;}
-#tbCODE{background-position:0 -80px;}
-#tbHR{background-position:0 -240px;}
-#tbBR{background-position:0 -112px;}
-#tbDL{background-position:0 -272px;}
-#tbSUP{background-position:0 -336px;}
-#tbSUB{background-position:0 -320px;}
-#tbSTRIKE{background-position:0 -304px;}
-#tbUL{background-position:0 -256px;}
-#tbOL{background-position:0 -272px;}
-#tbLEFT{background-position:0 -288px;}
-#tbCENTER{background-position:0 -304px;}
-#tbRIGHT{background-position:0 -320px;}
-#tbJUST{background-position:0 -336px;}
-#tbQUOTE{background-position:0 -272px;}
-#tbIMG{background-position:0 -96px;}
-#tbTABLE{background-position:0 -144px;}
-#tbTOC{background-position:0 -32px;}
-#tbTAB{background-position:0 -128px;}
-#tbSIGN{background-position:0 -288px;}
-#tbDOREPLACE{background-image:url("../images/doreplace.png")!important;}
-.editor{font:110% Monaco,"Courier New",Courier,monospace;padding:4px;width:99%;}
-#toctoc{position:relative;margin:.5em 0;}
-#toctoc label{display:block;margin:0;padding:.5em;}
-#toctoc ul{border:3px solid #eee;width:auto;overflow:auto;height:150px;list-style:none;margin:0;padding:0;}
-#toctoc a{display:block;padding:0 .5em;cursor:pointer;overflow:hidden;white-space:nowrap;}
-* html #editorarea{padding:4px 0;}
-*:first-child+html #editorarea{padding:4px 0;}
-#submitbuttons input{margin-right:2em;}
-#commentcontent,#editcontent{width:100%;}
-#searchbar{display:block!important;}
-#searchbar span{white-space:nowrap;}
-#findSuggestionMenu{position:absolute;color:white;background-color:rgba(0,0,0,0.7);-moz-border-radius:10px;-webkit-border-radius:5px;-webkit-box-shadow:0 0 5px rgba(0,0,0,0.5);z-index:10;font-size:85%;overflow:hidden;}
-* html #findSuggestionMenu{background:url(../images/tip.png) top left;}
-*:first-child+html #findSuggestionMenu{background:url(../images/tip.png) top left;}
-#findSuggestionMenu ul{list-style:none;margin:0;padding:0;}
-#findSuggestionMenu li{padding:.25em .5em;cursor:pointer;}
-#findSuggestionMenu .hover{background-color:rgba(0,0,0,0.5);-moz-border-radius:10px;-webkit-border-radius:5px;}
-* html #findSuggestionMenu .hover{background-color:black;}
-*:first-child+html #findSuggestionMenu .hover{background-color:black;}
-.userbox{overflow:hidden;padding:.5em 0;}
-#favorites .userbox a.action,#favorites .userbox .username{float:left;display:block;margin-right:4px;}
-.username{font-style:italic;padding:.25em .5em;}
-.wikiversion,.rssfeed{font-size:90%;padding:.25em;text-align:center;}
-#details,#scope{margin-left:2em;}
-.graphBar{padding:0;color:white;border-color:#f93;border-left-style:solid;border-bottom-style:solid;}
-.fragment{margin:.25em;font:90% Monaco,"Courier New",Courier,monospace;}
-.fragment_ellipsis{font-weight:bold;}
-.nosearchresult{font-style:italic;}
-.cursor{background-color:#eee;}
-.searchword,.searchmatch{background-color:#f93;color:black;text-decoration:inherit;}
-.copyright{padding:0;font-size:90%;text-align:center;color:#555;}
-.breadcrumbs{font-size:90%;padding:0;}
-#incomingLinks,#outgoingLinks,#externalLinks,#attachmentLinks,#versionhistory{width:30%;overflow:hidden;margin-right:.5em;float:left;}
-#versionhistory td{white-space:nowrap;}
-.pagination{margin:.25em;padding:.5em;background:#eee;}
-.pagination a{cursor:pointer;}
-.pagination a,.pagination .cursor{padding:.5em;}
-.pagination .cursor,.pagination a:hover{background-color:#d7d7d7;}
-td.changenote{font-style:italic;}
-th.changenote,td.changenote{width:30%;overflow:hidden;}
-#info th select{display:block;}
-.pageactions{line-height:1.5;}
-.pageactions ul{list-style:none;margin:0;padding:0;}
-.pageactions li{display:block;float:left;}
-.pageactions li ul{position:absolute;background:white;border:2px solid #ddd;left:0;z-index:10;}
-.pageactions li ul li ul{position:static;left:auto;}
-.pageactions li ul li{display:block;white-space:nowrap;float:none;}
-.pageactions li ul li.separator{border-top:2px solid #ddd;}
-.pageactions li ul li ul{position:static;left:auto;border:none;}
-#hiddenmorepopup{display:none;border:1px solid #ddd;}
-#hiddenmorepopup ul{list-style:none;margin:0;padding:0;}
-#morebutton ul a{padding:.25em .5em;text-decoration:none;cursor:pointer;}
-.pageactions a.action{display:block;}
-#morebutton a:hover,a.action:hover,#sectiontoc a:hover .userbox a.action:hover,a.action.quick2bottom:hover,a.action.quick2top:hover{background-color:#eee!important;}
-#searchTools a.action,.userbox a.action,a.action.edit,a.action.more{padding:.25em .5em;text-decoration:none;line-height:normal;border:1px solid #ddd;background:#f9f9f9;white-space:nowrap;}
-a.action.edit,a.action.more{margin-left:4px;border-bottom:none;}
-a.action.more{padding-right:1.5em;background:#f9f9f9 url(../images/arrdownsmall.gif) 95% center no-repeat;}
-a.action.quick2top,a.action.quick2bottom{overflow:hidden;padding:0;text-indent:20px;width:20px;margin:0 0 0 2px;}
-a.action.quick2top{float:right;background:url(../images/arrup.gif) no-repeat 3px 3px;}
-.popup ul{position:absolute;background:white;border:2px solid #ddd;padding:.25em;margin:0;left:0;z-index:15;list-style:none;}
-.popup li a{display:block;line-height:1.5;white-space:nowrap;cursor:pointer;}
-.popup a:hover{background-color:#eee!important;}
-#pagecontent{padding:.5em 0;}
-#sneakpreviewheader{clear:both;font-size:110%;background-color:#ddd;padding:.5em;margin:.5em 0;}
-.previewcontent{background-image:url(../images/preview.gif);}
-.spin{background:url(../images/spin.gif) no-repeat;width:16px;height:16px;margin:0 .5em;}
-#searchForm #query{width:164px;padding:2px 22px 2px 2px;vertical-align:middle;color:#555;}
-#searchSubmit{position:absolute;top:5px;right:3px;margin:0;padding:0;width:16px;height:16px;border:none;background:url(../images/search.gif) no-repeat center;overflow:hidden;cursor:pointer;}
-#searchboxMenu{position:absolute;background:white;border:2px solid #ddd;padding:.25em;left:0;z-index:15;}
-* html #searchboxMenu{white-space:nowrap;}
-#searchboxMenu ul{list-style:none;margin:0;padding:0;}
-#searchboxMenu li{padding:0 .5em;}
-#searchTools a:hover,#searchboxMenu li:hover{background:#eee;}
-#searchboxMenu div{margin:.5em 0;}
-#searchTools{text-align:left;}
-.imageplugin{margin:.5em 0;}
-.imageplugin img{border:0;}
-.imageplugin caption{font-size:90%;}
-.imageplugin *{padding:0;margin:0;}
-.index .header{padding:4px;background:#f9f9f9;border:1px solid #ddd;text-align:center;font-size:1.4em;}
-.index .body{margin-top:.5ex;}
-.index .section{color:red;font-size:1.4em;display:block;border-bottom:2px solid silver;margin-top:1.5ex;}
-div.toc{width:60%;float:left;clear:left;}
-a.toc{color:grey;padding:.25em;}
-a.toc:hover{background:#eee;}
-#favorites .toc{width:100%;}
-#pagecontent .toc h4{font-size:1.4em;}
-.toc ul{padding-left:0;list-style:none;}
-.toc li{margin-left:1em;padding-left:0;}
-.toc li.toclevel-1{margin-left:.5em;}
-.toc li.toclevel-2{margin-left:1.5em;}
-.toc li.toclevel-3{margin-left:2.5em;}
-.weblog{margin:0 2em;clear:both;}
-.weblogentry{margin:.5em 0;}
-.weblogentryheading{padding:.25em .5em;font-size:90%;background:#e0e0e0;float:right;}
-.weblogentrytitle{padding:.25em .5em;font-size:120%;line-height:1.2;font-weight:bold;background:#e0e0e0;}
-.weblogentrybody{margin-left:.5em;clear:both;}
-.weblogentryfooter{font-size:90%;padding:.25em .5em;border-bottom:3px solid #e0e0e0;clear:both;}
-.weblogarchive li{margin-left:1em;display:block;list-style-type:none;}
-.archiveyear{font-weight:bold;text-decoration:none;margin-left:0!important;}
-.archiveyear:after{content:" AD";}
-.weblogcommentstitle{background:#e0e0e0;margin:1em .5em 0 .5em;padding:.5em;font-weight:bold;font-size:120%;line-height:1.1;}
-.weblogcomments{background:#f9f9f9;margin:0 .5em 1em .5em;padding:1em;}
-.recentchanges{table-layout:fixed;}
-.recentchanges .changenote{font-style:italic;}
-.recentchanges td{vertical-align:top;border-bottom:1px solid #f9f9f9;}
-.recentchanges .date{vertical-align:bottom;border-top:1.5em solid white;background-color:#f9f9f9!important;border-bottom:none;}
-.recentchanges tr.odd td{background-color:transparent;}
-div.calendar{border:1px solid black;}
-table.calendar td{text-align:center;}
-table.calendar td.othermonth{color:#707070;}
-table.calendar td.link{background:#f9f9f9;}
-table.calendar tr.weekdays{color:red;}
-.accesskey{text-decoration:underline;}
-.hidetab{display:none;}
-.tabs{clear:both;padding:.5em;border:1px solid #ddd;margin-bottom:.5em;}
-.tabmenu{padding:0 1em;font-weight:bold;}
-.tabs .tabmenu{clear:both;}
-* html .tabmenu{border:1px solid white;}
-*:first-child+html .tabmenu{border:1px solid white;}
-.tabmenu a{float:left;margin:0 0 -1px -1px;padding:.25em .5em;border:1px solid #ddd;color:gray;background:#f9f9f9;text-decoration:none;cursor:pointer;line-height:normal;}
-.tabmenu a:hover{background:#eee;}
-.tabmenu a.activetab{color:black;background:transparent;border-bottom:1px solid white;cursor:default;}
-.accordion,.tabbedAccordion{clear:both;border:1px solid #ddd;margin-bottom:.5em;}
-.accordion .toggle{border:2px solid #f9f9f9;background:#f9f9f9;cursor:pointer;font-weight:bold;line-height:1.4;padding:.25em 1em .25em 0;}
-.accordion .toggle:hover,.menu .toggle:hover{background:#eee;}
-.accordion .tab{padding:0 1em;}
-.menu{clear:both;color:gray;font-weight:bold;}
-.menu.top{margin-left:.5em;}
-.menu.left{float:left;margin-top:.5em;}
-.menu.right{float:right;margin-top:.5em;}
-.menu .toggle{background:#f9f9f9;border:1px solid #ddd;cursor:pointer;padding:.25em .5em;}
-.menu.top .toggle{float:left;margin:0 0 -1px -1px;display:inline;}
-.menu.left .toggle{margin:0 -1px -1px 0;}
-.menu.right .toggle{margin:0 0 -1px -1px;}
-.menu .toggle.active{background:transparent;cursor:default;color:black;}
-.menu.top .toggle.active{border-bottom:1px solid white;}
-.menu.left .toggle.active{border-right:1px solid white;}
-.menu.right .toggle.active{border-left:1px solid white;}
-.tabbedAccordion{padding:.5em;}
-.leftAccordion,.rightAccordion{margin-bottom:.5em;}
-.leftAccordion .tab,.rightAccordion .tab{border:1px solid #ddd!important;margin:0 0 -2px 0;padding:.25em .5em;}
-* html .columns{width:100%;}
-*:first-child+html .columns{width:100%;}
-.columns .col{float:left;padding:0 .25em;}
-.tip-anchor{border-bottom:2px solid #545454;cursor:pointer;}
-.tip-tip{color:white;width:auto;z-index:100;font-size:90%;background-color:rgba(0,0,0,0.7);-moz-border-radius:10px;-webkit-border-radius:5px;-webkit-box-shadow:0 0 5px rgba(0,0,0,0.5);}
-.tip-title{font-weight:bold;padding:8px 8px 4px;}
-* html .tip-title{background:url(../images/tip.png) top left;}
-*:first-child+html .tip-title{background:url(../images/tip.png) top left;}
-.tip-text{padding:4px 8px 8px;}
-.tip-text th{background:grey!important;}
-* html .tip-text{background:url(../images/tip.png) bottom right;}
-*:first-child+html .tip-text{background:url(images/tip.png) bottom right;}
-.tip-tip a{color:white!important;}
-div.collapse ul,div.collapse ol{margin:0;padding:0;}
-* html div.collapse ul,* html div.collapse ol{width:100%;}
-div.collapse li{list-style-type:none;}
-.collapse .collapsebody,.collapsebox .collapse .collapsebody{padding-left:1.5em;}
-*:first-child+html .collapse .collapsebody,*:first-child+html .collapsebox .collapse .collapsebody{float:left;padding-left:.5em;}
-* html .collapse .collapsebody,* html .collapsebox .collapse .collapsebody{float:left;padding-left:.5em;}
-.collapseBullet,.collapseOpen,.collapseClose{clear:left;float:left;text-align:center;text-decoration:none;color:blue;font:bold small Monaco,"Courier New",Courier,monospace;width:1.2em;height:1em;}
-.collapseOpen,.collapseClose{cursor:pointer;}
-.collapsebox{clear:right;border:1px solid #ddd;margin:0 0 .5em 0;}
-.collapsetitle{margin:0;padding:.25em 0;border:2px solid white;}
-.collapsebox .collapsebody{padding:0 .5em;}
-.sortable .sortAscending,.sortable .sortDescending,.sortable .sort{background-repeat:no-repeat;background-position:2px 4px;cursor:pointer;padding-left:11px;}
-.sortable .sort{background-image:url(../images/sortable.gif);}
-.sortable .sortAscending{background-image:url(../images/sorted_down.gif);background-position:2px 6px;}
-.sortable .sortDescending{background-image:url(../images/sorted_up.gif);background-position:2px 0;}
-a.slimbox{font-weight:bold;font-size:1.3em;padding:0 .2em;}
-a.slimbox:visited,a.slimbox:active,a.slimbox:link{text-decoration:none;border:none;}
-a.slimbox:hover{background:#eee;}
-#lbOverlay{position:absolute;left:0;top:0;width:100%;background-color:#000;cursor:pointer;}
-#lbCenter,#lbBottomContainer{position:absolute;left:50%;overflow:hidden;font:90% Verdana,Helvetica,sans-serif;color:#666;line-height:1.5;text-align:left;}
-#lbBottomContainer{padding:0 12px;}
-#lbCenter{padding:12px 12px 0 12px;}
-#lbCenter a{outline:none;}
-.lbLoading{background:#fff url(../images/spin.gif) no-repeat center;}
-#lbImage{border:10px solid #fff;border-top-width:1.4em;background-color:#fff;background-repeat:no-repeat;background-position:center center;position:relative;}
-#lbBottom{border:10px solid #fff;border-top-style:none;background-color:#fff;}
-#lbBottom div{white-space:nowrap;overflow:hidden;}
-#lbCaption,#lbPrevLink,#lbNextLink{font-weight:bold;}
-#lbPrevLink{padding-right:1em;}
-#lbNextLink{padding-left:1em;}
-#lbCloseLink{display:block;position:absolute;width:28px;height:28px;top:0;right:0;background:url(../images/slimbox_close.png) no-repeat;z-index:10;}
-* html #lbCloseLink{background:url(../images/slimbox_close.gif) 4px 12px no-repeat;}
-* html #lbCloseLink:hover{background-image:url(../images/slimbox_close_hover.gif);}
-#lbBottomContainer *:visited,#lbBottomContainer *:active,#lbBottomContainer *:link,#lbCenter *:visited,#lbCenter *:active,#lbCenter *:link{text-decoration:none;border-bottom:none;}
-.categoryLink{border-bottom:2px solid #545454;text-decoration:none;}
-.categoryPopup{color:white;z-index:100;font-size:90%;margin-top:2px;position:absolute;z-index:10;background-color:rgba(0,0,0,0.7);-moz-border-radius:10px;-webkit-border-radius:5px;-webkit-box-shadow:0 0 5px rgba(0,0,0,0.5);}
-* html .categoryPopup{width:240px;}
-*:first-child+html .categoryPopup{width:240px;}
-.categoryPopup a:link,.categoryPopup a:active,.categoryPopup a:visited{color:white;text-decoration:none;}
-.categoryTitle{padding:4px;font-weight:bold;}
-* html .categoryTitle{background:url(../images/tip.png) top left;}
-*:first-child+html .categoryTitle{background:url(../images/tip.png) top left;}
-.categoryText{padding:4px 0;}
-* html .categoryText{background:url(../images/tip.png) bottom right;}
-*:first-child+html .categoryText{background:url(../images/tip.png) bottom right;}
-.categoryText ul{list-style:none;margin:0!important;padding:0!important;}
-.categoryText li{display:block;padding:0 8px;}
-.categoryPopup .hover{background-color:rgba(0,0,0,0.5);-moz-border-radius:10px;-webkit-border-radius:5px;}
-* html .categoryPopup .hover{background-color:black;}
-*:first-child+html .categoryPopup .hover{background-color:black;}
-.str{color:#489a1b;}
-.kwd{color:#1b609a;}
-.com{color:#888;}
-.typ{color:#666;}
-.lit{color:#066;}
-.pun{color:#660;}
-.pln{color:#000;}
-.tag{color:#008;}
-.atn{color:#606;}
-.atv{color:#080;}
-.dec{color:#606;}
-@media print{.str{color:#060;}
-.kwd{color:#006;font-weight:bold;}
-.com{color:#600;font-style:italic;}
-.typ{color:#404;font-weight:bold;}
-.lit{color:#044;}
-.pun{color:#440;}
-.pln{color:#000;}
-.tag{color:#006;font-weight:bold;}
-.atn{color:#404;}
-.atv{color:#060;}
-}
-div.coverflow{background-color:#000;color:#fff;visibility:hidden;position:relative;overflow:hidden;}
-div.coverflow *{margin:0;padding:0;}
-div.coverflow .imgcontainer{position:relative;}
-div.coverflow img{position:absolute;border:none;}
-div.coverflow .slider{position:relative;border:1px solid #bbb;z-index:10001;}
-div.coverflow .knob{background:#fff;width:100px;height:15px;}
\ No newline at end of file
+#wikibody{margin:1em 2em;padding:.25em}#header,#footer{padding:0 0 0 20%}#header .applicationlogo{position:absolute;left:2em;right:auto;width:18%}#footer .applicationlogo,#footer .companylogo,#footer .wikiversion,#footer .rssfeed,#header .companylogo{display:none}#header .userbox{float:right}#header .pagename{float:left}#header .searchbox{clear:right;float:right}#header .breadcrumbs{clear:both}#favorites{float:left;overflow:hidden;margin-top:1.75em;width:18%;padding:.5em}#favorites .user [...]
\ No newline at end of file
diff --git a/src/main/jbake/assets/css/jspwiki_print.css b/src/main/jbake/assets/css/jspwiki_print.css
index 7227ff1..9fa9726 100755
--- a/src/main/jbake/assets/css/jspwiki_print.css
+++ b/src/main/jbake/assets/css/jspwiki_print.css
@@ -1,12 +1 @@
-.applicationlogo,.companylogo,.titlebox,.userbox,.searchbox,.breadcrumbs,.pageactions,.quicklinks,#actionsTop,#actionsBottom,#favorites,#addattachment,#findhelp,a.editsection,a.hashlink,.collapsebox .collapseOpen,.collapsebox .collapseClose,.table-filter .filterrow,.tabmenu{display:none;}
-#attachments,#addcomment,#pagecontent,#editcontent,#previewcontent,#diffcontent,#infocontent,#findquery,#userPrefs,#pagecontent .tabmenu{display:block;visibility:visible;}
-tt,pre{overflow:visible;}
-a{text-decoration:none;}
-html>body #previewcontent,html>body #info,html>body #pagecontent,html>body #attach,html>body #findcontent{overflow:visible;}
-* html #previewcontent,* html #info,* html #pagecontent,* html #attach,* html #findcontent{overflow-x:visible;}
-.pagename,#header,#footer,#page{width:100%!important;margin:0!important;padding:0!important;float:none!important;clear:both!important;position:static!important;overflow:visible!important;}
-.pagename{font-size:250%;margin-bottom:1.5em;padding-bottom:.5em;border-bottom:3px solid #555;color:#555;}
-.hidetab{display:block;}
-.tabs{border:none;}
-a.slimbox{display:none;}
-.commentbox{float:none;}
\ No newline at end of file
+.applicationlogo,.companylogo,.titlebox,.userbox,.searchbox,.breadcrumbs,.pageactions,.quicklinks,#actionsTop,#actionsBottom,#favorites,#addattachment,#findhelp,a.editsection,a.hashlink,.collapsebox .collapseOpen,.collapsebox .collapseClose,.table-filter .filterrow,.tabmenu{display:none}#attachments,#addcomment,#pagecontent,#editcontent,#previewcontent,#diffcontent,#infocontent,#findquery,#userPrefs,#pagecontent .tabmenu{display:block;visibility:visible}tt,pre{overflow:visible}a{text-dec [...]
\ No newline at end of file
diff --git a/src/main/jbake/assets/js/haddock-edit.js b/src/main/jbake/assets/js/haddock-edit.js
index 3da3474..c6f7bea 100755
--- a/src/main/jbake/assets/js/haddock-edit.js
+++ b/src/main/jbake/assets/js/haddock-edit.js
@@ -1 +1 @@
-Array.implement({hsv2rgb:function(){var e=this,t,n,r,i,s,o=e[0]/360,u=e[1]/100,a=e[2]/100;return u?(o=o>1?0:6*o,s=o|0,n=a*(1-u),r=a*(1-u*(o-s)),i=a+n-r,t=s==0?[a,i,n]:s==1?[r,a,n]:s==2?[n,a,i]:s==3?[n,r,a]:s==4?[i,n,a]:[a,n,r]):t=[a,a,a],t.map(function(e){return.5+e*255|0})},rgb2hsv:function(){var e=this,t=0,n=0,r=255,i=e[0]/r,s,o=e[1]/r,u,a=e[2]/r,f,l=[i,o,a].max(),c=l-[i,o,a].min();return c&&(n=c/l,r=c/2,s=((l-i)/6+r)/c,u=((l-o)/6+r)/c,f=((l-a)/6+r)/c,t=i==l?f-u:o==l?1/3+s-f:2/3+u-s,t< [...]
\ No newline at end of file
+Array.implement({hsv2rgb:function(){var e=this,t,n,r,i,s,o=e[0]/360,u=e[1]/100,a=e[2]/100;return u?(o=o>1?0:6*o,s=o|0,n=a*(1-u),r=a*(1-u*(o-s)),i=a+n-r,t=s==0?[a,i,n]:s==1?[r,a,n]:s==2?[n,a,i]:s==3?[n,r,a]:s==4?[i,n,a]:[a,n,r]):t=[a,a,a],t.map(function(e){return.5+e*255|0})},rgb2hsv:function(){var e=this,t=0,n=0,r=255,i=e[0]/r,s,o=e[1]/r,u,a=e[2]/r,f,l=[i,o,a].max(),c=l-[i,o,a].min();return c&&(n=c/l,r=c/2,s=((l-i)/6+r)/c,u=((l-o)/6+r)/c,f=((l-a)/6+r)/c,t=i==l?f-u:o==l?1/3+s-f:2/3+u-s,t< [...]
\ No newline at end of file
diff --git a/src/main/jbake/assets/js/haddock-wysiwyg.js b/src/main/jbake/assets/js/haddock-wysiwyg.js
index 21176da..b75a990 100755
--- a/src/main/jbake/assets/js/haddock-wysiwyg.js
+++ b/src/main/jbake/assets/js/haddock-wysiwyg.js
@@ -1 +1 @@
-(function(){var e=/^(H[1-6]|HR|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|SCRIPT|NOSCRIPT|STYLE)$/i,t=/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i,n=/<(script|noscript|style)[\u0000-\uFFFF]*?<\/(script|noscript|style)>/g;this.MooEditable=new Class({Implements:[Events,Options],options:{toolbar:!0,cleanup:!0,paragraphise:!0,xhtml:!0,semantics:!0,actions:"bold italic underline strikethrough | insertunorderedlist i [...]
\ No newline at end of file
+(function(){var e=/^(H[1-6]|HR|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|SCRIPT|NOSCRIPT|STYLE)$/i,t=/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i,n=/<(script|noscript|style)[\u0000-\uFFFF]*?<\/(script|noscript|style)>/g;this.MooEditable=new Class({Implements:[Events,Options],options:{toolbar:!0,cleanup:!0,paragraphise:!0,xhtml:!0,semantics:!0,actions:"bold italic underline strikethrough | insertunorderedlist i [...]
\ No newline at end of file
diff --git a/src/main/jbake/assets/js/haddock.js b/src/main/jbake/assets/js/haddock.js
index 4f1b616..9b102d0 100755
--- a/src/main/jbake/assets/js/haddock.js
+++ b/src/main/jbake/assets/js/haddock.js
@@ -1 +1 @@
-function HighlightQuery(e,t,n){if(t||(t=(document.referrer.match(/(?:\?|&)(?:q|query)=([^&]*)/)||[,""])[1])){try{var r=decodeURIComponent(t).stripScripts().replace(/\+/g," ").replace(/\s+-\S+/g,"").replace(/([\(\[\{\\\^\$\|\)\?\*\.\+])/g,"\\$1").trim().replace(/\s+/g,"|"),i=RegExp("("+r+")","gi")}catch(s){console.error(s);return}e.mapTextNodes(function(e){var t=e.replace(/</g,"&lt;");return i.test(t)&&(e=t.replace(i,n||"<mark>$&</mark>")),e},!0)}}function Accesskey(e){var t="accesskey",n [...]
\ No newline at end of file
+function HighlightQuery(e,t,n){if(t||(t=(document.referrer.match(/(?:\?|&)(?:q|query)=([^&]*)/)||[,""])[1])){try{var r=decodeURIComponent(t).escapeHtml().replace(/\+/g," ").replace(/\s+-\S+/g,"").replace(/([([{\\^$|)?*.+])/g,"\\$1").trim().replace(/\s+/g,"|"),i=RegExp("("+r+")","gi")}catch(s){console.error(s);return}e.mapTextNodes(function(e){return e.replace(/</g,"&lt;").replace(i,n||"<mark>$&</mark>")},!0)}}function Accesskey(e){var t="accesskey",n=e.get(t).slice(0,1),r=e.get("title"); [...]
\ No newline at end of file
diff --git a/src/main/jbake/assets/js/jspwiki-common.js b/src/main/jbake/assets/js/jspwiki-common.js
index 1144167..167393f 100755
--- a/src/main/jbake/assets/js/jspwiki-common.js
+++ b/src/main/jbake/assets/js/jspwiki-common.js
@@ -1 +1 @@
-function $getText(e){return e.innerText||e.textContent||""}function $T(e){var t=$(e);return t&&t.tBodies[0]?$(t.tBodies[0]):t}function getAncestorByTagName(e,t){return e?e.nodeType==1&&e.tagName.toLowerCase()==t.toLowerCase()?e:getAncestorByTagName(e.parentNode,t):null}function getXMLHttpRequest(){var e=!1;if(window.XMLHttpRequest)e=new XMLHttpRequest;else if(window.ActiveXObject)try{e=new ActiveXObject("Msxml2.XMLHTTP")}catch(t){try{e=new ActiveXObject("Microsoft.XMLHTTP")}catch(n){e=!1 [...]
\ No newline at end of file
+function $getText(e){return e.innerText||e.textContent||""}function $T(e){var t=$(e);return t&&t.tBodies[0]?$(t.tBodies[0]):t}function getAncestorByTagName(e,t){return e?e.nodeType==1&&e.tagName.toLowerCase()==t.toLowerCase()?e:getAncestorByTagName(e.parentNode,t):null}function getXMLHttpRequest(){var e=!1;if(window.XMLHttpRequest)e=new XMLHttpRequest;else if(window.ActiveXObject)try{e=new ActiveXObject("Msxml2.XMLHTTP")}catch(t){try{e=new ActiveXObject("Microsoft.XMLHTTP")}catch(n){e=!1 [...]
\ No newline at end of file
diff --git a/src/main/jbake/assets/js/jspwiki-edit.js b/src/main/jbake/assets/js/jspwiki-edit.js
index 493e9c4..d96a929 100755
--- a/src/main/jbake/assets/js/jspwiki-edit.js
+++ b/src/main/jbake/assets/js/jspwiki-edit.js
@@ -1 +1 @@
-var WikiSnippets={getSnippets:function(){var e=new Date,t=e.getDate()<10?"0"+e.getDate():e.getDate(),n=e.getMonth()<9?"0"+(e.getMonth()+1):e.getMonth()+1,r=e.getFullYear()+"-"+n+"-"+t;return{toc:{snippet:["","[{TableOfContents }]","\n"],tab:["[{TableOfContents }]",""]},link:{snippet:["[","link text|pagename","]"],tab:["link text","pagename",""]},code:{snippet:["%%prettify \n{{{\n","some code block","\n}}}\n/%\n"],tab:["some code block",""]},pre:{snippet:["{{{\n","some preformatted block" [...]
\ No newline at end of file
+var WikiSnippets={getSnippets:function(){var e=new Date,t=e.getDate()<10?"0"+e.getDate():e.getDate(),n=e.getMonth()<9?"0"+(e.getMonth()+1):e.getMonth()+1,r=e.getFullYear()+"-"+n+"-"+t;return{toc:{snippet:["","[{TableOfContents }]","\n"],tab:["[{TableOfContents }]",""]},link:{snippet:["[","link text|pagename","]"],tab:["link text","pagename",""]},code:{snippet:["%%prettify \n{{{\n","some code block","\n}}}\n/%\n"],tab:["some code block",""]},pre:{snippet:["{{{\n","some preformatted block" [...]
\ No newline at end of file


[jspwiki-site] 02/03: update copyright year + remove breadcrumb div to mimic jspwiki-wiki.a.o appereance

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo pushed a commit to branch jbake
in repository https://gitbox.apache.org/repos/asf/jspwiki-site.git

commit b9f8aa8cab1c3e391d02abcd9be76ab1d5d0e538
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Apr 5 11:11:43 2020 +0200

    update copyright year + remove breadcrumb div to mimic jspwiki-wiki.a.o appereance
---
 src/main/jbake/templates/page.ftl | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/main/jbake/templates/page.ftl b/src/main/jbake/templates/page.ftl
index b1e3d98..997dd65 100755
--- a/src/main/jbake/templates/page.ftl
+++ b/src/main/jbake/templates/page.ftl
@@ -146,7 +146,6 @@
         <a href="${config.wiki_site_host}/Wiki.jsp?page=Main"></a><a href="#top">Main</a>
       </div>
     </div>
-    <div class="breadcrumb">&nbsp;</div>
     <div class="navigation">
       <ul class="nav nav-pills pull-left">
         <li id="menu"><a href="#"><!--&#x2261;-->☰</a></li>
@@ -288,7 +287,7 @@
       }
     </style>
     <div class="feather">
-      Copyright &copy; 2019 The Apache Software Foundation, <br>
+      Copyright &copy; 2020 The Apache Software Foundation, <br>
       Licensed under the <a class="external" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a><img class="outlink" src="./images/out.png" alt="">.<br>
       Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br> <br>
     </div> 


[jspwiki-site] 03/03: add 'static' part of the translation status page

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo pushed a commit to branch jbake
in repository https://gitbox.apache.org/repos/asf/jspwiki-site.git

commit 85aeb6e7c20a7fe2510895871074d1faa0ef86ac
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Apr 5 11:12:19 2020 +0200

    add 'static' part of the translation status page
---
 src/main/config/i18n-header.txt | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/src/main/config/i18n-header.txt b/src/main/config/i18n-header.txt
new file mode 100644
index 0000000..5dd626b
--- /dev/null
+++ b/src/main/config/i18n-header.txt
@@ -0,0 +1,27 @@
+breadcrumb={"url": "https://jspwiki.apache.org/development/", "name": "I18n status" }
+status=published
+title=I18n status
+type=page
+~~~~~~
+Apache JSPWiki translation status
+---------------------------------
+
+Apache JSPWiki is available in several languages. You can help us by <strong>improving, completing or adding new translations!</strong>. See <a href="https://jspwiki-wiki.apache.org/Wiki.jsp?page=HowToI18n">Apache JSPWiki's translations</a> for details.
+
+The table below depicts, for each available language, as of last commit:
+
+* the translation status
+* the number of outdated or duplicated entries
+* if it has an associated set of inital WikiPages
+<br/>
+
+<div class="graphBars% translated-LimeGreen-IndianRed-minv0-max300-inside-progress">
+<div class="graphBars# outdated-minv0-min20-max150-inside-warning">
+<div class="graphBars# duplicates-minv0-min20-max90-inside-warning">
+<table class="wikitable table-condensed table-bordered" border="1">
+    <tr>
+       <th>Locale</th>
+	   <th style="width:400px">% translated</th>
+	   <th># outdated</th>
+	   <th># duplicates</th>
+    </tr>