瀏覽代碼

first commit

Evgeny Polivanov 2 年之前
當前提交
dd68f8cc14
共有 65 個文件被更改,包括 4740 次插入0 次删除
  1. 4 0
      README.md
  2. 73 0
      css/_admin.less
  3. 151 0
      css/_diff.css
  4. 144 0
      css/_edit.css
  5. 107 0
      css/_fileuploader.css
  6. 31 0
      css/_footnotes.css
  7. 106 0
      css/_forms.css
  8. 38 0
      css/_imgdetail.css
  9. 70 0
      css/_links.css
  10. 541 0
      css/_media_fullscreen.css
  11. 208 0
      css/_media_popup.css
  12. 94 0
      css/_modal.css
  13. 75 0
      css/_recent.css
  14. 204 0
      css/_search.less
  15. 84 0
      css/_tabs.css
  16. 93 0
      css/_toc.css
  17. 470 0
      css/basic.less
  18. 420 0
      css/content.less
  19. 360 0
      css/design.less
  20. 332 0
      css/mobile.less
  21. 124 0
      css/pagetools.less
  22. 178 0
      css/print.css
  23. 89 0
      css/structure.less
  24. 50 0
      css/usertools.less
  25. 104 0
      detail.php
  26. 二進制
      images/apple-touch-icon.png
  27. 二進制
      images/button-css.png
  28. 二進制
      images/button-donate.gif
  29. 二進制
      images/button-dw.png
  30. 二進制
      images/button-html5.png
  31. 二進制
      images/button-php.gif
  32. 二進制
      images/button-rss.png
  33. 二進制
      images/favicon.ico
  34. 5 0
      images/license.txt
  35. 二進制
      images/logo.png
  36. 8 0
      images/page-background.svg
  37. 二進制
      images/page-gradient.png
  38. 125 0
      images/pagetools-build.php
  39. 二進制
      images/pagetools/00_default.png
  40. 二進制
      images/pagetools/01_edit.png
  41. 二進制
      images/pagetools/02_create.png
  42. 二進制
      images/pagetools/03_draft.png
  43. 二進制
      images/pagetools/05_source.png
  44. 二進制
      images/pagetools/06_revert.png
  45. 二進制
      images/pagetools/07_revisions.png
  46. 二進制
      images/pagetools/08_backlink.png
  47. 二進制
      images/pagetools/09_subscribe.png
  48. 二進制
      images/pagetools/10_top.png
  49. 二進制
      images/pagetools/11_mediamanager.png
  50. 二進制
      images/pagetools/12_back.png
  51. 4 0
      images/pagetools/license.txt
  52. 二進制
      images/search.png
  53. 二進制
      images/toc-arrows.png
  54. 二進制
      images/toc-bullet.png
  55. 13 0
      lang/en/lang.php
  56. 4 0
      lang/en/style.txt
  57. 18 0
      lang/ru/lang.php
  58. 1 0
      lang/ru/style.txt
  59. 89 0
      main.php
  60. 43 0
      mediamanager.php
  61. 89 0
      script.js
  62. 89 0
      style.ini
  63. 7 0
      template.info.txt
  64. 13 0
      tpl_footer.php
  65. 82 0
      tpl_header.php

+ 4 - 0
README.md

@@ -0,0 +1,4 @@
+### Assist DokuWiki Template
+1. Add template in your project **your_dokuwiki/lib/tpl/** ```git clone -b assist http://git.sharix-app.org/ShariX/sharix-docuwiki-template.git assist_template```
+2. Download logo and favicon from branch **logos** and install with Media Manager
+3. Change template in **Configuration Manager** and save changes

+ 73 - 0
css/_admin.less

@@ -0,0 +1,73 @@
+.dokuwiki div.ui-admin {
+
+    /* main task grouped in two columns */
+    ul.admin_tasks {
+        float: left;
+        width: 40%;
+        list-style-type: none;
+        font-size: 1.125em;
+    }
+    [dir=rtl] & ul.admin_tasks {
+        float: right;
+    }
+
+    /* general menu item styling */
+    ul {
+        padding: 0;
+        li {
+            margin: 0 0 1em 0;
+            font-weight: bold;
+            list-style-type: none;
+            white-space: nowrap;
+
+            a {
+                display: flex;
+                span {
+                    display: inline-block;
+
+                    &.icon {
+                        width: 1.5em;
+                        min-height: 1.5em;
+                        margin: 0 0.5em;
+                        vertical-align: top;
+
+                        svg {
+                            width: 1.5em;
+                            height: 1.5em;
+                            fill: @ini_link;
+                            display: inline-block;
+                            path {
+                                fill: @ini_link;
+                            }
+                        }
+                    }
+
+                    &.prompt {
+                        white-space: normal;
+                    }
+                }
+            }
+        }
+    }
+
+    /* DokuWiki version */
+    #admin__version {
+        clear: left;
+        float: right;
+        color: @ini_text_neu;
+        background-color: inherit;
+    }
+    [dir=rtl] & #admin__version {
+        clear: right;
+        float: left;
+    }
+
+    /* data directory security check */
+    #security__check {
+        float: right;
+        max-width: 20em;
+    }
+    [dir=rtl] & #admin__version {
+        float: left;
+    }
+}

+ 151 - 0
css/_diff.css

@@ -0,0 +1,151 @@
+/**
+ * This file provides styles for the diff view, which shows you
+ * differences between two versions of a page (?do=diff).
+ */
+@font-face {
+    font-family: "Roboto";
+    font-weight: 200;
+    font-style: normal;
+    font-stretch: normal;
+    src: url("lib/tpl/mytemplate/css/roboto.ttf") format("truetype");
+}
+/*Меняет шрифт всего вики*/
+body {
+    /*"Comic Sans MS", "Open Sans",*/
+    font-family:  "Roboto" !important;
+}
+.dokuwiki table.diff {
+    width: 100%;
+    border-width: 0;
+}
+.dokuwiki table.diff th,
+.dokuwiki table.diff td {
+    vertical-align: top;
+    padding: 0;
+    border-width: 0;
+    /* no style.ini colours because deleted and added lines have a fixed background colour */
+    background-color: #fff;
+    color: #333;
+}
+
+/* table header */
+.dokuwiki table.diff th {
+    border-bottom: 1px solid @ini_border;
+    font-size: 110%;
+    font-weight: normal;
+}
+.dokuwiki table.diff th a {
+    font-weight: bold;
+}
+.dokuwiki table.diff th span.user {
+    font-size: .9em;
+}
+.dokuwiki table.diff th span.sum {
+    font-size: .9em;
+    font-weight: bold;
+}
+.dokuwiki table.diff th.minor {
+    color: #999;
+}
+.dokuwiki table.diff_sidebyside th {
+    width: 50%;
+}
+
+/* table body */
+.dokuwiki table.diff .diff-lineheader {
+    width: .7em;
+    text-align: right;
+}
+[dir=rtl] .dokuwiki table.diff .diff-lineheader {
+    text-align: left;
+}
+.dokuwiki table.diff .diff-lineheader,
+.dokuwiki table.diff td {
+    font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace;
+}
+.dokuwiki table.diff td.diff-blockheader {
+    font-weight: bold;
+}
+.dokuwiki table.diff .diff-addedline {
+    background-color: #cfc;
+    color: inherit;
+    width: ~"calc(50% - .7em)";
+}
+.dokuwiki table.diff .diff-deletedline {
+    background-color: #fdd;
+    color: inherit;
+    width: ~"calc(50% - .7em)";
+}
+.dokuwiki table.diff td.diff-context {
+    background-color: #eee;
+    color: inherit;
+    width: ~"calc(50% - .7em)";
+}
+.dokuwiki table.diff td.diff-addedline strong,
+.dokuwiki table.diff td.diff-deletedline strong {
+    color: #f00;
+    background-color: inherit;
+    font-weight: bold;
+}
+
+/* diff options */
+
+.dokuwiki .diffoptions form {
+    float: left;
+}
+.dokuwiki .diffoptions p {
+    float: right;
+}
+
+/* diff nav */
+
+.dokuwiki table.diff_sidebyside td.diffnav {
+    padding-bottom: .7em;
+}
+.dokuwiki .diffnav a {
+    display: inline-block;
+    vertical-align: middle;
+}
+.dokuwiki .diffnav a span {
+    display: none;
+}
+
+.dokuwiki .diffnav a:hover,
+.dokuwiki .diffnav a:active,
+.dokuwiki .diffnav a:focus {
+    background-color: @ini_background_alt;
+    text-decoration: none;
+}
+
+.dokuwiki .diffnav a:before {
+    display: inline-block;
+    line-height: 1;
+    padding: .2em .4em;
+    border: 1px solid @ini_border;
+    border-radius: 2px;
+    color: @ini_text;
+}
+
+.dokuwiki .diffnav a.diffprevrev:before {
+    content: '\25C0'; /* left triangle */
+}
+.dokuwiki .diffnav a.diffnextrev:before,
+.dokuwiki .diffnav a.difflastrev:before {
+    content: '\25B6'; /* right triangle */
+}
+.dokuwiki .diffnav a.diffbothprevrev:before {
+    content: '\25C0\25C0';
+}
+.dokuwiki .diffnav a.diffbothnextrev:before {
+    content: '\25B6\25B6';
+}
+
+.dokuwiki .diffnav select {
+    width: 60%;
+    min-width: 9em;
+    height: 1.5em; /* height is necessary for longer options in Webkit */
+}
+
+.dokuwiki .diffnav select option[selected] {
+    font-weight: bold;
+}

+ 144 - 0
css/_edit.css

@@ -0,0 +1,144 @@
+/**
+ * This file provides styles for the edit view (?do=edit), preview
+ * and section edit buttons.
+ */
+
+/* edit view
+********************************************************************/
+
+.dokuwiki div.editBox {
+}
+
+/*____________ toolbar ____________*/
+
+.dokuwiki div.toolbar {
+    display: inline-block;
+    margin-bottom: .5em;
+}
+#draft__status {
+    float: right;
+    color: @ini_text_alt;
+    background-color: inherit;
+}
+[dir=rtl] #draft__status {
+    float: left;
+}
+#tool__bar {
+    float: left;
+}
+[dir=rtl] #tool__bar {
+    float: right;
+}
+
+/* buttons inside of toolbar */
+.dokuwiki div.toolbar button.toolbutton {
+    background-color: transparent !important;
+}
+/* picker popups (outside of .dokuwiki) */
+div.picker {
+    width: 300px;
+    border: 1px solid @ini_border;
+    background-color: @ini_background_alt;
+    color: inherit;
+}
+/* picker for headlines */
+div.picker.pk_hl {
+    width: auto;
+}
+
+/* buttons inside of picker */
+div.picker button.pickerbutton,
+div.picker button.toolbutton {
+    padding: .1em .35em;
+    border-width: 0;
+    background-color: transparent !important;
+}
+
+/*____________ edit textarea ____________*/
+
+.dokuwiki textarea.edit {
+    width: 100%;
+    margin-bottom: .5em;
+    resize: vertical;
+}
+
+/*____________ below the textarea ____________*/
+
+.dokuwiki div.editBar {
+    overflow: hidden;
+    margin-bottom: .5em;
+}
+
+/* size and wrap controls */
+#size__ctl {
+    float: right;
+}
+[dir=rtl] #size__ctl {
+    float: left;
+}
+#size__ctl img {
+    cursor: pointer;
+}
+
+/* edit buttons */
+.dokuwiki .editBar .editButtons {
+    display: inline;
+    margin-right: 1em;
+}
+[dir=rtl] .dokuwiki .editBar .editButtons {
+    margin-right: 0;
+    margin-left: 1em;
+}
+.dokuwiki .editBar .editButtons button {
+}
+
+/* summary input and minor changes checkbox */
+.dokuwiki .editBar .summary {
+    display: inline;
+}
+.dokuwiki .editBar .summary label {
+    vertical-align: middle;
+    white-space: nowrap;
+}
+.dokuwiki .editBar .summary label span {
+    vertical-align: middle;
+}
+.dokuwiki .editBar .summary input {
+}
+/* change background colour if summary is missing */
+.dokuwiki .editBar .summary input.missing {
+    color: @ini_text;
+    background-color: #ffcccc;
+}
+
+/* preview
+********************************************************************/
+
+.dokuwiki div.preview {
+    border: dotted @ini_border;
+    border-width: .2em 0;
+    padding: 1.4em 0;
+    margin-bottom: 1.4em;
+}
+
+/* section edit buttons
+********************************************************************/
+
+.dokuwiki .secedit {
+    float: right;
+    margin-top: -1.4em;
+}
+[dir=rtl] .dokuwiki .secedit {
+    float: left;
+}
+.dokuwiki .secedit button {
+    font-size: 75%;
+}
+
+/* style for section highlighting */
+.dokuwiki div.section_highlight {
+    margin: 0 -1em; /* negative side margin = side padding + side border */
+    padding: 0 .5em;
+    border: solid @ini_background_alt;
+    border-width: 0 .5em;
+}

+ 107 - 0
css/_fileuploader.css

@@ -0,0 +1,107 @@
+/**
+ * This file provides the styles for the file uploader
+ * used in the media manager (both fullscreen and popup).
+ */
+
+.qq-uploader {
+    position: relative;
+    width: 100%;
+}
+
+.qq-uploader .error {
+    color: #f00;
+    background-color: #fff;
+}
+
+/* select file button */
+
+.qq-upload-button {
+    display: inline-block;
+    text-decoration: none;
+    font-size: 100%;
+    cursor: pointer;
+    margin: 1px 1px 5px;
+}
+
+.qq-upload-button-focus {
+    outline: 1px dotted;
+}
+
+/* drop area */
+
+.qq-upload-drop-area {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    min-height: 70px;
+    z-index: 2;
+    background: @ini_background_neu;
+    color: @ini_text;
+    text-align: center;
+}
+
+.qq-upload-drop-area span {
+    display: block;
+    position: absolute;
+    top: 50%;
+    width: 100%;
+    margin-top: -8px;
+    font-size: 120%;
+}
+
+.qq-upload-drop-area-active {
+    background: @ini_background_alt;
+}
+
+/* list of files to upload */
+
+div.qq-uploader ul {
+    margin: 0;
+    padding: 0;
+    list-style: none;
+}
+
+.qq-uploader li {
+    margin: 0 0 5px;
+    color: @ini_text;
+}
+
+.qq-uploader li span,
+.qq-uploader li input,
+.qq-uploader li a {
+    margin-right: 5px;
+}
+
+.qq-upload-file {
+    display: block;
+    font-weight: bold;
+}
+
+.qq-upload-spinner {
+    display: inline-block;
+    background: url("../../images/throbber.gif");
+    width: 15px;
+    height: 15px;
+    vertical-align: text-bottom;
+}
+
+.qq-upload-size,
+.qq-upload-cancel {
+    font-size: 85%;
+}
+
+.qq-upload-failed-text {
+    display: none;
+}
+.qq-upload-fail .qq-upload-failed-text {
+    display: inline;
+}
+
+.qq-action-container * {
+    vertical-align: middle;
+}
+.qq-overwrite-check input {
+    margin-left: 10px;
+}

+ 31 - 0
css/_footnotes.css

@@ -0,0 +1,31 @@
+/**
+ * This file provides styles for footnotes.
+ */
+
+/*____________ footnotes inside the text ____________*/
+
+/* link to footnote inside the text */
+.dokuwiki sup a.fn_top {
+}
+/* JSpopup */
+div.insitu-footnote {
+    max-width: 40%;
+    min-width: 5em;
+}
+
+/*____________ footnotes at the bottom of the page ____________*/
+
+.dokuwiki div.footnotes {
+    border-top: 1px solid @ini_border;
+    padding: .5em 0 0 0;
+    margin: 1em 0 0 0;
+    clear: both;
+}
+.dokuwiki div.footnotes div.fn {
+}
+.dokuwiki div.footnotes div.fn div.content {
+    display: inline;
+}
+.dokuwiki div.footnotes div.fn sup a.fn_bot {
+    font-weight: bold;
+}

+ 106 - 0
css/_forms.css

@@ -0,0 +1,106 @@
+/* TODO: this file is not up to the best standards and will be fixed after an overhaul of the form code */
+
+/**
+ * This file provides styles for forms in general and specifically
+ * for ?do=
+ *   - login
+ *   - resendpwd
+ *   - register
+ *   - profile
+ *   - subscribe
+ */
+
+/* ---------------- forms ------------------------ */
+
+.dokuwiki form {
+  border: none;
+  display: inline;
+}
+
+.dokuwiki label.block {
+  display: block;
+  text-align: right;
+  font-weight: bold;
+}
+[dir=rtl] .dokuwiki label.block {
+    text-align: left;
+}
+
+.dokuwiki label.simple {
+  display: block;
+  text-align: left;
+  font-weight: normal;
+}
+[dir=rtl] .dokuwiki label.simple {
+    text-align: right;
+}
+
+.dokuwiki label.block select,
+.dokuwiki label.block input.edit {
+  width: 50%;
+}
+
+.dokuwiki label span {
+    vertical-align: middle;
+}
+
+.dokuwiki fieldset {
+  width: 400px;
+  text-align: center;
+  border: 1px solid @ini_border;
+  padding: 0.5em;
+  margin: auto;
+}
+
+
+.dokuwiki input.edit,
+.dokuwiki select.edit {
+  vertical-align: middle;
+}
+.dokuwiki select.edit {
+  padding: 0.1em 0;
+}
+
+
+.dokuwiki button {
+    vertical-align: middle;
+}
+/**
+ * Styles for auth forms
+ */
+#dw__login label[for="remember__me"] {
+    margin-left: 50%;
+    margin-bottom: 1.4em;
+}
+#dw__login fieldset,
+#dw__resendpwd fieldset,
+#dw__register fieldset {
+    padding-bottom: 0.7em;
+}
+#dw__profiledelete {
+    display: block;
+    margin-top: 2.8em;
+}
+
+/**
+ * Styles for the subscription page
+ */
+
+#subscribe__form {
+    display: block;
+    width: 400px;
+    text-align: center;
+}
+
+#subscribe__form fieldset {
+    text-align: left;
+    margin: 0.5em 0;
+}
+[dir=rtl] #subscribe__form fieldset {
+    text-align: right;
+}
+
+#subscribe__form label {
+    display: block;
+    margin: 0 0.5em 0.5em;
+}

+ 38 - 0
css/_imgdetail.css

@@ -0,0 +1,38 @@
+/**
+ * This file provides styles for the image detail page (detail.php).
+ */
+
+#dokuwiki__detail {
+    padding: 1em;
+}
+#dokuwiki__detail h1 {
+}
+
+#dokuwiki__detail img {
+    float: left;
+    margin: 0 1.5em .5em 0;
+}
+[dir=rtl] #dokuwiki__detail div.content img {
+    float: right;
+    margin-right: 0;
+    margin-left: 1.5em;
+}
+#dokuwiki__detail div.img_detail {
+    float: left;
+}
+[dir=rtl] #dokuwiki__detail div.content div.img_detail {
+    float: right
+}
+
+#dokuwiki__detail div.img_detail h2 {
+}
+#dokuwiki__detail div.img_detail dl {
+}
+#dokuwiki__detail div.img_detail dl dt {
+}
+#dokuwiki__detail div.img_detail dl dd {
+}
+
+#dokuwiki__detail p.back {
+    clear: both;
+}

+ 70 - 0
css/_links.css

@@ -0,0 +1,70 @@
+/**
+ * This file provides styles for all types of links.
+ */
+
+/*____________ links to wiki pages ____________*/
+
+/* existing wikipage */
+.dokuwiki a.wikilink1 {
+}
+/* not existing wikipage */
+.dokuwiki a.wikilink2 {
+    text-decoration: none;
+}
+.dokuwiki a.wikilink2:link,
+.dokuwiki a.wikilink2:visited {
+    border-bottom: 1px dashed;
+}
+.dokuwiki a.wikilink2:hover,
+.dokuwiki a.wikilink2:active,
+.dokuwiki a.wikilink2:focus {
+    border-bottom-width: 0;
+}
+
+/* any link to current page */
+.dokuwiki span.curid a {
+    font-weight: bold;
+}
+
+/*____________ other link types ____________*/
+
+.dokuwiki a.urlextern,
+.dokuwiki a.windows,
+.dokuwiki a.mail,
+.dokuwiki a.mediafile,
+.dokuwiki a.interwiki {
+    background-size: 1.2em;
+    background-repeat: no-repeat;
+    background-position: 0 center;
+    padding: 0 0 0 1.4em;
+}
+/* external link */
+.dokuwiki a.urlextern {
+    background-image: url(../../images/external-link.svg);
+}
+/* windows share */
+.dokuwiki a.windows {
+    background-image: url(../../images/unc.svg);
+}
+/* email link */
+.dokuwiki a.mail {
+    background-image: url(../../images/email.svg);
+}
+
+/* icons of the following are set by dokuwiki in lib/exe/css.php */
+/* link to some embedded media */
+.dokuwiki a.mediafile {
+}
+/* interwiki link */
+.dokuwiki a.interwiki {
+}
+
+/* RTL corrections; if link icons don't work as expected, remove the following lines */
+[dir=rtl] .dokuwiki a.urlextern,
+[dir=rtl] .dokuwiki a.windows,
+[dir=rtl] .dokuwiki a.mail,
+[dir=rtl] .dokuwiki a.interwiki,
+[dir=rtl] .dokuwiki a.mediafile {
+    background-position: right center;
+    padding: 0 18px 0 0;
+}

+ 541 - 0
css/_media_fullscreen.css

@@ -0,0 +1,541 @@
+/**
+ * This file provides the styles for the fullscreen media manager
+ * (?do=media).
+ *
+ * What most templates would probably need to change (depending on
+ * their site width) are the 4 min-width's (search for @change).
+ */
+
+
+/*____________ structure ____________*/
+
+#mediamanager__page h1 {
+    margin-bottom: .5em;
+}
+
+#mediamanager__page {
+    /* min-width must be summary of all 3 panels' min-widths */
+    min-width: 50em; /* @change */
+    width: 100%;
+    text-align: left;
+}
+[dir=rtl] #mediamanager__page {
+    text-align: right;
+}
+#mediamanager__page .panel {
+    float: left;
+}
+[dir=rtl] #mediamanager__page .panel {
+    float: right;
+}
+
+#mediamanager__page .namespaces {
+    width: 20%;
+    min-width: 10em; /* @change */
+    left:0 !important; /* overrules jQuery UI resizable in rtl */
+}
+#mediamanager__page .filelist {
+    width: 50%;
+    min-width: 25em; /* @change */
+    left:0 !important; /* overrules jQuery UI resizable in rtl */
+}
+#mediamanager__page .file {
+    width: 30%;
+    min-width: 15em; /* @change */
+}
+
+#mediamanager__page .tabs li {
+    white-space: nowrap;
+}
+
+#mediamanager__page .panelHeader {
+    background-color: @ini_background_alt;
+    margin: 0 10px 10px 0;
+    padding: 10px 10px 8px;
+    text-align: left;
+    min-height: 20px;
+    overflow: hidden;
+}
+[dir=rtl] #mediamanager__page .panelHeader {
+    text-align: right;
+    margin: 0 0 10px 10px;
+}
+#mediamanager__page .panelContent {
+    overflow-y: auto;
+    overflow-x: hidden;
+    padding: 0;
+    margin: 0 10px 10px 0;
+    position: relative;
+}
+[dir=rtl] #mediamanager__page .panelContent {
+    text-align: right;
+    margin: 0 0 10px 10px;
+}
+
+#mediamanager__page .file .panelHeader,
+#mediamanager__page .file .panelContent {
+    margin-right: 0;
+}
+[dir=rtl] #mediamanager__page .file .panelHeader,
+[dir=rtl] #mediamanager__page .file .panelContent {
+    margin-left: 0;
+}
+
+#mediamanager__page .ui-resizable-e {
+    width: 6px;
+    right: 2px;
+    background: transparent url(../../images/resizecol.png) center center no-repeat;
+}
+#mediamanager__page .ui-resizable-e:hover {
+    background-color: @ini_background_alt;
+}
+[dir=rtl] #mediamanager__page .ui-resizable-w {
+    width: 6px;
+    left: 2px;
+    background: transparent url(../../images/resizecol.png) center center no-repeat;
+}
+[dir=rtl] #mediamanager__page .ui-resizable-w:hover {
+    background-color: @ini_background_alt;
+}
+
+
+#mediamanager__page dd {
+    margin: 0;
+}
+
+#mediamanager__page .panelHeader h3 {
+    float: left;
+    font-weight: normal;
+    font-size: 1em;
+    padding: 0;
+    margin: 0 0 3px;
+}
+[dir=rtl] #mediamanager__page .panelHeader h3 {
+    float : right
+}
+
+
+/*____________ namespaces panel ____________*/
+
+[dir=rtl] #mediamanager__page .namespaces {
+    text-align: right;
+}
+
+/* make it look like a tab (as in _tabs.css) */
+#mediamanager__page .namespaces h2 {
+    font-size: 1em;
+    display: inline-block;
+    padding: .3em .8em;
+    margin: 0 0 0 .3em;
+    border-radius: .5em .5em 0 0;
+    font-weight: normal;
+    background-color: @ini_background_alt;
+    color: @ini_text;
+    border: 1px solid @ini_border;
+    border-bottom-color: @ini_background_alt;
+    line-height: 1.4em;
+    position: relative;
+    bottom: -1px;
+    z-index: 2;
+}
+[dir=rtl] #mediamanager__page .namespaces h2 {
+    margin: 0 .3em 0 0;
+    position: relative;
+    right: 10px;
+}
+#mediamanager__page .namespaces .panelHeader {
+    border-top: 1px solid @ini_border;
+    z-index: 1;
+}
+
+#mediamanager__page .namespaces ul {
+    margin-left: .2em;
+    margin-bottom: 0;
+    padding: 0;
+    list-style: none;
+}
+[dir=rtl] #mediamanager__page .namespaces ul {
+    margin-left: 0;
+    margin-right: .2em;
+}
+#mediamanager__page .namespaces ul ul {
+    margin-left: 1em;
+}
+[dir=rtl] #mediamanager__page .namespaces ul ul {
+    margin-left: 0;
+    margin-right: 1em;
+}
+#mediamanager__page .namespaces ul ul li {
+    margin: 0;
+}
+
+#mediamanager__page .namespaces ul .selected {
+    background-color: __highlight__;
+    font-weight: bold;
+}
+
+
+/*____________ file list panel ____________*/
+
+/* file list header */
+
+#mediamanager__page .panelHeader form.options {
+    float: right;
+    margin-top: -3px;
+}
+[dir=rtl] #mediamanager__page .panelHeader form.options {
+    float : left
+}
+#mediamanager__page .panelHeader ul {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+#mediamanager__page .panelHeader ul li {
+    color: @ini_text;
+    float: left;
+    line-height: 1;
+    padding-left: 3px;
+}
+[dir=rtl] #mediamanager__page .panelHeader ul li {
+    padding-right: 3px;
+    padding-left: 0;
+    float: right;
+}
+
+#mediamanager__page .panelHeader ul li.ui-controlgroup-horizontal {
+    padding-left: 30px;
+    margin: 0 0 0 5px;
+}
+#mediamanager__page .panelHeader ul li.listType {
+    background: url('../../images/icon-list.png') 3px 1px no-repeat;
+}
+#mediamanager__page .panelHeader ul li.sortBy {
+    background: url('../../images/icon-sort.png') 3px 1px no-repeat;
+}
+[dir=rtl] #mediamanager__page .panelHeader ul li.ui-controlgroup-horizontal {
+    padding-left: 0;
+    padding-right: 30px;
+    margin: 0 5px 0 0;
+    background-position: right 1px;
+}
+
+#mediamanager__page .panelHeader form.options .ui-controlgroup-horizontal label{
+    font-size: 90%;
+    margin-right: -0.4em;
+    padding: .3em .5em;
+    line-height: 1;
+}
+
+/* file list content */
+
+#mediamanager__page .filelist ul {
+    padding: 0;
+    margin: 0 10px 0 0;
+}
+[dir=rtl] #mediamanager__page .filelist ul {
+    margin: 0 0 0 10px;
+}
+#mediamanager__page .filelist ul.rows {
+    margin: 0;
+}
+#mediamanager__page .filelist .panelContent ul li:hover {
+    background-color: @ini_background_alt;
+}
+
+#mediamanager__page .filelist li dt a {
+    vertical-align: middle;
+    display: table-cell;
+    overflow: hidden;
+}
+
+/* file list as thumbs */
+
+#mediamanager__page .filelist .thumbs li {
+    width: 100px;
+    min-height: 130px;
+    display: inline-block;
+    /* the right margin should visually be 10px, but because of its inline-block nature the whitespace inbetween is about 4px more */
+    margin: 0 6px 10px 0;
+    background-color: @ini_background_neu;
+    color: @ini_text;
+    padding: 5px;
+    vertical-align: top;
+    text-align: center;
+    position: relative;
+    line-height: 1.2;
+}
+[dir=rtl] #mediamanager__page .filelist .thumbs li {
+    margin-right: 0;
+    margin-left: 6px;
+}
+
+#mediamanager__page .filelist .thumbs li dt a {
+    width: 100px;
+    height: 90px;
+}
+
+#mediamanager__page .filelist .thumbs li dt a img {
+    max-width: 90px;
+    max-height: 90px;
+}
+
+#mediamanager__page .filelist .thumbs li .name,
+#mediamanager__page .filelist .thumbs li .size,
+#mediamanager__page .filelist .thumbs li .filesize,
+#mediamanager__page .filelist .thumbs li .date {
+    display: block;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    width: 90px;
+    white-space: nowrap;
+}
+#mediamanager__page .filelist .thumbs li .name {
+    padding: 5px 0;
+    font-weight: bold;
+}
+#mediamanager__page .filelist .thumbs li .date {
+    font-style: italic;
+    white-space: normal;
+}
+
+/* file list as rows */
+
+#mediamanager__page .filelist .rows li {
+    list-style: none;
+    display: block;
+    position: relative;
+    max-height: 50px;
+    margin: 0 0 3px 0;
+    background-color: @ini_background;
+    color: @ini_text;
+    overflow: hidden;
+}
+
+#mediamanager__page .filelist .rows li:nth-child(2n+1) {
+    background-color: @ini_background_neu;
+}
+
+#mediamanager__page .filelist .rows li dt {
+    float: left;
+    width: 10%;
+    height: 40px;
+    text-align: center;
+}
+[dir=rtl] #mediamanager__page .filelist .rows li dt {
+    float: right;
+}
+#mediamanager__page .filelist .rows li dt a {
+    width: 100px;
+    height: 40px;
+}
+
+#mediamanager__page .filelist .rows li dt a img {
+    max-width: 40px;
+    max-height: 40px;
+}
+
+#mediamanager__page .filelist .rows li .name,
+#mediamanager__page .filelist .rows li .size,
+#mediamanager__page .filelist .rows li .filesize,
+#mediamanager__page .filelist .rows li .date {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    float: left;
+    margin-left: 1%;
+    white-space: nowrap;
+}
+[dir=rtl] #mediamanager__page .filelist .rows li .name,
+[dir=rtl] #mediamanager__page .filelist .rows li .size,
+[dir=rtl] #mediamanager__page .filelist .rows li .filesize,
+[dir=rtl] #mediamanager__page .filelist .rows li .date {
+    float: right;
+    margin-left: 0;
+    margin-right: 1%;
+}
+
+#mediamanager__page .filelist .rows li .name {
+    width: 30%;
+    font-weight: bold;
+}
+#mediamanager__page .filelist .rows li .size,
+#mediamanager__page .filelist .rows li .filesize {
+    width: 15%;
+}
+#mediamanager__page .filelist .rows li .date {
+    width: 20%;
+    font-style: italic;
+    white-space: normal;
+}
+
+/* upload form */
+
+#mediamanager__page div.upload {
+    padding-bottom: 0.5em;
+}
+
+/*____________ file panel ____________*/
+
+#mediamanager__page .file ul.actions {
+    text-align: center;
+    margin: 0 0 5px;
+    padding: 0;
+    list-style: none;
+}
+#mediamanager__page .file ul.actions li {
+    display: inline;
+    margin: 0;
+}
+
+#mediamanager__page .file div.image {
+    margin-bottom: 5px;
+    text-align: center;
+}
+
+#mediamanager__page .file div.image img {
+    width: 100%;
+}
+
+#mediamanager__page .file dl {
+    margin-bottom: 0;
+}
+#mediamanager__page .file dl dt {
+    font-weight: bold;
+    display: block;
+    background-color: @ini_background_alt;
+}
+#mediamanager__page .file dl dd {
+    display: block;
+    background-color: @ini_background_neu;
+}
+
+
+/* file meta data edit form */
+
+#mediamanager__page form.meta div.row {
+    margin-bottom: 5px;
+}
+
+#mediamanager__page form.meta label span {
+    display: block;
+}
+
+#mediamanager__page form.meta input {
+    width: 50%;
+}
+
+#mediamanager__page form.meta button {
+    width: auto;
+}
+
+#mediamanager__page form.meta textarea.edit {
+    height: 6em;
+    width: 95%;
+    min-width: 95%;
+    max-width: 95%;
+}
+
+/* file revisions form */
+
+#mediamanager__page form.changes ul {
+    margin-left: 10px;
+    padding: 0;
+    list-style-type: none;
+}
+[dir=rtl] #mediamanager__page form.changes ul {
+    margin-left: 0;
+    margin-right: 10px;
+}
+
+#mediamanager__page form.changes ul li div.li div {
+    font-size: 90%;
+    color: @ini_text_neu;
+    padding-left: 18px;
+}
+[dir=rtl] #mediamanager__page form.changes ul li div.li div {
+    padding-left: 0;
+    padding-right: 18px;
+}
+#mediamanager__page form.changes ul li div.li input {
+    position: relative;
+    top: 1px;
+}
+
+/* file diff view */
+
+#mediamanager__diff table {
+    table-layout: fixed;
+    border-width: 0;
+}
+
+#mediamanager__diff td,
+#mediamanager__diff th {
+    width: 48%;
+    margin: 0 5px 10px 0;
+    padding: 0;
+    vertical-align: top;
+    text-align: left;
+    border-color: @ini_background;
+}
+[dir=rtl] #mediamanager__diff td,
+[dir=rtl] #mediamanager__diff th {
+    margin: 0 0 10px 5px;
+    text-align: right;
+}
+
+#mediamanager__diff th {
+    font-weight: normal;
+    background-color: @ini_background;
+    line-height: 1.2;
+}
+#mediamanager__diff th a {
+    font-weight: bold;
+}
+#mediamanager__diff th span {
+    font-size: 90%;
+}
+
+#mediamanager__diff dl dd strong{
+    background-color: __highlight__;
+    color: @ini_text;
+    font-weight: normal;
+}
+
+/* image diff views */
+
+#mediamanager__page .file form.diffView {
+    margin-bottom: 10px;
+    display: block;
+}
+
+#mediamanager__diff div.slider {
+    margin: 10px;
+    width: 95%;
+}
+
+#mediamanager__diff .imageDiff {
+    position: relative;
+}
+#mediamanager__diff .imageDiff .image2 {
+    position: absolute;
+    top: 0;
+    left: 0;
+}
+
+#mediamanager__diff .imageDiff.opacity .image2 {
+    opacity: 0.5;
+}
+
+#mediamanager__diff .imageDiff.portions .image2 {
+    border-right: 1px solid red;
+    overflow: hidden;
+}
+
+#mediamanager__diff .imageDiff.portions img {
+    float: left;
+}
+
+#mediamanager__diff .imageDiff img {
+    width: 100%;
+    max-width: none;
+}

+ 208 - 0
css/_media_popup.css

@@ -0,0 +1,208 @@
+/**
+ * This file provides styles for the media manager popup
+ * (mediamanager.php).
+ */
+
+/*____________ structure ____________*/
+
+html.popup {
+    overflow: auto;
+}
+
+#media__manager {
+    height: 100%;
+    overflow: hidden;
+}
+
+#mediamgr__aside {
+    width: 30%;
+    height: 100%;
+    overflow: auto;
+    position: absolute;
+    left: 0;
+    border-right: 1px solid @ini_border;
+}
+[dir=rtl] #mediamgr__aside {
+    left: auto;
+    right: 0;
+    border-right-width: 0;
+    border-left: 1px solid @ini_border;
+}
+#mediamgr__aside .pad {
+    padding: .5em;
+}
+
+#mediamgr__content {
+    width: 69.7%;
+    height: 100%;
+    overflow: auto;
+    position: absolute;
+    right: 0;
+}
+[dir=rtl] #mediamgr__content {
+    right: auto;
+    left: 0;
+}
+#mediamgr__content .pad {
+    padding: .5em;
+}
+
+#media__manager h1,
+#media__manager h2 {
+    font-size: 1.5em;
+    margin-bottom: .5em;
+    padding-bottom: .2em;
+    border-bottom: 1px solid @ini_border;
+}
+
+/* left side
+********************************************************************/
+
+/*____________ options ____________*/
+
+#media__opts {
+    margin-bottom: .5em;
+}
+
+#media__opts input {
+    margin-right: .3em;
+}
+[dir=rtl] #media__opts input {
+    margin-right: 0;
+    margin-left: .3em;
+}
+#media__opts label {
+}
+
+/*____________ tree ____________*/
+
+#media__tree ul {
+    padding-left: .2em;
+}
+[dir=rtl] #media__tree ul {
+    padding-left: 0;
+    padding-right: .2em;
+}
+#media__tree ul li {
+    clear: left;
+    list-style-type: none;
+    list-style-image: none;
+    margin-left: 0;
+}
+[dir=rtl] #media__tree ul li {
+    clear: right;
+    margin-right: 0;
+}
+#media__tree ul li img {
+    float: left;
+    padding: .5em .3em 0 0;
+}
+[dir=rtl] #media__tree ul li img {
+    float: right;
+    padding: .5em 0 0 .3em;
+}
+#media__tree ul li div.li {
+    display: inline;
+}
+#media__tree ul li li {
+    margin-left: 1.5em;
+}
+[dir=rtl] #media__tree ul li li {
+    margin-left: 0;
+    margin-right: 1.5em;
+}
+
+/* right side
+********************************************************************/
+
+/*____________ upload form ____________*/
+
+/* upload info */
+#media__content div.upload {
+    font-size: .9em;
+    margin-bottom: .5em;
+}
+
+#mediamanager__uploader {
+    margin-bottom: 1em;
+}
+#mediamanager__uploader p {
+    margin-bottom: .5em;
+}
+
+/*____________ file list ____________*/
+
+#media__content img.load {
+    margin: 1em auto;
+}
+
+#media__content .odd,
+#media__content .even {
+    padding: .5em;
+}
+#media__content .odd {
+    background-color: @ini_background_alt;
+}
+#media__content .even {
+}
+/* highlight newly uploaded or edited file */
+#media__content #scroll__here {
+    border: 1px dashed @ini_border;
+}
+
+/* link which inserts media file */
+#media__content a.mediafile {
+    margin-right: 1.5em;
+    font-weight: bold;
+    cursor: pointer;
+}
+[dir=rtl] #media__content a.mediafile {
+    margin-right: 0;
+    margin-left: 1.5em;
+}
+#media__content span.info {
+}
+#media__content img.btn {
+    vertical-align: text-bottom;
+}
+
+/* info how to insert media, if JS disabled */
+#media__content div.example {
+    color: @ini_text_neu;
+    margin-left: 1em;
+}
+
+#media__content div.detail {
+    padding: .2em 0;
+}
+#media__content div.detail div.thumb {
+    float: left;
+    margin: 0 .5em 0 18px;
+}
+[dir=rtl] #media__content div.detail div.thumb {
+    float: right;
+    margin: 0 18px 0 .5em;
+}
+#media__content div.detail div.thumb a {
+    display: block;
+    cursor: pointer;
+}
+#media__content div.detail p {
+    margin-bottom: 0;
+}
+
+
+/*____________ media search ____________*/
+
+#dw__mediasearch {
+}
+#dw__mediasearch p {
+}
+#dw__mediasearch label {
+}
+#dw__mediasearch label span {
+}
+#dw__mediasearch input.edit {
+}
+#dw__mediasearch button {
+}

+ 94 - 0
css/_modal.css

@@ -0,0 +1,94 @@
+/**
+ * This file provides styles for modal dialogues.
+ */
+
+.dokuwiki .ui-widget {
+    font-size: 100%;
+}
+
+
+/* link wizard (opens from the link button in the edit toolbar)
+********************************************************************/
+
+#link__wiz {
+}
+
+[dir=rtl] #link__wiz_close {
+    float: left;
+}
+
+#link__wiz_result {
+    background-color: @ini_background;
+    width:  293px;
+    height: 193px;
+    overflow: auto;
+    border: 1px solid @ini_border;
+    margin: 3px auto;
+    text-align: left;
+    line-height: 1;
+}
+[dir=rtl] #link__wiz_result {
+    text-align: right;
+}
+
+#link__wiz_result div {
+    padding: 3px 3px 3px 0;
+}
+
+#link__wiz_result div a {
+    display: block;
+    padding-left: 22px;
+    min-height: 16px;
+    background: transparent 3px center no-repeat;
+}
+[dir=rtl] #link__wiz_result div a {
+    padding: 3px 22px 3px 3px;
+    background-position: 257px 3px;
+}
+
+#link__wiz_result div.type_u a {
+    background-image: url(../../images/up.png);
+}
+#link__wiz_result div.type_f a {
+    background-image: url(../../images/page.png);
+}
+#link__wiz_result div.type_d a {
+    background-image: url(../../images/ns.png);
+}
+
+#link__wiz_result div.even {
+    background-color: @ini_background_neu;
+}
+
+#link__wiz_result div.selected {
+    background-color: @ini_background_alt;
+}
+
+#link__wiz_result span {
+    display: block;
+    color: @ini_text_neu;
+    margin-left: 22px;
+}
+
+
+/* media option wizard (opens when inserting media in the media popup)
+********************************************************************/
+
+#media__popup {
+    /* for backwards compatibility (not needed since Rincewind) */
+    display: none;
+}
+
+#media__popup_content p {
+    margin: 0 0 .5em;
+}
+
+#media__popup_content label {
+    margin-right: .5em;
+    cursor: default;
+}
+
+#media__popup_content button {
+    margin-right: 1px;
+    cursor: pointer;
+}

+ 75 - 0
css/_recent.css

@@ -0,0 +1,75 @@
+/**
+ * This file provides styles for the recent changes (?do=recent) and
+ * old revisions (?do=revisions).
+ */
+
+/*____________ list of revisions / recent changes ____________*/
+
+/* select type of revisions (media/pages) */
+.dokuwiki .changeType {
+    margin-bottom: .5em;
+}
+
+.dokuwiki form.changes ul li {
+    list-style: none;
+    margin-left: 0;
+}
+[dir=rtl] .dokuwiki form.changes ul li {
+    margin-right: 0;
+}
+.dokuwiki form.changes ul li span,
+.dokuwiki form.changes ul li a {
+    vertical-align: middle;
+}
+.dokuwiki form.changes ul li span.user a {
+    vertical-align: bottom;
+}
+.dokuwiki form.changes ul li.minor {
+    opacity: .7;
+}
+
+.dokuwiki form.changes li span.date {
+}
+.dokuwiki form.changes li a.diff_link {
+    vertical-align: baseline;
+}
+.dokuwiki form.changes li a.revisions_link {
+    vertical-align: baseline;
+}
+.dokuwiki form.changes li a.wikilink1,
+.dokuwiki form.changes li a.wikilink2 {
+}
+.dokuwiki form.changes li span.sum {
+    font-weight: bold;
+}
+.dokuwiki form.changes li span.user {
+}
+
+/*____________ size differences ____________*/
+
+.dokuwiki form.changes li .sizechange {
+    font-size: 80%;
+    border-radius: .2em;
+    padding: .1em .2em;
+    /* cannot use non-guaranteed style.ini colour placeholders, dark templates need to overwrite */
+    background-color: #ddd;
+}
+
+.dokuwiki form.changes li .sizechange.positive {
+    background-color: #cfc;;
+}
+.dokuwiki form.changes li .sizechange.negative {
+    background-color: #fdd;
+}
+
+/*____________ page navigator ____________*/
+
+.dokuwiki div.pagenav {
+    text-align: center;
+    margin: 1.4em 0;
+}
+.dokuwiki div.pagenav-prev,
+.dokuwiki div.pagenav-next {
+    display: inline;
+    margin: 0 .5em;
+}

+ 204 - 0
css/_search.less

@@ -0,0 +1,204 @@
+/**
+ * This file provides styles for the search results page (?do=search)
+ * and the AJAX search popup.
+ */
+
+/* general
+********************************************************************/
+
+/* search hit in normal text */
+.dokuwiki .search_hit {
+    color: @ini_text;
+    background-color: __highlight__;
+}
+
+/* "nothing found" at search + media */
+.dokuwiki div.nothing {
+    margin-bottom: 1.4em;
+}
+
+/* search results page
+********************************************************************/
+
+/*____________ advanced search form ____________*/
+.dokuwiki .search-results-form fieldset.search-form {
+    width: 100%;
+    margin: 1em 0;
+
+    input[name="q"] {
+        width: 50%;
+    }
+
+    button.toggleAssistant {
+        float: right;
+    }
+
+    .advancedOptions {
+        padding: 1em 0;
+
+        > div {
+            display: inline-block;
+            position: relative;
+            margin: 0 0.5em;
+        }
+
+        div.toggle {
+            // default closed toggle state
+            div.current {
+                cursor: pointer;
+                max-width: 10em;
+                white-space: nowrap;
+                overflow: hidden;
+                text-overflow: ellipsis;
+
+                &::after {
+                    content: '▼';
+                    font-size: smaller;
+                    color: @ini_text_alt;
+                }
+            }
+            div.changed {
+                font-weight: bold;
+            }
+            ul {
+                display: none;
+                position: absolute;
+                border: 1px solid @ini_border;
+                background-color: @ini_background;
+                padding: 0.25em 0.5em;
+                text-align: left;
+                min-width: 10em;
+                max-width: 15em;
+                max-height: 50vh;
+                overflow: auto;
+                z-index: 100;
+                li {
+                    margin: 0.25em 0;
+                    list-style: none;
+
+                    a {
+                        display: block;
+                    }
+                }
+            }
+
+            // open toggle state
+            &.open {
+                div.current::after {
+                    content: '▲';
+                }
+
+                ul {
+                    display: block;
+                }
+            }
+        }
+    }
+}
+
+[dir=rtl] .search-results-form fieldset.search-form .advancedOptions {
+    div.toggle ul {
+        text-align: right;
+    }
+}
+
+
+/*____________ matching pagenames ____________*/
+
+.dokuwiki div.search_quickresult {
+    margin-bottom: 1.4em;
+
+    ul {
+        padding: 0;
+
+        li {
+            float: left;
+            width: 12em;
+            margin: 0 1.5em;
+        }
+    }
+}
+
+[dir=rtl] .dokuwiki div.search_quickresult ul li {
+    float: right;
+}
+
+/*____________ search results ____________*/
+
+.dokuwiki dl.search_results {
+    margin-bottom: 1.2em;
+
+    /* search heading */
+    dt {
+        font-weight: normal;
+        margin-bottom: .2em;
+    }
+
+    /* last modified line */
+    dd.meta {
+        margin: 0 0 .2em 0;
+    }
+
+    /* search snippet */
+    dd.snippet {
+        color: @ini_text_alt;
+        background-color: inherit;
+        margin: 0 0 1.2em 0;
+
+        /* search hit in search results */
+        strong.search_hit {
+            font-weight: normal;
+            /* color is set in general */
+        }
+
+        /* ellipsis separating snippets */
+        .search_sep {
+            color: @ini_text;
+            background-color: inherit;
+        }
+    }
+}
+
+/* AJAX quicksearch popup
+********************************************************************/
+
+.dokuwiki form.search {
+    div.no {
+        position: relative;
+    }
+
+    /* .JSpopup */
+    div.ajax_qsearch {
+        position: absolute;
+        top: 0;
+        left: -13.5em; /* -( width of #qsearch__in + padding of .ajax_qsearch + a bit more ) */
+        width: 12em;
+        padding: 0.5em;
+        font-size: .9em;
+        z-index: 20;
+        text-align: left;
+        display: none;
+
+        strong {
+            display: block;
+            margin-bottom: .3em;
+        }
+
+        ul {
+            margin: 0 !important;
+            padding: 0 !important;
+
+            li {
+                margin: 0;
+                padding: 0;
+                display: block !important;
+            }
+        }
+    }
+}
+
+[dir=rtl] .dokuwiki form.search div.ajax_qsearch {
+    left: auto;
+    right: -13.5em;
+    text-align: right;
+}

+ 84 - 0
css/_tabs.css

@@ -0,0 +1,84 @@
+/**
+ * This file provides the styles for general tabs.
+ */
+
+.dokuwiki .tabs > ul,
+.dokuwiki ul.tabs {
+    padding: 0;
+    margin: 0;
+    overflow: hidden;
+    position: relative;
+}
+/* border underneath */
+.dokuwiki .tabs > ul:after,
+.dokuwiki ul.tabs:after {
+    position: absolute;
+    content: "";
+    width: 100%;
+    bottom: 0;
+    left: 0;
+    border-bottom: 1px solid @ini_border;
+}
+
+.dokuwiki .tabs > ul li,
+.dokuwiki ul.tabs li {
+    float: left;
+    padding: 0;
+    margin: 0;
+    list-style: none;
+}
+[dir=rtl] .dokuwiki .tabs > ul li,
+[dir=rtl] .dokuwiki ul.tabs li {
+    float: right;
+}
+
+.dokuwiki .tabs > ul li a,
+.dokuwiki ul.tabs li strong,
+.dokuwiki ul.tabs li a {
+    display: inline-block;
+    padding: .3em .8em;
+    margin: 0 0 0 .3em;
+    background-color: @ini_background_neu;
+    color: @ini_text;
+    border: 1px solid @ini_border;
+    border-radius: .5em .5em 0 0;
+    position: relative;
+    z-index: 0;
+}
+[dir=rtl] .dokuwiki .tabs > ul li a,
+[dir=rtl] .dokuwiki ul.tabs li strong,
+[dir=rtl] .dokuwiki ul.tabs li a {
+    margin: 0 .3em 0 0;
+}
+
+.dokuwiki ul.tabs li strong {
+    font-weight: normal;
+}
+
+.dokuwiki ul.tabs li a:link,
+.dokuwiki ul.tabs li a:visited {
+}
+.dokuwiki .tabs > ul li a:hover,
+.dokuwiki .tabs > ul li a:active,
+.dokuwiki .tabs > ul li a:focus,
+.dokuwiki .tabs > ul li .curid a,
+.dokuwiki .tabs > ul .active a,
+.dokuwiki ul.tabs li a:hover,
+.dokuwiki ul.tabs li a:active,
+.dokuwiki ul.tabs li a:focus,
+.dokuwiki ul.tabs li.active a,
+.dokuwiki ul.tabs li strong {
+    background-color: @ini_background_alt;
+    color: @ini_text;
+    text-decoration: none;
+    font-weight: normal;
+}
+
+.dokuwiki .tabs > ul li .curid a,
+.dokuwiki .tabs > ul li .active a,
+.dokuwiki .tabs > ul li .active a,
+.dokuwiki ul.tabs li.active a,
+.dokuwiki ul.tabs li strong {
+    z-index: 2;
+    border-bottom-color: @ini_background_alt;
+}

+ 93 - 0
css/_toc.css

@@ -0,0 +1,93 @@
+/**
+ * This file provides styles for the TOC (table of contents), the
+ * sitemap (?do=index) and backlinks (?do=backlink).
+ */
+
+/* toc
+********************************************************************/
+
+/* toc container */
+#dw__toc {
+    float: right;
+    margin: 0 0 1.4em 1.4em;
+    width: 12em;
+    background-color: @ini_background_alt;
+    color: inherit;
+}
+[dir=rtl] #dw__toc {
+    float: left;
+    margin: 0 1.4em 1.4em 0;
+}
+
+/*____________ toc header ____________*/
+
+.dokuwiki h3.toggle {
+    padding: .2em .5em;
+    font-weight: bold;
+}
+
+.dokuwiki .toggle strong {
+    float: right;
+    margin: 0 .2em;
+}
+[dir=rtl] .dokuwiki .toggle strong {
+    float: left;
+}
+
+/*____________ toc list ____________*/
+
+#dw__toc > div {
+    padding: .2em .5em;
+}
+#dw__toc ul {
+    padding: 0;
+    margin: 0;
+}
+#dw__toc ul li {
+    list-style: none;
+    padding: 0;
+    margin: 0;
+    line-height: 1.1;
+}
+#dw__toc ul li div.li {
+    padding: .15em 0;
+}
+#dw__toc ul ul {
+    padding-left: 1em;
+}
+[dir=rtl] #dw__toc ul ul {
+    padding-left: 0;
+    padding-right: 1em;
+}
+#dw__toc ul ul li {
+}
+#dw__toc ul li a {
+}
+
+/* in case of toc list jumping one level
+  (e.g. if heading level 3 follows directly after heading level 1) */
+#dw__toc ul li.clear {
+}
+
+
+/* sitemap (and backlinks)
+********************************************************************/
+
+.dokuwiki ul.idx {
+    padding-left: 0;
+}
+[dir=rtl] .dokuwiki ul.idx {
+    padding-right: 0;
+}
+.dokuwiki ul.idx li {
+    list-style-image: url(../../images/bullet.png);
+}
+.dokuwiki ul.idx li.open {
+    list-style-image: url(../../images/open.png);
+}
+.dokuwiki ul.idx li.closed {
+    list-style-image: url(../../images/closed.png);
+}
+[dir=rtl] .dokuwiki ul.idx li.closed {
+    list-style-image: url(../../images/closed-rtl.png);
+}

+ 470 - 0
css/basic.less

@@ -0,0 +1,470 @@
+/**
+ * This file provides the most basic styles.
+ *
+ * If you integrate DokuWiki into another project, you might either
+ * want to integrate this file into the other project as well, or use
+ * the other project's basic CSS for DokuWiki instead of this one.
+ *
+ * @author Anika Henke <anika@selfthinker.org>
+ */
+
+
+html {
+    overflow-x: auto;
+    overflow-y: scroll;
+}
+html,
+body {
+    color: @ini_text;
+    background: @ini_background_site url(images/page-gradient.png) top left repeat-x;
+    background:#F6F6F6;
+    margin: 0;
+    padding: 0;
+}
+body {
+    font: normal 87.5%/1.4 Arial, sans-serif;
+    /* default font size: 100% => 16px; 93.75% => 15px; 87.5% => 14px; 81.25% => 13px; 75% => 12px */
+    -webkit-text-size-adjust: 100%;
+}
+
+
+/*____________ headers ____________*/
+
+caption,
+figcaption,
+summary,
+legend {
+    padding: 0;
+    margin: 0 0 .35em;
+    line-height: 1.2;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+    font-weight: bold;
+    padding: 0;
+    line-height: 1.2;
+    clear: left; /* ideally 'both', but problems with toc */
+}
+[dir=rtl] h1,
+[dir=rtl] h2,
+[dir=rtl] h3,
+[dir=rtl] h4,
+[dir=rtl] h5,
+[dir=rtl] h6 {
+    clear: right;
+}
+
+h1 {
+    font-size: 2em;
+    margin: 0 0 0.444em;
+}
+h2 {
+    font-size: 1.5em;
+    margin: 0 0 0.666em;
+}
+h3 {
+    font-size: 1.125em;
+    margin: 0 0 0.888em;
+}
+h4 {
+    font-size: 1em;
+    margin: 0 0 1.0em;
+}
+h5 {
+    font-size: .875em;
+    margin: 0 0 1.1428em;
+}
+h6 {
+    font-size: .75em;
+    margin: 0 0 1.333em;
+}
+/* bottom margin = 1 / font-size */
+
+
+/*____________ basic margins and paddings ____________*/
+
+p,
+ul,
+ol,
+dl,
+pre,
+table,
+hr,
+blockquote,
+figure,
+details,
+fieldset,
+address {
+    margin: 0 0 1.4em 0; /* bottom margin = line-height */
+    padding: 0;
+}
+
+div,
+video,
+audio {
+    margin: 0;
+    padding: 0;
+}
+
+
+/*____________ lists ____________*/
+
+ul,
+ol {
+    padding: 0 0 0 1.5em;
+}
+[dir=rtl] ul,
+[dir=rtl] ol {
+    padding: 0 1.5em 0 0;
+}
+
+li,
+dd {
+    padding: 0;
+    margin: 0 0 0 1.5em;
+}
+[dir=rtl] li,
+[dir=rtl] dd {
+    margin: 0 1.5em 0 0;
+}
+dt {
+    font-weight: bold;
+    margin: 0;
+    padding: 0;
+}
+
+li ul,
+li ol,
+li dl,
+dl ul,
+dl ol,
+dl dl {
+    margin-bottom: 0;
+    padding: 0;
+}
+li li {
+    font-size: 100%;
+}
+
+ul             { list-style: square outside; }
+ol             { list-style: decimal outside; }
+ol ol          { list-style-type: lower-alpha; }
+ol ol ol       { list-style-type: upper-roman; }
+ol ol ol ol    { list-style-type: upper-alpha; }
+ol ol ol ol ol { list-style-type: lower-roman; }
+
+
+/*____________ tables ____________*/
+
+table {
+    border-collapse: collapse;
+    empty-cells: show;
+    border-spacing: 0;
+    border: 1px solid @ini_border;
+}
+
+caption {
+    caption-side: top;
+    text-align: left;
+}
+[dir=rtl] caption {
+    text-align: right;
+}
+
+th,
+td {
+    padding: .3em .5em;
+    margin: 0;
+    vertical-align: top;
+    border: 1px solid @ini_border;
+}
+th {
+    font-weight: bold;
+    background-color: @ini_background_alt;
+    text-align: left;
+}
+[dir=rtl] th {
+    text-align: right;
+}
+
+
+/*____________ links ____________*/
+
+a {
+    outline: none;
+}
+a:link,
+a:visited {
+    text-decoration: none;
+    color: @ini_link;
+}
+a:link:hover,
+a:visited:hover,
+a:link:focus,
+a:visited:focus,
+a:link:active,
+a:visited:active {
+    text-decoration: underline;
+}
+
+
+/*____________ misc ____________*/
+
+img {
+    border-width: 0;
+    vertical-align: middle;
+    color: #666;
+    background-color: transparent;
+    font-style: italic;
+    object-fit: cover;
+}
+video {
+    height: auto;
+}
+img,
+object,
+embed,
+iframe,
+video,
+audio {
+    max-width: 100%;
+}
+button img {
+    max-width: none;
+}
+table img {
+    max-width: 50vw;
+}
+
+hr {
+    border-top: solid @ini_border;
+    border-bottom: solid @ini_background;
+    border-width: 1px 0;
+    height: 0;
+    text-align: center;
+    clear: both;
+}
+
+acronym,
+abbr {
+    cursor: help;
+    border-bottom: 1px dotted;
+    text-decoration: none;
+    font-style: normal;
+}
+em acronym,
+em abbr {
+    font-style: italic;
+}
+
+mark {
+    background-color: @ini_highlight;
+    color: inherit;
+}
+
+pre,
+code,
+samp,
+kbd {
+    font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace;
+    /* same font stack should be used for ".dokuwiki table.diff td" in _diff.css */
+    font-size: 1em;
+    direction: ltr;
+    text-align: left;
+    background-color: @ini_background_site;
+    color: @ini_text;
+    //box-shadow: inset 0 0 .3em @ini_border;
+    border-radius: 2px;
+}
+pre {
+    overflow: auto;
+    word-wrap: normal;
+    border: 1px solid @ini_border;
+    border-radius: 2px;
+    //box-shadow: inset 0 0 .5em @ini_border;
+    padding: .7em 1em;
+}
+
+blockquote {
+    padding: 0 .5em;
+    border: solid @ini_border;
+    border-width: 0 0 0 .25em;
+}
+[dir=rtl] blockquote {
+    border-width: 0 .25em 0 0;
+}
+q:before,
+q:after {
+    content: '';
+}
+
+sub,
+sup {
+    font-size: .8em;
+    line-height: 1;
+}
+sub {
+    vertical-align: sub;
+}
+sup {
+    vertical-align: super;
+}
+
+small {
+    font-size: .8em;
+}
+
+wbr {
+    display: inline-block; /* for IE 11 */
+}
+
+/*____________ forms ____________*/
+
+/* for all of the form styles, style.ini colours are not used on purpose (except for fieldset border) */
+
+form {
+    display: inline;
+    margin: 0;
+    padding: 0;
+}
+fieldset {
+    padding: .7em 1em 0;
+    padding: .7rem 1rem; /* for those browsers understanding :last-child */
+    border: 1px solid @ini_text_alt;
+}
+fieldset > :last-child {
+    margin-bottom: 0;
+}
+legend {
+    margin: 0;
+    padding: 0 .1em;
+}
+label {
+    vertical-align: middle;
+    cursor: pointer;
+}
+
+input,
+textarea,
+button,
+select,
+optgroup,
+option,
+keygen,
+output,
+meter,
+progress {
+    font: inherit;
+    font-weight: normal;
+    color: #333;
+    background-color: #fff;
+    line-height: normal;
+    margin: 0;
+    vertical-align: middle;
+    box-sizing: border-box;
+}
+
+select {
+    max-width: 100%;
+}
+optgroup {
+    font-style: italic;
+    font-weight: bold;
+}
+option {
+    font-style: normal;
+    font-weight: normal;
+}
+
+input,
+textarea,
+select,
+keygen {
+    border: 1px solid #1C3031;
+    //box-shadow: inset 0 0 1px #eee;
+    border-radius: 5px;
+}
+input:active,
+input:focus,
+textarea:active,
+textarea:focus,
+select:active,
+select:focus,
+keygen:active,
+keygen:focus {
+    border: 1.5px solid #1C3031;
+    outline: none;
+}
+input[type=radio],
+input[type=checkbox],
+input[type=image] {
+    padding: 0;
+    border-style: none;
+    box-shadow: none;
+}
+
+/* all types of buttons */
+input[type=submit],
+input[type=button],
+input[type=reset],
+input.button,
+a.button,
+button,
+.qq-upload-button {
+    color: #FFFFFF;
+    background-color: #1C3031;
+    border: 0px solid #ccc;
+    border-radius: 5px;
+    margin: 5px;
+    padding: .3em .9em;
+    font-size: 12px !important;
+    text-transform: uppercase !important;
+    cursor: pointer;
+}
+
+input[type=submit]:hover,
+input[type=submit]:active,
+input[type=submit]:focus,
+input[type=button]:hover,
+input[type=button]:active,
+input[type=button]:hover,
+input[type=reset]:hover,
+input[type=reset]:active,
+input[type=reset]:hover,
+input.button:hover,
+input.button:active,
+input.button:focus,
+a.button:hover,
+a.button:active,
+a.button:focus,
+button:hover,
+button:active,
+button:focus,
+.qq-upload-button:hover {
+    transform: scale(1.05);
+    transition-duration: 0.1s;
+}
+
+input::-moz-focus-inner,
+button::-moz-focus-inner {
+    border: 0;
+    padding: 0;
+}
+
+input[disabled],
+button[disabled],
+select[disabled],
+textarea[disabled],
+option[disabled],
+input[readonly],
+button[readonly],
+select[readonly],
+textarea[readonly] {
+    cursor: auto;
+    opacity: .5;
+    background-color: #eee;
+}

+ 420 - 0
css/content.less

@@ -0,0 +1,420 @@
+/**
+ * This file provides the main design styles for the page content.
+ *
+ * @author Anika Henke <anika@selfthinker.org>
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @author Clarence Lee <clarencedglee@gmail.com>
+ */
+
+/*____________ section indenting ____________
+
+.dokuwiki .page  h1 {margin-left: 0;}
+.dokuwiki .page  h2 {margin-left: .666em;}
+.dokuwiki .page  h3 {margin-left: 1.776em;}
+.dokuwiki .page  h4 {margin-left: 3em;}
+.dokuwiki .page  h5 {margin-left: 4.5712em;}
+.dokuwiki .page  div.level1 {margin-left: 0;}
+.dokuwiki .page  div.level2 {margin-left: 1em;}
+.dokuwiki .page  div.level3 {margin-left: 2em;}
+.dokuwiki .page  div.level4 {margin-left: 3em;}
+.dokuwiki .page  div.level5 {margin-left: 4em;}
+
+[dir=rtl] .dokuwiki .page h1 {margin-left: 0; margin-right: 0;}
+[dir=rtl] .dokuwiki .page h2 {margin-left: 0; margin-right: .666em;}
+[dir=rtl] .dokuwiki .page h3 {margin-left: 0; margin-right: 1.776em;}
+[dir=rtl] .dokuwiki .page h4 {margin-left: 0; margin-right: 3em;}
+[dir=rtl] .dokuwiki .page h5 {margin-left: 0; margin-right: 4.5712em;}
+[dir=rtl] .dokuwiki .page div.level1 {margin-left: 0; margin-right: 0;}
+[dir=rtl] .dokuwiki .page div.level2 {margin-left: 0; margin-right: 1em;}
+[dir=rtl] .dokuwiki .page div.level3 {margin-left: 0; margin-right: 2em;}
+[dir=rtl] .dokuwiki .page div.level4 {margin-left: 0; margin-right: 3em;}
+[dir=rtl] .dokuwiki .page div.level5 {margin-left: 0; margin-right: 4em;}
+*/
+/* hx margin-left = (1 / font-size) * .levelx-margin */
+
+/*____________ links to wiki pages (addition to _links) ____________*/
+
+/* existing wikipage */
+
+
+
+.dokuwiki a.wikilink1 {
+    color: @ini_existing;
+    background-color: inherit;
+}
+
+/* not existing wikipage */
+.dokuwiki a.wikilink2 {
+    color: @ini_missing;
+    background-color: inherit;
+}
+
+/*____________ images ____________*/
+
+/* embedded images (styles are already partly set in lib/styles/all.css) */
+.dokuwiki img.media {
+    margin: .2em 0;
+}
+
+.dokuwiki img.medialeft {
+    margin: .2em 1em .2em 0;
+}
+
+.dokuwiki img.mediaright {
+    margin: .2em 0 .2em 1em;
+}
+
+.dokuwiki img.mediacenter {
+    margin: .2em auto;
+}
+
+/*____________ lists ____________*/
+
+.dokuwiki .page,
+.dokuwiki .aside {
+    ul li {
+        color: @ini_text_alt;
+    }
+
+    ol li {
+        color: @ini_text_neu;
+    }
+
+    li .li {
+        color: @ini_text;
+    }
+}
+
+/*____________ tables ____________*/
+
+/* div around each table */
+.dokuwiki div.table {
+    overflow-x: auto;
+    margin-bottom: 1.4em;
+    min-width: 50%;
+}
+
+.dokuwiki div.table table {
+    margin-bottom: 0;
+}
+
+.dokuwiki table.inline {
+    min-width: 50%;
+}
+
+.dokuwiki table.inline tr:hover td {
+    background-color: @ini_background_alt;
+}
+
+.dokuwiki table.inline tr:hover th {
+    background-color: @ini_border;
+}
+
+/*____________ code ____________*/
+
+/* fix if background-color hides underlining */
+.dokuwiki em.u code {
+    text-decoration: underline;
+}
+
+/* filenames for downloadable file and code blocks */
+.dokuwiki dl.code,
+.dokuwiki dl.file {
+    dt {
+        background-color: @ini_background_site;
+        background: linear-gradient(to bottom, @ini_background_alt 0%, @ini_background_site 100%);
+        color: inherit;
+        border: 1px solid @ini_border;
+        border-bottom-color: @ini_background_site;
+        border-top-left-radius: .3em;
+        border-top-right-radius: .3em;
+        padding: .3em .6em .1em;
+        margin-bottom: -1px;
+        float: left;
+
+        a {
+            background-color: transparent;
+            font-size: 0.875em;
+            font-weight: normal;
+            display: block;
+            min-height: 16px;
+        }
+    }
+
+    dd {
+        margin: 0;
+        clear: left;
+    }
+
+    pre {
+        box-shadow: inset -4px -4px .5em -.3em @ini_border;
+    }
+}
+
+[dir=rtl] .dokuwiki dl.code,
+[dir=rtl] .dokuwiki dl.file {
+    dt {
+        float: right;
+    }
+
+    dd {
+        clear: right;
+    }
+}
+
+/* for code in <file> */
+.dokuwiki dl.file {
+    pre,
+    dt {
+        border-style: dashed;
+    }
+    dt {
+        border-bottom-style: solid;
+    }
+}
+
+/*____________ JS popup ____________*/
+
+.JSpopup {
+    background-color: @ini_background;
+    color: @ini_text;
+    border: 1px solid @ini_border;
+    //box-shadow: .1em .1em .1em @ini_border;
+    border-radius: 2px;
+    padding: .3em .5em;
+    font-size: .9em;
+}
+
+.dokuwiki form.search div.ajax_qsearch {
+    top: -.35em;
+    font-size: 1em;
+    text-overflow: ellipsis;
+}
+
+.JSpopup ul,
+.JSpopup ol {
+    padding-left: 0;
+}
+
+[dir=rtl] .JSpopup ul,
+[dir=rtl] .JSpopup ol {
+    padding-right: 0;
+}
+
+/* changes to underscored CSS files
+********************************************************************/
+
+#acl__tree li {
+    margin: 0;
+}
+
+#dokuwiki__content span.curid a {
+    font-weight: normal;
+}
+
+#dokuwiki__content strong span.curid a {
+    font-weight: bold;
+}
+
+/*____________ changes to _edit ____________*/
+
+.dokuwiki div.toolbar {
+    button.toolbutton {
+        background-color: transparent !important;
+        border: 1px solid #11344C;
+        border-radius: 5px;
+        padding: .1em .35em;
+    }
+
+    button.toolbutton:first-child {
+        border-top-left-radius: 4px;
+        border-bottom-left-radius: 4px;
+        border-left-width: 1px;
+        background-color: transparent !important;
+        border: 1px solid #11344C;
+        border-radius: 5px;
+    }
+
+    button.toolbutton:last-child {
+        border-top-right-radius: 4px;
+        border-bottom-right-radius: 4px;
+        background-color: transparent !important;
+        border: 1px solid #11344C;
+        border-radius: 5px;
+    }
+}
+
+[dir=rtl] .dokuwiki div.toolbar {
+    button.toolbutton:last-child {
+        border-top-left-radius: 4px;
+        border-bottom-left-radius: 4px;
+        border-top-right-radius: 0;
+        border-bottom-right-radius: 0;
+        border-left-width: 1px;
+        background-color: transparent !important;
+        border: 1px solid #11344C;
+        border-radius: 5px;
+    }
+
+    button.toolbutton:first-child {
+        border-top-left-radius: 0;
+        border-bottom-left-radius: 0;
+        border-top-right-radius: 4px;
+        border-bottom-right-radius: 4px;
+        border-left-width: 0;
+        border-right-width: 1px;
+        background-color: transparent !important;
+        border: 1px solid #11344C;
+        border-radius: 5px;
+    }
+}
+
+.dokuwiki div.section_highlight {
+    margin: 0 -2em;
+    padding: 0 1em;
+    border-width: 0 1em;
+}
+
+.dokuwiki textarea.edit {
+    font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace;
+}
+
+.dokuwiki div.preview {
+    margin: 0 -2em;
+    padding: 0 2em;
+}
+
+.dokuwiki.hasSidebar div.preview {
+    border-right: @ini_sidebar_width solid @ini_background_alt;
+}
+
+[dir=rtl] .dokuwiki.hasSidebar div.preview {
+    border-right-width: 0;
+    border-left: @ini_sidebar_width solid @ini_background_alt;
+}
+
+.dokuwiki div.preview div.pad {
+    padding: 1.556em 0 2em;
+}
+
+/*____________ changes to _toc ____________*/
+
+#dw__toc {
+    margin: -1.556em -2em .5em 1.4em;
+    width: @ini_sidebar_width;
+    border-left: 1px solid @ini_border;
+    background: @ini_background;
+    color: inherit;
+}
+
+[dir=rtl] #dw__toc {
+    margin: -1.556em 1.4em .5em -2em;
+    border-left-width: 0;
+    border-right: 1px solid @ini_border;
+}
+
+.dokuwiki.export #dw__toc {
+    margin-top: 0;
+    margin-right: 0;
+}
+
+[dir=rtl] .dokuwiki.export #dw__toc {
+    margin-top: 0;
+    margin-left: 0;
+}
+
+.dokuwiki h3.toggle {
+    padding: .5em 1em;
+    margin-bottom: 0;
+    font-size: .875em;
+    letter-spacing: .1em;
+}
+
+#dokuwiki__aside h3.toggle {
+    display: none;
+}
+
+.dokuwiki .toggle strong {
+    background: transparent url(images/toc-arrows.png) 0 0;
+    width: 8px;
+    height: 5px;
+    margin: .4em 0 0;
+}
+
+.dokuwiki .toggle.closed strong {
+    background-position: 0 -5px;
+}
+
+.dokuwiki .toggle strong span {
+    display: none;
+}
+
+#dw__toc {
+    > div {
+        font-size: 0.875em;
+        padding: .5em 1em 1em;
+    }
+
+    ul {
+        padding: 0 0 0 1.2em;
+
+        li {
+            list-style-image: url(images/toc-bullet.png);
+        }
+    }
+
+    ul li.clear {
+        list-style: none;
+    }
+
+    ul li div.li {
+        padding: .2em 0;
+    }
+}
+
+[dir=rtl] #dw__toc ul {
+    padding: 0 1.5em 0 0;
+}
+
+/*____________ changes to _imgdetail ____________*/
+
+#dokuwiki__detail {
+    padding: 0;
+
+    img {
+        float: none;
+        margin-bottom: 1.4em;
+    }
+
+    div.img_detail {
+        float: none;
+    }
+
+    div.img_detail dl {
+        overflow: hidden;
+    }
+
+    div.img_detail dl dt {
+        float: left;
+        width: 9em;
+        text-align: right;
+        clear: left;
+    }
+
+    div.img_detail dl dd {
+        margin-left: 9.5em;
+    }
+}
+
+[dir=rtl] #dokuwiki__detail div.img_detail {
+    dl dt {
+        float: right;
+        text-align: left;
+        clear: right;
+    }
+
+    dl dd {
+        margin-left: 0;
+        margin-right: 9.5em;
+    }
+}

+ 360 - 0
css/design.less

@@ -0,0 +1,360 @@
+/**
+ * This file provides the main design styles for the
+ * bits that surround the content.
+ *
+ * @author Anika Henke <anika@selfthinker.org>
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @author Clarence Lee <clarencedglee@gmail.com>
+ */
+
+.dokuwiki.export {
+    background-color: @ini_background;
+}
+
+/* header
+********************************************************************/
+
+#dokuwiki__header {
+    padding: 2em 0 1.5em;
+
+    .headings,
+    .tools {
+        margin-bottom: 1.5em;
+        width: 49%;
+    }
+    .tools {
+        margin-top: .2em;
+    }
+
+    .logo {
+        margin: 0;
+        font-size: 1.5em;
+        font-weight: normal;
+        line-height: 1.2;
+
+        img {
+            float: left;
+            margin-right: .5em;
+        }
+
+        span {
+            display: block;
+            padding-top: 10px;
+        }
+
+        a {
+            text-decoration: none;
+            color: @ini_text;
+            background-color: inherit;
+        }
+    }
+
+    p.claim {
+        margin-bottom: 0;
+        font-size: 0.875em;
+    }
+
+    /* make all links in header (including breadcrumb and interwiki) same colour as the rest */
+    a {
+        color: @ini_link;
+        background-color: inherit;
+    }
+}
+
+[dir=rtl] #dokuwiki__header .logo img {
+    float: right;
+    margin-left: .5em;
+    margin-right: 0;
+}
+
+/* tools
+********************************************************************/
+
+/* highlight selected tool */
+.mode_admin .action.admin a,
+.mode_login .action.login a,
+.mode_register .action.register a,
+.mode_profile .action.profile a,
+.mode_recent .action.recent a,
+.mode_index .action.index a,
+.mode_media .action.media a,
+.mode_revisions .action.revs a,
+.mode_backlink .action.backlink a,
+.mode_subscribe .action.subscribe a {
+    font-weight: bold;
+}
+
+#dokuwiki__header .tools {
+    ul {
+        padding-left: 0;
+        margin-bottom: 0;
+    }
+
+    li {
+        font-size: 0.875em;
+        margin-left: 1em;
+        list-style: none;
+        display: inline;
+    }
+
+    form.search div.ajax_qsearch li {
+        font-size: 1em;
+        margin-left: 0;
+        display: block;
+        overflow: hidden;
+        text-overflow: ellipsis;
+    }
+}
+
+[dir=rtl] #dokuwiki__header .tools li {
+    margin-right: 1em;
+    margin-left: 0;
+}
+
+#dokuwiki__header .mobileTools {
+    display: none; /* hide mobile tools dropdown to only show in mobile view */
+}
+
+/*____________ site tools ____________*/
+
+#dokuwiki__sitetools {
+    text-align: right;
+
+    form.search {
+        font-size: 0.875em;
+    }
+}
+
+[dir=rtl] #dokuwiki__sitetools {
+    text-align: left;
+}
+
+form.search {
+    display: block;
+    position: relative;
+    margin-bottom: 0.5em;
+
+    input {
+        width: 18em;
+        padding: .35em 22px .35em .1em;
+    }
+
+    button {
+        background: transparent url(images/search.png) no-repeat 0 0;
+        border-width: 0;
+        width: 19px;
+        height: 14px;
+        text-indent: -99999px;
+        margin-left: -20px;
+        box-shadow: none;
+        padding: 0;
+    }
+}
+
+[dir=rtl] form.search {
+    input {
+        padding: .35em .1em .35em 22px;
+    }
+
+    button {
+        background-position: 5px 0;
+        margin-left: 0;
+        margin-right: -20px;
+        position: relative;
+    }
+}
+
+/*____________ breadcrumbs ____________*/
+
+.dokuwiki div.breadcrumbs {
+    border-top: 1px solid @ini_border;
+    border-bottom: 1px solid @ini_background;
+    margin-bottom: .5em;
+    font-size: 0.875em;
+    clear: both;
+
+    div {
+        padding: .1em .35em;
+    }
+
+    div:only-child {
+        border-top: 1px solid @ini_background;
+        border-bottom: 1px solid @ini_border;
+    }
+
+    div:first-child {
+        border-top: 1px solid @ini_background;
+    }
+
+    div:last-child {
+        border-bottom: 1px solid @ini_border;
+    }
+
+    .bcsep {
+        font-size: 0.75em;
+    }
+}
+
+/* sidebar
+********************************************************************/
+
+.dokuwiki .aside {
+    font-size: 0.875em;
+    overflow: hidden;
+    word-wrap: break-word;
+
+    /* make sidebar more condensed */
+
+    h1 {
+        font-size: 1.714em;
+        margin-bottom: .292em;
+    }
+
+    h2 {
+        margin-bottom: .333em;
+    }
+
+    h3 {
+        margin-bottom: .444em;
+    }
+
+    h4 {
+        margin-bottom: .5em;
+    }
+
+    h5 {
+        margin-bottom: .5714em;
+    }
+
+    p,
+    ul,
+    ol,
+    dl,
+    pre,
+    table,
+    fieldset,
+    hr,
+    blockquote,
+    address {
+        margin-bottom: .7em;
+    }
+
+    ul,
+    ol {
+        padding-left: .5em;
+    }
+
+    li ul,
+    li ol {
+        margin-bottom: 0;
+        padding: 0;
+    }
+
+    a:link,
+    a:visited {
+        color: @ini_link;
+        background-color: inherit;
+    }
+}
+
+[dir=rtl] .dokuwiki .aside ul,
+[dir=rtl] .dokuwiki .aside ol {
+    padding-right: .5em;
+}
+
+/* content
+********************************************************************/
+
+.dokuwiki .pageId {
+    float: right;
+    margin-right: -1em;
+    margin-bottom: -1px;
+    margin-top: -1.5em;
+    overflow: hidden;
+    padding: 0.5em 1em 0;
+
+    span {
+        font-size: 0.875em;
+        border: solid @ini_background_alt;
+        border-width: 1px 1px 0;
+        background-color: @ini_background;
+        color: @ini_text_alt;
+        padding: .1em .35em;
+        border-top-left-radius: 2px;
+        border-top-right-radius: 2px;
+        //box-shadow: 0 0 .5em @ini_text_alt;
+        display: block;
+    }
+}
+
+.dokuwiki div.page {
+    clear: both;
+    background: @ini_background;
+    color: inherit;
+    border: 1px solid @ini_background_alt;
+    //box-shadow: 0 0 .5em @ini_text_alt;
+    border-radius: 5px;
+    padding: 1.556em 2em 2em;
+    margin-bottom: .5em;
+    overflow: hidden;
+    word-wrap: break-word;
+}
+
+.dokuwiki .docInfo {
+    font-size: 0.875em;
+    text-align: right;
+    overflow-wrap: break-word;
+}
+
+/* license note under edit window */
+.dokuwiki div.license {
+    font-size: 93.75%;
+}
+
+[dir=rtl] .dokuwiki .docInfo {
+    text-align: left;
+}
+
+[dir=rtl] .dokuwiki .pageId {
+    float: left;
+    margin-left: -1em;
+    margin-right: 0;
+}
+
+/* footer
+********************************************************************/
+
+.dokuwiki .wrapper {
+    margin-bottom: 1.4em;
+}
+
+#dokuwiki__footer {
+    margin-bottom: 1em;
+    text-align: center;
+
+    > .pad {
+        font-size: 0.875em;
+    }
+
+    div.license {
+        margin-bottom: 0.5em;
+        font-size: 100%;
+    }
+
+    div.buttons a {
+        img {
+            opacity: 0.5;
+        }
+
+        &:hover img,
+        &:active img,
+        &:focus img {
+            opacity: 1;
+        }
+    }
+
+}
+
+[dir=rtl] #dokuwiki__footer .license img {
+    margin: 0 0 0 .5em;
+}

+ 332 - 0
css/mobile.less

@@ -0,0 +1,332 @@
+/**
+ * This file provides styles for mobile devices
+ * and smaller screens (up to 480px and 768px width).
+ *
+ * @author Anika Henke <anika@selfthinker.org>
+ */
+
+/* for detecting media queries in JavaScript (see script.js): */
+#screen__mode {
+    position: relative;
+    z-index: 0;
+}
+
+/* for screen widths in the tablet range
+********************************************************************/
+@media only screen and (max-width: @ini_tablet_width) {
+
+#screen__mode {
+    z-index: 1; /* for detecting media queries in JavaScript (see script.js) */
+}
+
+/* structure */
+#dokuwiki__aside {
+    width: 100%;
+    float: none;
+    margin-bottom: 1.5em;
+}
+
+#dokuwiki__aside > .pad,
+[dir=rtl] #dokuwiki__aside > .pad {
+    margin: 0 0 .5em;
+    /* style like .page */
+    background: @ini_background;
+    color: inherit;
+    border: 1px solid #eee;
+    box-shadow: 0 0 .5em @ini_text_alt;
+    border-radius: 2px;
+    padding: 1em;
+    margin-bottom: .5em;
+}
+
+#dokuwiki__aside h3.toggle {
+    font-size: 1em;
+
+    &.closed {
+        margin-bottom: 0;
+        padding-bottom: 0;
+    }
+    &.open {
+        border-bottom: 1px solid @ini_border;
+    }
+}
+
+.showSidebar #dokuwiki__content {
+    float: none;
+    margin-left: 0;
+    width: 100%;
+
+    > .pad {
+        margin-left: 0;
+    }
+}
+
+[dir=rtl] .showSidebar #dokuwiki__content,
+[dir=rtl] .showSidebar #dokuwiki__content > .pad {
+    margin-right: 0;
+}
+
+/* preview */
+.dokuwiki.hasSidebar div.preview {
+    border-right: none;
+}
+
+[dir=rtl] .dokuwiki.hasSidebar div.preview {
+    border-left: none;
+}
+
+/* toc */
+#dw__toc {
+    float: none;
+    margin: 0 0 1em 0;
+    width: auto;
+    border-left-width: 0;
+    border-bottom: 1px solid @ini_border;
+}
+[dir=rtl] #dw__toc {
+    float: none;
+    margin: 0 0 1em 0;
+    border-right-width: 0;
+}
+
+.dokuwiki h3.toggle {
+    padding: 0 .5em .5em 0;
+}
+#dw__toc > div,
+#dokuwiki__aside div.content {
+    padding: .2em 0 .5em;
+}
+
+/* page */
+.dokuwiki div.page {
+    padding: 1em;
+}
+/* enable horizontal scrolling in media manager */
+.mode_media div.page {
+    overflow: auto;
+}
+
+/* push pagetools closer to content */
+#dokuwiki__pagetools {
+    top: 0;
+}
+.showSidebar #dokuwiki__pagetools {
+    top: 3.5em;
+}
+
+
+/* _edit */
+.dokuwiki div.section_highlight {
+    margin: 0 -1em;
+    padding: 0 .5em;
+    border-width: 0 .5em;
+}
+.dokuwiki div.preview {
+    margin: 0 -1em;
+    padding: 1em;
+}
+
+/* _recent */
+.dokuwiki form.changes ul {
+    padding-left: 0;
+}
+[dir=rtl] .dokuwiki form.changes ul {
+    padding-right: 0;
+}
+
+
+} /* /@media */
+
+
+/* for screen widths in the smartphone range
+********************************************************************/
+@media only screen and (max-width: @ini_phone_width) {
+
+#screen__mode {
+    z-index: 2; /* for detecting media queries in JavaScript (see script.js) */
+}
+
+body {
+    font-size: 100%;
+}
+
+/*____________ structure ____________*/
+
+#dokuwiki__site {
+    max-width: 100%;
+
+    > .site {
+        padding: 0 .5em;
+    }
+}
+
+#dokuwiki__aside {
+    margin-bottom: 0;
+}
+
+#dokuwiki__header {
+    padding: .5em 0;
+}
+
+
+/*____________ header ____________*/
+
+#dokuwiki__header ul.a11y.skip {
+    position: static !important;
+    left: 0 !important;
+    width: auto !important;
+    height: auto !important;
+    float: right;
+    font-size: 0.875em;
+    list-style: none;
+    padding-left: 0;
+    margin: 0;
+
+    li {
+        margin-left: .35em;
+        display: inline;
+    }
+}
+[dir=rtl] #dokuwiki__header ul.a11y.skip {
+    left: auto !important;
+    right: 0 !important;
+    float: left;
+    padding-right: 0;
+
+    li {
+        margin: 0 .35em 0 0;
+    }
+}
+
+#dokuwiki__header .headings,
+#dokuwiki__header .tools {
+    float: none;
+    text-align: left;
+    width: auto;
+    margin-bottom: .5em;
+}
+[dir=rtl] #dokuwiki__header .headings,
+[dir=rtl] #dokuwiki__header .tools {
+    float: none;
+    text-align: right;
+    width: auto;
+}
+#dokuwiki__sitetools {
+    text-align: left;
+}
+[dir=rtl] #dokuwiki__sitetools {
+    text-align: right;
+}
+#dokuwiki__usertools,
+#dokuwiki__sitetools ul,
+#dokuwiki__sitetools h3,
+#dokuwiki__pagetools,
+.dokuwiki div.breadcrumbs, /* @todo: maybe move breadcrumbs to the bottom? */
+.dokuwiki .pageId {
+    display: none;
+}
+
+/* search form */
+#dokuwiki__sitetools form.search {
+    float: left;
+    margin: 0 .2em .2em 0;
+    width: 49%;
+}
+[dir=rtl] #dokuwiki__sitetools form.search {
+    float: right;
+    margin: 0 0 .2em .2em;
+}
+
+#dokuwiki__sitetools form.search input {
+    width: 100% !important;
+}
+.dokuwiki form.search div.ajax_qsearch {
+    display: none !important;
+}
+
+/* action dropdown is alternative for all hidden tools */
+#dokuwiki__header .mobileTools {
+    display: block;
+    font-size: 0.875em;
+    margin: 0 0 .2em 0;
+    float: right;
+    width: 49%;
+}
+[dir=rtl] #dokuwiki__header .mobileTools {
+    float: left;
+}
+#dokuwiki__header .mobileTools select {
+    padding: .3em .1em;
+    width: 100% !important;
+}
+
+/* force same height on search input and tools select */
+#dokuwiki__sitetools form.search input,
+#dokuwiki__header .mobileTools select {
+    height: 2.1em;
+    line-height: 2.1em;
+    overflow: visible;
+}
+
+
+/*____________ content ____________*/
+
+#dokuwiki__aside > .pad,
+.dokuwiki div.page {
+    padding: .5em;
+}
+
+/* form elements */
+#config__manager fieldset td.value,
+#config__manager td .input,
+.dokuwiki fieldset,
+.dokuwiki input.edit,
+.dokuwiki textarea {
+    width: auto !important;
+    max-width: 100% !important;
+}
+.dokuwiki select {
+    max-width: 100% !important;
+}
+#config__manager fieldset {
+    margin-left: 0;
+    margin-right: 0;
+}
+
+.dokuwiki label.block {
+    text-align: left;
+
+    span {
+        display: block;
+    }
+}
+[dir=rtl] .dokuwiki label.block {
+    text-align: right;
+}
+
+/* _edit */
+.dokuwiki div.section_highlight {
+    margin: 0;
+    padding: 0;
+    border-width: 0;
+}
+.dokuwiki div.preview {
+    margin: 0 -.5em;
+    padding: .5em;
+}
+
+
+} /* /@media */
+
+
+/* for screen heights smaller than the pagetools permit
+********************************************************************/
+@media only screen and (max-height: 400px) {
+// 400px is only roughly the required value, this may be wrong under non-standard circumstances
+
+#dokuwiki__pagetools div.tools {
+    position: static;
+}
+
+
+} /* /@media */

+ 124 - 0
css/pagetools.less

@@ -0,0 +1,124 @@
+/**
+ * This file provides the styles for the page tools
+ * (fly out navigation beside the page to edit, etc).
+ *
+ * @author Anika Henke <anika@selfthinker.org>
+ * @author Andreas Gohr <andi@splitbrain.org>
+ */
+
+#dokuwiki__site > .site {
+    /* give space to the right so the tools won't disappear on smaller screens */
+    /* it's 40px because the 30px wide icons will have 5px more spacing to the left and right */
+    padding-right: 40px;
+    /* give the same space to the left to balance it out */
+    padding-left: 40px;
+}
+
+.dokuwiki div.page {
+    height: 190px;
+    min-height: 190px; /* 30 (= height of icons) x 6 (= maximum number of possible tools) + 2x5 */
+    height: auto;
+}
+
+#dokuwiki__pagetools {
+    @ico-width: 28px;
+    @ico-margin: 8px;
+    @item-width: (@ico-width + @ico-margin + @ico-margin);
+    @item-height: (@ico-width + @ico-margin);
+
+    position: absolute;
+    right: (-1 * @item-width);
+    /* on same vertical level as first headline, because .page has 2em padding */
+    top: 2em;
+    width: @item-width;
+
+    div.tools {
+        position: fixed;
+        width: @item-width;
+
+        ul {
+            position: absolute;
+            right: 0;
+            text-align: right;
+            margin: 0;
+            padding: 0;
+            /* add transparent border to prevent jumping when proper border is added on hover */
+            border: 1px solid transparent;
+            z-index: 10;
+
+            li {
+                padding: 0;
+                margin: 0;
+                list-style: none;
+                font-size: 0.875em;
+
+                a {
+
+                    display: block;
+                    /* add transparent border to prevent jumping when proper border is added on focus */
+                    border: 1px solid transparent;
+                    white-space: nowrap;
+                    line-height: @item-height;
+                    vertical-align: middle;
+                    height: @item-height;
+
+                    span {
+                        display: none; // hide label until hover
+                        margin: 0 @ico-margin;
+                    }
+
+                    svg {
+                        width: @ico-width;
+                        height: @ico-width;
+                        margin: 0 @ico-margin;
+                        display: inline-block;
+                        vertical-align: middle;
+                        fill: @ini_border;
+                    }
+                }
+
+                // on interaction show the full item
+                a:active,
+                a:focus,
+                a:hover {
+                    background-color: @ini_background_alt;
+
+                    span {
+                        display: inline-block;
+                    }
+
+                    svg {
+                        fill: @ini_link;
+                    }
+                }
+            }
+        }
+    }
+
+    [dir=rtl] & {
+        right: auto;
+        left: (-1 * @item-width);
+
+        div.tools {
+            ul {
+                right: auto;
+                left: 0;
+                text-align: left;
+            }
+        }
+    }
+}
+
+// on hover or focus show all items
+#dokuwiki__pagetools:hover, #dokuwiki__pagetools:focus-within {
+    div.tools ul {
+        background-color: @ini_background;
+        border-color: @ini_border;
+        border-radius: 2px;
+        box-shadow: 2px 2px 2px @ini_text_alt;
+
+        li a span {
+            display: inline-block;
+        }
+    }
+}

+ 178 - 0
css/print.css

@@ -0,0 +1,178 @@
+/**
+ * This file provides the styles for printing.
+ *
+ * @todo: improve and finish
+ */
+
+body {
+    font: normal 87.5%/1.3 Garamond, Baskerville, "Hoefler Text", "Nimbus Roman No9 L", serif;
+    background-color: #fff;
+    color: #000;
+}
+
+/* hide certain sections */
+.a11y,
+audio,
+video,
+#dokuwiki__header .tools,
+#dokuwiki__aside,
+.dokuwiki .breadcrumbs,
+.dokuwiki .pageId,
+#dw__toc,
+h3.toggle,
+#dokuwiki__pagetools,
+#dokuwiki__footer {
+    display: none;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+caption,
+legend {
+    clear: both;
+}
+ul {
+    list-style: disc outside;
+}
+ol {
+    list-style: decimal outside;
+}
+ol ol {
+    list-style-type: lower-alpha;
+}
+ol ol ol {
+    list-style-type: upper-roman;
+}
+ol ol ol ol {
+    list-style-type: upper-alpha;
+}
+ol ol ol ol ol {
+    list-style-type: lower-roman;
+}
+
+a:link,
+a:visited {
+    text-decoration: none;
+    border-bottom: 1pt dotted;
+    color: #333;
+    background-color: inherit;
+}
+
+/* display href after link */
+a.urlextern:after,
+a.interwiki:after,
+a.mail:after {
+   content: " [" attr(href) "]";
+   font-size: 90%;
+}
+
+/* code blocks */
+pre {
+    font-family: monospace;
+}
+dl.code dt,
+dl.file dt {
+    font-weight: bold;
+}
+
+mark {
+    font-weight: bold;
+}
+
+/* images */
+img {
+    border-width: 0;
+    vertical-align: middle;
+}
+img.media {
+    margin: .2em 0;
+}
+img.medialeft {
+    margin: .2em 1em .2em 0;
+}
+img.mediaright {
+    margin: .2em 0 .2em 1em;
+}
+img.mediacenter {
+    margin: .2em auto;
+}
+
+blockquote {
+    padding: 0 10pt;
+    margin: 0;
+    border: solid #ccc;
+    border-width: 0 0 0 2pt;
+}
+[dir=rtl] blockquote {
+    border-width: 0 2pt 0 0;
+}
+
+/* tables */
+.dokuwiki div.table {
+    margin-bottom: 1.4em;
+}
+table {
+    border-collapse: collapse;
+    empty-cells: show;
+    border-spacing: 0;
+    border: 1pt solid #ccc;
+}
+th,
+td {
+    padding: 3pt 5pt;
+    margin: 0;
+    vertical-align: top;
+    border: 1pt solid #666;
+}
+th {
+    font-weight: bold;
+    text-align: left;
+}
+[dir=rtl] th {
+    text-align: right;
+}
+
+
+/*____________ a bit of layout ____________*/
+
+#dokuwiki__header {
+    border-bottom: 2pt solid #ccc;
+}
+#dokuwiki__header .logo {
+    font-size: 1.5em;
+    font-weight: bold;
+}
+#dokuwiki__header .logo a {
+    text-decoration: none;
+    border-width: 0;
+}
+#dokuwiki__header .logo img {
+    float: left;
+    margin-right: .5em;
+}
+[dir=rtl] #dokuwiki__header .logo img {
+    float: right;
+    margin-right: 0;
+    margin-left: .5em;
+}
+
+.dokuwiki div.footnotes {
+    clear: both;
+    border-top: 1pt dotted #999;
+    margin-top: 10pt;
+}
+
+.dokuwiki div.docInfo {
+    font-size: 90%;
+    text-align: right;
+    clear: both;
+    padding-top: 2pt;
+    border-top: 1pt solid #999;
+    margin-top: 10pt;
+}
+[dir=rtl] .dokuwiki div.docInfo {
+    text-align: left;
+}

+ 89 - 0
css/structure.less

@@ -0,0 +1,89 @@
+/**
+ * This file provides styles for the general layout structure.
+ *
+ * @author Anika Henke <anika@selfthinker.org>
+ */
+body {
+    margin: 0 auto;
+}
+
+#dokuwiki__site {
+    margin: 0 auto;
+    max-width: @ini_site_width;
+}
+
+#dokuwiki__site > .site {
+    padding: 0 .5em;
+}
+
+#dokuwiki__header {
+    width: 100%;
+
+    .headings {
+        float: left;
+    }
+
+    .tools {
+        float: right;
+        text-align: right;
+    }
+}
+
+[dir=rtl] #dokuwiki__header {
+    .headings {
+        float: right;
+        text-align: right;
+    }
+
+    .tools {
+        float: left;
+        text-align: left;
+    }
+}
+
+#dokuwiki__site .wrapper {
+    position: relative;
+}
+
+#dokuwiki__aside {
+    width: @ini_sidebar_width;
+    float: left;
+    position: relative;
+    display: block;
+
+    > .pad {
+        margin: 0 1.5em 0 0;
+    }
+}
+
+[dir=rtl] #dokuwiki__aside {
+    float: right;
+    > .pad {
+        margin: 0 0 0 1.5em;
+    }
+}
+
+.showSidebar #dokuwiki__content {
+    float: right;
+    margin-left: (-1 * @ini_sidebar_width);
+    width: 100%;
+
+    > .pad {
+        margin-left: @ini_sidebar_width;
+    }
+}
+
+[dir=rtl] .showSidebar #dokuwiki__content {
+    float: left;
+    margin-left: 0;
+    margin-right: (-1 * @ini_sidebar_width);
+
+    > .pad {
+        margin-left: 0;
+        margin-right: @ini_sidebar_width;
+    }
+}
+
+#dokuwiki__footer {
+    clear: both;
+}

+ 50 - 0
css/usertools.less

@@ -0,0 +1,50 @@
+#dokuwiki__usertools {
+    position: absolute;
+    top: .5em;
+    right: 40px; // pagetool width
+    text-align: right;
+    width: 100%;
+
+    ul {
+        margin: 0 auto;
+        padding: 0;
+        max-width: @ini_site_width;
+    }
+
+    li.action a {
+        display: inline-flex;
+        flex-direction: row-reverse;
+        flex-wrap: nowrap;
+
+        svg {
+            height: 1.4em;
+            width: 1.4em;
+            vertical-align: middle;
+            fill: @ini_border;
+            margin-right: 0.2em;
+        }
+    }
+
+    li.action a:hover,
+    li.action a:active {
+        svg {
+            fill: @ini_link;
+        }
+    }
+
+}
+
+[dir=rtl] #dokuwiki__usertools {
+    text-align: left;
+    left: 40px; // pagetool width
+    right: auto;
+
+
+    li.action a {
+
+        svg {
+            margin-right: 0;
+            margin-left: 0.2em;
+        }
+    }
+}

+ 104 - 0
detail.php

@@ -0,0 +1,104 @@
+<?php
+/**
+ * DokuWiki Image Detail Page
+ *
+ * @author   Andreas Gohr <andi@splitbrain.org>
+ * @author   Anika Henke <anika@selfthinker.org>
+ * @license  GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ */
+
+// must be run from within DokuWiki
+if (!defined('DOKU_INC')) die();
+
+?><!DOCTYPE html>
+<html  lang="<?php echo $conf['lang']?>" dir="<?php echo $lang['direction'] ?>" class="no-js">
+<head>
+    <meta charset="utf-8" />
+    <title>
+        <?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG))?>
+        [<?php echo strip_tags($conf['title'])?>]
+    </title>
+    <script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script>
+    <?php tpl_metaheaders()?>
+    <meta name="viewport" content="width=device-width,initial-scale=1" />
+    <?php echo tpl_favicon(array('favicon', 'mobile')) ?>
+    <?php tpl_includeFile('meta.html') ?>
+</head>
+
+<body >
+    <div id="dokuwiki__site"><div id="dokuwiki__top" class="site <?php echo tpl_classes(); ?>">
+
+        <?php include('tpl_header.php') ?>
+
+        <div class="wrapper group" id="dokuwiki__detail">
+
+            <!-- ********** CONTENT ********** -->
+            <main id="dokuwiki__content"><div class="pad group">
+                <?php html_msgarea() ?>
+
+                <?php if(!$ERROR): ?>
+                    <div class="pageId"><span><?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG)); ?></span></div>
+                <?php endif; ?>
+
+                <div class="page group">
+                    <?php tpl_flush() ?>
+                    <?php tpl_includeFile('pageheader.html') ?>
+                    <!-- detail start -->
+                    <?php
+                    if($ERROR):
+                        echo '<h1>'.$ERROR.'</h1>';
+                    else: ?>
+                        <?php if($REV) echo p_locale_xhtml('showrev');?>
+                        <h1><?php echo nl2br(hsc(tpl_img_getTag('simple.title'))); ?></h1>
+
+                        <?php tpl_img(900,700); /* parameters: maximum width, maximum height (and more) */ ?>
+
+                        <div class="img_detail">
+                            <?php tpl_img_meta(); ?>
+                            <dl>
+                            <?php
+                            echo '<dt>'.$lang['reference'].':</dt>';
+                            $media_usage = ft_mediause($IMG,true);
+                            if(count($media_usage) > 0){
+                                foreach($media_usage as $path){
+                                    echo '<dd>'.html_wikilink($path).'</dd>';
+                                }
+                            }else{
+                                echo '<dd>'.$lang['nothingfound'].'</dd>';
+                            }
+                            ?>
+                            </dl>
+                            <p><?php echo $lang['media_acl_warning']; ?></p>
+                        </div>
+                        <?php //Comment in for Debug// dbg(tpl_img_getTag('Simple.Raw'));?>
+                    <?php endif; ?>
+                </div>
+                <!-- detail stop -->
+                <?php tpl_includeFile('pagefooter.html') ?>
+                <?php tpl_flush() ?>
+
+                <?php /* doesn't make sense like this; @todo: maybe add tpl_imginfo()?
+                <div class="docInfo"><?php tpl_pageinfo(); ?></div>
+                */ ?>
+
+            </div></main><!-- /content -->
+
+            <hr class="a11y" />
+
+            <!-- PAGE ACTIONS -->
+            <?php if (!$ERROR): ?>
+                <nav id="dokuwiki__pagetools" aria-labelledby="dokuwiki__pagetools__heading">
+                    <h3 class="a11y" id="dokuwiki__pagetools__heading"><?php echo $lang['page_tools']; ?></h3>
+                    <div class="tools">
+                        <ul>
+                            <?php echo (new \dokuwiki\Menu\DetailMenu())->getListItems(); ?>
+                        </ul>
+                    </div>
+                </nav>
+            <?php endif; ?>
+        </div><!-- /wrapper -->
+
+        <?php include('tpl_footer.php') ?>
+    </div></div><!-- /site -->
+</body>
+</html>

二進制
images/apple-touch-icon.png


二進制
images/button-css.png


二進制
images/button-donate.gif


二進制
images/button-dw.png


二進制
images/button-html5.png


二進制
images/button-php.gif


二進制
images/button-rss.png


二進制
images/favicon.ico


+ 5 - 0
images/license.txt

@@ -0,0 +1,5 @@
+Icons for:  sitetools.png
+Icon set:   Dusseldorf
+Designer:   pc.de
+License:    Creative Commons Attribution License [http://creativecommons.org/licenses/by/3.0/]
+URL:        http://pc.de/icons/#Dusseldorf

二進制
images/logo.png


+ 8 - 0
images/page-background.svg

@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
+    <linearGradient id="g" x1="0%" y1="0%" x2="0%" y2="100%">
+        <stop offset="0" stop-color="#dddddd" />
+        <stop offset="0.1" stop-color="#eeeeee" />
+        <stop offset="0.4" stop-color="#fbfaf9" />
+    </linearGradient>
+    <rect x="0" y="0" width="100%" height="100%" fill="url(#g)" />
+</svg>

二進制
images/page-gradient.png


+ 125 - 0
images/pagetools-build.php

@@ -0,0 +1,125 @@
+<?php
+// phpcs:ignoreFile -- deprecated and will be removed
+/**
+ * This script generates a sprite from the unprocessed pagetool icons by combining them
+ * and overlaying a color layer for the active state.
+ *
+ * This script requires a current libGD to be available.
+ *
+ * The color for the active state is read from the style.ini's __link__ replacement
+ *
+ * The final sprite is optimized with optipng if available.
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @deprecated 2018-06-15 we no longer use PNG based icons
+ * @todo   Maybe add some more error checking
+ */
+$GAMMA = 0.8;
+$OPTIPNG = '/usr/bin/optipng';
+
+if('cli' != php_sapi_name()) die('please run from commandline');
+
+// load input images
+$input = glob('pagetools/*.png');
+sort($input);
+$cnt   = count($input);
+if(!$cnt){
+    die("No input images found. This script needs to be called from within the image directory!\n");
+}
+
+// create destination image
+$DST = imagecreatetruecolor(30,$cnt*45*2);
+imagesavealpha($DST, true);
+$C_trans = imagecolorallocatealpha($DST, 0, 0, 0, 127);
+imagefill($DST, 0, 0, $C_trans);
+
+// load highlight color from style.ini
+$ini = parse_ini_file('../style.ini',true);
+$COLOR = hex2rgb($ini['replacements']['__link__']);
+$C_active = imagecolorallocate($DST, $COLOR['r'],$COLOR['g'],$COLOR['b']);
+
+// add all the icons to the sprite image
+for($i=0; $i<$cnt; $i++){
+    $base = $i*90;
+
+    $IN = imagecreatefrompng($input[$i]);
+    imagesavealpha($IN, true);
+    imagecolorscale($IN,$GAMMA);
+    imagecopy($DST,$IN, 0,$base, 0,0, 30,30);
+    imagedestroy($IN);
+
+    $IN = imagecreatefrompng($input[$i]);
+    imagesavealpha($IN, true);
+    imagecolorscale($IN,$GAMMA);
+    imagecopy($DST,$IN, 0,$base+45, 0,0, 30,30);
+    imagedestroy($IN);
+
+    imagelayereffect($DST, IMG_EFFECT_OVERLAY);
+    imagefilledrectangle($DST, 0,$base+45, 30,$base+45+30, $C_active);
+    imagelayereffect($DST, IMG_EFFECT_NORMAL);
+}
+
+// output sprite
+imagepng($DST,'pagetools-sprite.png');
+imagedestroy($DST);
+
+// optimize if possible
+if(is_executable($OPTIPNG)){
+    system("$OPTIPNG -o5 'pagetools-sprite.png'");
+}
+
+/**
+ * Convert a hex color code to an rgb array
+ */
+function hex2rgb($hex) {
+    // strip hash
+    $hex = str_replace('#', '', $hex);
+
+    // normalize short codes
+    if(strlen($hex) == 3){
+        $hex = substr($hex,0,1).
+               substr($hex,0,1).
+               substr($hex,1,1).
+               substr($hex,1,1).
+               substr($hex,2,1).
+               substr($hex,2,1);
+    }
+
+    // calc rgb
+    return array(
+       'r' => hexdec(substr($hex, 0, 2)),
+       'g' => hexdec(substr($hex, 2, 2)),
+       'b' => hexdec(substr($hex, 4, 2))
+    );
+}
+
+/**
+ * Scale (darken/lighten) a given image
+ *
+ * @param resource $img    The truetype GD image to work on
+ * @param float     $scale  Scale the colors by this value ( <1 darkens, >1 lightens)
+ */
+function imagecolorscale(&$img, $scale){
+    $w = imagesx($img);
+    $h = imagesy($img);
+
+    imagealphablending($img, false);
+    for($x = 0; $x < $w; $x++){
+        for($y = 0; $y < $h; $y++){
+            $rgba   = imagecolorat($img, $x, $y);
+            $a = ($rgba >> 24) & 0xFF;
+            $r = ($rgba >> 16) & 0xFF;
+            $g = ($rgba >> 8) & 0xFF;
+            $b = $rgba & 0xFF;
+
+            $r = max(min(round($r*$scale),255),0);
+            $g = max(min(round($g*$scale),255),0);
+            $b = max(min(round($b*$scale),255),0);
+
+            $color = imagecolorallocatealpha($img, $r, $g, $b, $a);
+            imagesetpixel($img, $x, $y, $color);
+        }
+    }
+    imagealphablending($img, true);
+}
+

二進制
images/pagetools/00_default.png


二進制
images/pagetools/01_edit.png


二進制
images/pagetools/02_create.png


二進制
images/pagetools/03_draft.png


二進制
images/pagetools/05_source.png


二進制
images/pagetools/06_revert.png


二進制
images/pagetools/07_revisions.png


二進制
images/pagetools/08_backlink.png


二進制
images/pagetools/09_subscribe.png


二進制
images/pagetools/10_top.png


二進制
images/pagetools/11_mediamanager.png


二進制
images/pagetools/12_back.png


+ 4 - 0
images/pagetools/license.txt

@@ -0,0 +1,4 @@
+Icon set:   iPhone toolbar icons
+Designer:   TheWorkingGroup.ca
+License:    Creative Commons Attribution-Share Alike License [http://creativecommons.org/licenses/by-sa/3.0/]
+URL:        http://blog.twg.ca/2009/09/free-iphone-toolbar-icons/

二進制
images/search.png


二進制
images/toc-arrows.png


二進制
images/toc-bullet.png


+ 13 - 0
lang/en/lang.php

@@ -0,0 +1,13 @@
+<?php
+
+$lang['home'] = 'Home';
+// style.ini values
+$lang['__background_site__'] = 'Color for the very background (behind the content box)';
+$lang['__link__']     = 'The general link color';
+$lang['__existing__'] = 'The color for links to existing pages';
+$lang['__missing__']  = 'The color for links to non-existing pages';
+$lang['__site_width__']    = 'The width of the full site (can be any length unit: %, px, em, ...)';
+$lang['__sidebar_width__'] = 'The width of the sidebar, if any (can be any length unit: %, px, em, ...)';
+$lang['__tablet_width__']  = 'Below screensizes of this width, the site switches to tablet mode';
+$lang['__phone_width__']   = 'Below screensizes of this width, the site switches to phone mode';
+$lang['__theme_color__']   = 'Theme color of the web app';

+ 4 - 0
lang/en/style.txt

@@ -0,0 +1,4 @@
+If you want to adjust the logo, simply use the Media Manager to upload a ''logo.png'' into the ''wiki'' or the root namespace and it
+will be automatically used. You can also upload a ''favicon.ico'' there. If you use a closed
+wiki it is recommended to make the ''wiki'' (or root) namespace world readable in the ACL settings or
+your logo is not shown to not logged in users.

+ 18 - 0
lang/ru/lang.php

@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Yuriy Skalko <yuriy.skalko@gmail.com>
+ * @author RainbowSpike <1@2.ru>
+ * @author Aleksandr Selivanov <alexgearbox@yandex.ru>
+ */
+$lang['__background_site__']   = 'Цвет для дальнего фона (за окном содержимого)';
+$lang['__link__']              = 'Основной цвет ссылок';
+$lang['__existing__']          = 'Цвет ссылок на существующие страницы';
+$lang['__missing__']           = 'Цвет ссылок на несуществующие страницы';
+$lang['__site_width__']        = 'Ширина всего сайта (любые CSS-единицы: %, px, em, ...)';
+$lang['__sidebar_width__']     = 'Ширина боковой панели, если есть (любые CSS-единицы)';
+$lang['__tablet_width__']      = 'Переключать сайт в планшетный вид ниже ширины';
+$lang['__phone_width__']       = 'Переключать сайт в мобильный вид ниже ширины';
+$lang['__theme_color__']       = 'Цвет темы веб-приложения';

+ 1 - 0
lang/ru/style.txt

@@ -0,0 +1 @@
+Если вы хотите изменить логотип, просто используйте «Управление медиафайлами» для загрузки файла ''logo.png'' в корневое пространство имён или ''wiki'', и тогда он будет использоваться автоматически. Туда же вы можете загрузить ''favicon.ico''. Если у вас закрытая вики, рекомендуется указать права на «чтение» в списках контроля доступа для пространства имён ''wiki'' (или корневое), иначе логотип не будет показываться незалогинившимся пользователям.

+ 89 - 0
main.php

@@ -0,0 +1,89 @@
+<?php
+/**
+ * DokuWiki Default Template 2012
+ *
+ * @link     http://dokuwiki.org/template
+ * @author   Anika Henke <anika@selfthinker.org>
+ * @author   Clarence Lee <clarencedglee@gmail.com>
+ * @license  GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ */
+
+if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */
+
+$hasSidebar = page_findnearest($conf['sidebar']);
+$showSidebar = $hasSidebar && ($ACT=='show');
+?><!DOCTYPE html>
+<html lang="<?php echo $conf['lang'] ?>" dir="<?php echo $lang['direction'] ?>" class="no-js">
+<head>
+    <meta charset="utf-8" />
+    <title><?php tpl_pagetitle() ?> [<?php echo strip_tags($conf['title']) ?>]</title>
+    <script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script>
+    <?php tpl_metaheaders() ?>
+    <meta name="viewport" content="width=device-width,initial-scale=1" />
+    <?php echo tpl_favicon(array('favicon', 'mobile')) ?>
+    <?php tpl_includeFile('meta.html') ?>
+    <link href='http://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900italic,900' rel='stylesheet' type='text/css'>
+</head>
+
+<body style="font-family: Roboto;">
+    <div id="dokuwiki__site"><div id="dokuwiki__top" class="site <?php echo tpl_classes(); ?> <?php
+        echo ($showSidebar) ? 'showSidebar' : ''; ?> <?php echo ($hasSidebar) ? 'hasSidebar' : ''; ?>">
+
+        <?php include('tpl_header.php') ?>
+
+        <div class="wrapper group">
+
+            <?php if($showSidebar): ?>
+                <!-- ********** ASIDE ********** -->
+                <nav id="dokuwiki__aside" aria-label="<?php echo $lang['sidebar']
+                    ?>"><div class="pad aside include group">
+                    <h3 class="toggle"><?php echo $lang['sidebar'] ?></h3>
+                    <div class="content"><div class="group">
+                        <?php tpl_flush() ?>
+                        <?php tpl_includeFile('sidebarheader.html') ?>
+                        <?php tpl_include_page($conf['sidebar'], true, true) ?>
+                        <?php tpl_includeFile('sidebarfooter.html') ?>
+                    </div></div>
+                </div></nav><!-- /aside -->
+            <?php endif; ?>
+
+            <!-- ********** CONTENT ********** -->
+            <main id="dokuwiki__content"><div class="pad group">
+                <?php html_msgarea() ?>
+
+                <div class="pageId"><span><?php echo hsc($ID) ?></span></div>
+
+                <div class="page group">
+                    <?php tpl_flush() ?>
+                    <?php tpl_includeFile('pageheader.html') ?>
+                    <!-- wikipage start -->
+                    <?php tpl_content() ?>
+                    <!-- wikipage stop -->
+                    <?php tpl_includeFile('pagefooter.html') ?>
+                </div>
+
+                <div class="docInfo"><?php tpl_pageinfo() ?></div>
+
+                <?php tpl_flush() ?>
+
+                <hr class="a11y" />
+            </div></main><!-- /content -->
+
+            <!-- PAGE ACTIONS -->
+            <nav id="dokuwiki__pagetools" aria-labelledby="dokuwiki__pagetools__heading">
+                <h3 class="a11y" id="dokuwiki__pagetools__heading"><?php echo $lang['page_tools']; ?></h3>
+                <div class="tools">
+                    <ul>
+                        <?php echo (new \dokuwiki\Menu\PageMenu())->getListItems(); ?>
+                    </ul>
+                </div>
+            </nav>
+        </div><!-- /wrapper -->
+
+        <?php include('tpl_footer.php') ?>
+    </div></div><!-- /site -->
+
+    <div class="no"><?php tpl_indexerWebBug() /* provide DokuWiki housekeeping, required in all templates */ ?></div>
+    <div id="screen__mode" class="no"></div><?php /* helper to detect CSS media query in script.js */ ?>
+</body>
+</html>

+ 43 - 0
mediamanager.php

@@ -0,0 +1,43 @@
+<?php
+/**
+ * DokuWiki Media Manager Popup
+ *
+ * @author   Andreas Gohr <andi@splitbrain.org>
+ * @license  GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ */
+// must be run from within DokuWiki
+if (!defined('DOKU_INC')) die();
+
+?><!DOCTYPE html>
+<html  lang="<?php echo $conf['lang']?>" dir="<?php echo $lang['direction'] ?>" class="popup no-js">
+<head>
+    <meta charset="utf-8" />
+    <title>
+        <?php echo hsc($lang['mediaselect'])?>
+        [<?php echo strip_tags($conf['title'])?>]
+    </title>
+    <script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script>
+    <?php tpl_metaheaders()?>
+    <meta name="viewport" content="width=device-width,initial-scale=1" />
+    <?php echo tpl_favicon(array('favicon', 'mobile')) ?>
+    <?php tpl_includeFile('meta.html') ?>
+</head>
+
+<body >
+    <div id="media__manager" class="dokuwiki">
+        <?php html_msgarea() ?>
+        <nav id="mediamgr__aside"><div class="pad">
+            <h1><?php echo hsc($lang['mediaselect'])?></h1>
+
+            <?php /* keep the id! additional elements are inserted via JS here */?>
+            <div id="media__opts"></div>
+
+            <?php tpl_mediaTree() ?>
+        </div></nav>
+
+        <main id="mediamgr__content"><div class="pad">
+            <?php tpl_mediaContent() ?>
+        </div></main>
+    </div>
+</body>
+</html>

+ 89 - 0
script.js

@@ -0,0 +1,89 @@
+/**
+ *  We handle several device classes based on browser width.
+ *
+ *  - desktop:   > __tablet_width__ (as set in style.ini)
+ *  - mobile:
+ *    - tablet   <= __tablet_width__
+ *    - phone    <= __phone_width__
+ */
+var device_class = ''; // not yet known
+var device_classes = 'desktop mobile tablet phone';
+
+function tpl_dokuwiki_mobile(){
+
+    // the z-index in mobile.css is (mis-)used purely for detecting the screen mode here
+    var screen_mode = jQuery('#screen__mode').css('z-index') + '';
+
+    // determine our device pattern
+    // TODO: consider moving into dokuwiki core
+    switch (screen_mode) {
+        case '1':
+            if (device_class.match(/tablet/)) return;
+            device_class = 'mobile tablet';
+            break;
+        case '2':
+            if (device_class.match(/phone/)) return;
+            device_class = 'mobile phone';
+            break;
+        default:
+            if (device_class == 'desktop') return;
+            device_class = 'desktop';
+    }
+
+    jQuery('html').removeClass(device_classes).addClass(device_class);
+
+    // handle some layout changes based on change in device
+    var $handle = jQuery('#dokuwiki__aside h3.toggle');
+    var $toc = jQuery('#dw__toc h3');
+
+    if (device_class == 'desktop') {
+        // reset for desktop mode
+        if($handle.length) {
+            $handle[0].setState(1);
+            $handle.hide();
+        }
+        if($toc.length) {
+            $toc[0].setState(1);
+        }
+    }
+    if (device_class.match(/mobile/)){
+        // toc and sidebar hiding
+        if($handle.length) {
+            $handle.show();
+            $handle[0].setState(-1);
+        }
+        if($toc.length) {
+            $toc[0].setState(-1);
+        }
+    }
+}
+
+jQuery(function(){
+    var resizeTimer;
+    dw_page.makeToggle('#dokuwiki__aside h3.toggle','#dokuwiki__aside div.content');
+
+    tpl_dokuwiki_mobile();
+    jQuery(window).on('resize',
+        function(){
+            if (resizeTimer) clearTimeout(resizeTimer);
+            resizeTimer = setTimeout(tpl_dokuwiki_mobile,200);
+        }
+    );
+
+    // increase sidebar length to match content (desktop mode only)
+    var sidebar_height = jQuery('.desktop #dokuwiki__aside').height();
+    var pagetool_height = jQuery('.desktop #dokuwiki__pagetools ul:first').height();
+    // pagetools div has no height; ul has a height
+    var content_min = Math.max(sidebar_height || 0, pagetool_height || 0);
+
+    var content_height = jQuery('#dokuwiki__content div.page').height();
+    if(content_min && content_min > content_height) {
+        var $content = jQuery('#dokuwiki__content div.page');
+        $content.css('min-height', content_min);
+    }
+
+    // blur when clicked
+    jQuery('#dokuwiki__pagetools div.tools>ul>li>a').on('click', function(){
+        this.blur();
+    });
+});

+ 89 - 0
style.ini

@@ -0,0 +1,89 @@
+; Please see http://php.net/manual/en/function.parse-ini-file.php
+; for limitations of the ini format used here
+
+; To extend this file or make changes to it, it is recommended to create
+; a local conf/tpl/<template-folder-name>/style.ini file to prevent losing
+; any changes after an upgrade.
+; Please don't forget to copy the section your changes should be under
+; (i.e. [stylesheets] or [replacements]) into that file as well.
+
+; Define the stylesheets your template uses here. The second value
+; defines for which output media the style should be loaded. Currently
+; print, screen and all are supported.
+; You can reference CSS and LESS files here. Files referenced here will
+; be checked for updates when considering a cache rebuild while files
+; included through LESS' @import statements are not
+
+[stylesheets]
+
+css/basic.less            = screen
+css/_imgdetail.css        = screen
+css/_media_popup.css      = screen
+css/_media_fullscreen.css = screen
+css/_fileuploader.css     = screen
+css/_tabs.css             = screen
+css/_links.css            = screen
+css/_toc.css              = screen
+css/_footnotes.css        = screen
+css/_search.less          = screen
+css/_recent.css           = screen
+css/_diff.css             = screen
+css/_edit.css             = screen
+css/_modal.css            = screen
+css/_forms.css            = screen
+css/_admin.less           = screen
+css/structure.less        = screen
+css/design.less           = screen
+css/usertools.less        = screen
+css/pagetools.less        = screen
+css/content.less          = screen
+
+css/mobile.less           = all
+css/print.css             = print
+
+
+; This section is used to configure some placeholder values used in
+; the stylesheets. Changing this file is the simplest method to
+; give your wiki a new look.
+; Placeholders defined here will also be made available as LESS variables
+; (with surrounding underscores removed, and the prefix @ini_ added)
+
+[replacements]
+
+;--------------------------------------------------------------------------
+;------ guaranteed dokuwiki color placeholders that every plugin can use
+
+; main text and background colors
+__text__            = "#333"            ; @ini_text
+__background__      = "#fff"            ; @ini_background
+; alternative text and background colors
+__text_alt__        = "#999"            ; @ini_text_alt
+__background_alt__  = "#eee"            ; @ini_background_alt
+; neutral text and background colors
+__text_neu__        = "#666"            ; @ini_text_neu
+__background_neu__  = "#ddd"            ; @ini_background_neu
+; border color
+__border__          = "#ccc"            ; @ini_border
+
+; highlighted text (e.g. search snippets)
+__highlight__       = "#ff9"            ; @ini_highlight
+
+; default link color
+__link__            = "#2b73b7"         ; @ini_link
+
+;--------------------------------------------------------------------------
+
+__background_site__ = "#fbfaf9"         ; @ini_background_site
+
+; these are used for wiki links
+__existing__        = "#080"            ; @ini_existing
+__missing__         = "#d30"            ; @ini_missing
+
+; site and sidebar widths
+__site_width__      = "75em"            ; @ini_site_width
+__sidebar_width__   = "16em"            ; @ini_sidebar_width
+; cut off points for mobile devices
+__tablet_width__    = "800px"           ; @ini_tablet_width
+__phone_width__     = "480px"           ; @ini_phone_width
+
+__theme_color__     = "#008800"         ; @_ini_theme_color: theme_color of the web app

+ 7 - 0
template.info.txt

@@ -0,0 +1,7 @@
+base     dokuwiki
+author   Anika Henke
+email    anika@selfthinker.org
+date     2015-07-26
+name     DokuWiki Template
+desc     DokuWiki's default template since 2012
+url      http://www.dokuwiki.org/template:dokuwiki

+ 13 - 0
tpl_footer.php

@@ -0,0 +1,13 @@
+<?php
+/**
+ * Template footer, included in the main and detail files
+ */
+
+// must be run from within DokuWiki
+if (!defined('DOKU_INC')) die();
+?>
+
+<!-- ********** FOOTER ********** -->
+<footer id="dokuwiki__footer"><div class="pad">
+© 2022 ShariX
+</footer><!-- /footer -->

+ 82 - 0
tpl_header.php

@@ -0,0 +1,82 @@
+<?php
+/**
+ * Template header, included in the main and detail files
+ */
+
+// must be run from within DokuWiki
+if (!defined('DOKU_INC')) die();
+?>
+
+<!-- ********** HEADER ********** -->
+<header id="dokuwiki__header" ><div class="pad group">
+
+    <?php tpl_includeFile('header.html') ?>
+
+    <div class="headings group">
+        <ul class="a11y skip">
+            <li><a href="#dokuwiki__content"><?php echo $lang['skip_to_content']; ?></a></li>
+        </ul>
+
+        <h1 class="logo"><?php
+            // get logo either out of the template images folder or data/media folder
+            $logoSize = array();
+            $logo = tpl_getMediaFile(array(':wiki:logo.png', ':logo.png', 'images/logo.png'), false, $logoSize);
+
+            // display logo and wiki title in a link to the home page
+            tpl_link(
+                wl(),
+                '<img src="'.$logo.'" '.$logoSize[3].' alt="" /> <span>'.$conf['title'].'</span>',
+                'accesskey="h" title="' . tpl_getLang('home') . ' [h]"'
+            );
+        ?></h1>
+        <?php if ($conf['tagline']): ?>
+            <p class="claim"><?php echo $conf['tagline']; ?></p>
+        <?php endif ?>
+    </div>
+
+    <div class="tools group">
+        <!-- USER TOOLS -->
+        <?php if ($conf['useacl']): ?>
+            <div id="dokuwiki__usertools">
+                <h3 class="a11y"><?php echo $lang['user_tools']; ?></h3>
+                <ul>
+                    <?php
+                        if (!empty($_SERVER['REMOTE_USER'])) {
+                            echo '<li class="user">';
+                            tpl_userinfo(); /* 'Logged in as ...' */
+                            echo '</li>';
+                        }
+                        echo (new \dokuwiki\Menu\UserMenu())->getListItems('action ');
+                    ?>
+                </ul>
+            </div>
+        <?php endif ?>
+
+        <!-- SITE TOOLS -->
+        <div id="dokuwiki__sitetools">
+            <h3 class="a11y"><?php echo $lang['site_tools']; ?></h3>
+            <?php tpl_searchform(); ?>
+            <div class="mobileTools">
+                <?php echo (new \dokuwiki\Menu\MobileMenu())->getDropdown($lang['tools']); ?>
+            </div>
+            <ul>
+                <?php echo (new \dokuwiki\Menu\SiteMenu())->getListItems('action ', false); ?>
+            </ul>
+        </div>
+
+    </div>
+
+    <!-- BREADCRUMBS -->
+    <?php if($conf['breadcrumbs'] || $conf['youarehere']): ?>
+        <div class="breadcrumbs">
+            <?php if($conf['youarehere']): ?>
+                <div class="youarehere"><?php tpl_youarehere() ?></div>
+            <?php endif ?>
+            <?php if($conf['breadcrumbs']): ?>
+                <div class="trace"><?php tpl_breadcrumbs() ?></div>
+            <?php endif ?>
+        </div>
+    <?php endif ?>
+
+    <hr class="a11y" />
+</div></header><!-- /header -->