diff --git a/templates/55/bulma/LICENSE b/templates/55/bulma/LICENSE new file mode 100644 index 0000000..4523de6 --- /dev/null +++ b/templates/55/bulma/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Kennesaw State University - Linux Server Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/templates/55/bulma/README.md b/templates/55/bulma/README.md new file mode 100644 index 0000000..d0c7e0c --- /dev/null +++ b/templates/55/bulma/README.md @@ -0,0 +1,9 @@ +# DokuWiki Template Bulma + +DokuWiki template based on the Bulma CSS framework. + +![preview](preview.png) + +# Installation + +Download or clone this repository to `lib/tpl/bulma`. diff --git a/templates/55/bulma/css/basic.css b/templates/55/bulma/css/basic.css new file mode 100644 index 0000000..2dd3c9a --- /dev/null +++ b/templates/55/bulma/css/basic.css @@ -0,0 +1,459 @@ +/** + * 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 + */ + +html { + overflow-x: auto; + overflow-y: scroll; +} +html, +body { + background-color: __background__; + color: __text__; + margin: 0; + padding: 0; +} +body { + font: normal 100%/1.4 Frutiger, Calibri, "Myriad Pro", Myriad, "Nimbus Sans L", Geneva, "Helvetica Neue", Helvetica, 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 ____________*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: Constantia, Utopia, Lucidabright, Lucida, Georgia, "Nimbus Roman No9 L", serif; + font-weight: bold; + color: __text_neu__; + background-color: inherit; + 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: 2.25em; + 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 */ + +caption, +figcaption, +summary, +legend { + font-style: italic; + font-weight: normal; + line-height: 1.2; + padding: 0; + margin: 0 0 .35em; +} + + +/*____________ 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 { + 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: 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; +} + + +/*____________ tables ____________*/ + +table { + border-collapse: collapse; + empty-cells: show; + border-spacing: 0; + border: 1px solid __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 __border__; +} +th { + font-weight: bold; + background-color: __background_alt__; + color: inherit; + text-align: left; +} +[dir=rtl] th { + text-align: right; +} + + +/*____________ links ____________*/ + +a { +} +a:link, +a:visited { + text-decoration: none; + color: __link__; +} +a:link:hover, +a:visited:hover, +a:link:focus, +a:visited:focus, +a:link:active, +a:visited:active { + text-decoration: underline; +} +a:link:focus, +a:visited:focus { + outline: 1px dotted; +} +a:link:active, +a:visited:active { + color: #c00; +} + + +/*____________ misc ____________*/ + +img { + border-width: 0; + vertical-align: middle; + color: #666; + background-color: transparent; + font-style: italic; +} + +img, +object, +embed, +iframe, +video, +audio { + max-width: 100%; +} + +img, +video { + height: auto; +} + +iframe { + border-width: 0; + background-color: inherit; +} + +button img { + max-width: none; +} + +hr { + border-style: solid; + border-width: 1px 0 0; + text-align: center; + height: 0; + width: 100%; + clear: both; +} + +acronym, +abbr { + font-style: normal; +} +acronym[title], +abbr[title] { + cursor: help; + border-bottom: 1px dotted; + text-decoration: none; +} +em acronym, +em abbr { + font-style: italic; +} + +mark { + background: __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; + background-color: __background_alt__; + color: __text__; + direction: ltr; + text-align: left; +} +pre { + border: 1px solid __border__; + padding: 0 .2em; + overflow: auto; + word-wrap: normal; +} + +blockquote { + padding: 0 .5em; + border: solid __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; +} + +/*____________ forms ____________*/ + +form { + display: inline; + margin: 0; + padding: 0; +} + +fieldset { + padding: .7em 1em 0; + padding: .7rem 1rem; /* for those browsers understanding :last-child */ + border: 1px solid #999; +} +fieldset > :last-child { + margin-bottom: 0; +} +legend { + padding: 0 .1em; +} + +label { + vertical-align: middle; + cursor: pointer; +} + +input, +textarea, +button, +select, +optgroup, +option, +keygen, +output, +meter, +progress { + font: inherit; + color: inherit; + /* background-color destroys button look */ + line-height: normal; + margin: 0; + vertical-align: middle; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} + +input, +button, +select, +keygen, +textarea { + padding: .1em; +} +input[type=radio], +input[type=checkbox], +input[type=image], +input.check { + padding: 0; +} + +input[type=submit], +input[type=button], +input[type=reset], +input.button, +button { + cursor: pointer; + overflow: visible; + padding: .1em .4em; +} + +input[disabled], +button[disabled], +select[disabled], +textarea[disabled], +option[disabled], +input[readonly], +button[readonly], +select[readonly], +textarea[readonly] { + cursor: auto; + opacity: .5; +} + +input:focus, +button:focus, +select:focus, +keygen:focus, +textarea:focus { + box-shadow: 0 0 5px #999; + outline: 0; +} +input::-moz-focus-inner, +button::-moz-focus-inner { + border: 0; + padding: 0; +} + +select { + max-width: 100%; +} +optgroup { + font-style: italic; + font-weight: bold; +} +option { + font-style: normal; + font-weight: normal; +} diff --git a/templates/55/bulma/css/content.css b/templates/55/bulma/css/content.css new file mode 100644 index 0000000..edd8fab --- /dev/null +++ b/templates/55/bulma/css/content.css @@ -0,0 +1,169 @@ +/** + * This file provides the main design styles for the page content. + * + * @author Anika Henke + * @author Andreas Gohr + */ + + +/*____________ 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: __existing__; + background-color: inherit; +} +/* not existing wikipage */ +.dokuwiki a.wikilink2 { + color: __missing__; + background-color: inherit; +} + + +/*____________ images ____________*/ + +/* embedded images (styles are already partly set in DokuWiki's lib/styles/all.css) */ +.dokuwiki img.media { + margin: .2em 0; +} +.dokuwiki img.medialeft { + margin: .2em 1.5em .2em 0; +} +.dokuwiki img.mediaright { + margin: .2em 0 .2em 1.5em; +} +.dokuwiki img.mediacenter { + margin: .2em auto; +} + + +/*____________ tables ____________*/ + +/* div before each table */ +.dokuwiki div.table { +} + +.dokuwiki table.inline { + min-width: 50%; +} +.dokuwiki table.inline tr:hover td { + background-color: __background_alt__; +} +.dokuwiki table.inline tr:hover th { + background-color: __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 { +} + +.dokuwiki dl.code dt, +.dokuwiki dl.file dt { + background-color: __background_alt__; + border: solid __border__; + border-width: 1px 1px 0; + color: inherit; + display: inline; + padding: .1em .5em .2em; + margin-left: 1em; +} +[dir=rtl] .dokuwiki dl.code dt, +[dir=rtl] .dokuwiki dl.file dt { + margin-left: 0; + margin-right: 1em; +} +.dokuwiki dl.code dt a, +.dokuwiki dl.file dt a { +} + +.dokuwiki dl.code dd, +.dokuwiki dl.file dd { + margin: 0; +} + +/* for code in */ +.dokuwiki pre.file, +.dokuwiki dl.file pre, +.dokuwiki dl.file dt { + border-color: __text_neu__; +} + + +/*____________ media manager ____________*/ + +/* some headings in the media manager should not look like headings */ +#mediamanager__page h2, +#mediamanager__page h3 { + font-family: Frutiger, Calibri, Myriad, "Nimbus Sans L", Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif; + color: __text__; +} + +/* to style button-like div in _fileuploader.css to look like other buttons, + please add '.qq-upload-button' to the according styles (which don't really exist in this template) */ +.qq-upload-button { + border: 1px solid __border__; + background-color: __background_alt__; + padding: 0.125em 0.4em; +} + +/*____________ styling plugin ____________*/ + +#plugin__styling.ispopup { + padding: 1em; +} + + +/*____________ JS popup ____________*/ + +.JSpopup { + background-color: __background__; + color: __text__; + border: 1px solid __border__; + line-height: 1.2; + padding: 0 .2em; +} + +.JSpopup ul, +.JSpopup ol { + padding-left: 0; +} +[dir=rtl] .JSpopup ul, +[dir=rtl] .JSpopup ol { + padding-right: 0; +} diff --git a/templates/55/bulma/css/custom.css b/templates/55/bulma/css/custom.css new file mode 100644 index 0000000..1d4a80f --- /dev/null +++ b/templates/55/bulma/css/custom.css @@ -0,0 +1,215 @@ +/* Sidebar */ +.sidebar .content h1, +.sidebar .content h2, +.sidebar .content h3, +.sidebar .content h4, +.sidebar .content h5, +.sidebar .content h6 { + padding-top: 0.8em; +} + +.sidebar hr { + background-color: #ffffff; +} + +/* Main content */ +.dw__toc { + float: right; + padding-left: 1rem; +} + +.editbutton_section > .btn_secedit { + border: 0; + float: right; +} + +.editbutton_table > .btn_secedit { + background-color: transparent; + border: 0; + margin-top: -0.4rem; +} + +.section_highlight { +/** Old settings that show highlighted area: + * margin-left: -1.20em; + * margin-right: -1.20em; + * margin-top: 2rem; + * padding-left: .5em; + * padding-right: .5em; + * border: solid #f5f5f5; + * border-width: 0 1em; + */ + margin-top: 2rem; +} + +.section_highlight:first-child { + margin-top: 0; +} + +.secedit:last-child { + padding-bottom: 1rem; +} + +.section_highlight > .table { + padding-bottom: 1.5rem; +} + +.mediafile { + background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAwElEQVR4AW3PPUoDURQF4O/OBHsb0yi4ByG4TUELl+Q2bMQ0Roz5IfPedRgIg+Gd037cw40U3Frq/c/ae1YkPBw2pzLk3EM+P7nXJQmrU9nm79Tv/MrPkXzky0QIrIbc5zH3Y39yk+sR7HKbryMJIUfwVkCVBkfXgMXjAqAT6BS9KxvV4AZnIEDoQUwQM4CZTMttQExz87QWode1LiRIoTKDFuraIKQALkCKMzGnyi4TtexVl6llp0QK7iyb/xTrP+DMapMFm/pGAAAAAElFTkSuQmCC) 4px 4px no-repeat; + padding-left: 26px; + padding-bottom: 4px; + vertical-align: bottom; + padding-top: 2px; + padding-right: 4px; + background-color: #f5f5f5; + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +.content em:not(.u) { + font-style: italic; +} + +.content li ol { + margin-top: .25em; +} + +.content sup { + vertical-align: super; + padding-left: 0.1rem; +} + +.content table { + width: inherit; +} + +a.wikilink2 { + color: #ff3860; +} + +a.urlextern { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAABdklEQVR4AWMgAVRo1zY3rGk41rC+rqvCBCJWBpPM4WoomLHtdtuv/t9Lfk263TtrQ0t7Oj9cbzZDc/W6s/8T7khD+P+F/8bv29PZlswJVVBu0vPuVZyNYHFZbmAqE1SR0cbjXR6pjGBO58am962Ta3e3ftqy6B5LCcMasOj7gInrm9jBzI4vTX+bfjT/7/4/p/w/zFXybUmt71u4wJzGfxP/t/xvA+KaP2XnQSKVFpWPav/U/6+HKJjz++OVJUDp1n9N/+r+19QyMCz1mPC/8X/X/26Igrn3GiUeL5n/v+F/8//6/9NOMTC0hDUDefP/L4MoOL6ickVeSQ1QqAGooPdBJE/lnloge/fhixBHftFd9bLkR83/+n/1QAXVP8qX1Pyv/L/s/12f/4xQNz8s3Pa/6X/Vvzqgour/5f/r/q//f2fmLy54WP7lfJN74eMSoKIyoNFz/5/+9ar+Px9aZL3Xfjvz7aO3/96+eLvsnSVE7CPhOAYA9nvIX0UoNU8AAAAASUVORK5CYII=); + background-repeat: no-repeat; + background-position: 0 center; + padding: 0 0 0 18px; +} + +code { + border-radius: 4px; +} + +.code dd { + margin-left: 0; +} + +.file { + display: block; +} + +.footnotes { + border-top: 1px solid #dbdbdb; + padding: .5em 0 0 0; + margin: 1em 0 0 0; + clear: both; +} + +.fn .content { + padding-left: 1em; +} + +.fn sup { + vertical-align: bottom; + position: relative; + top: 1.5em; +} + +.fn { + margin-top: -1em; +} + +/*.input, .textarea { + width: unset; +}*/ + +#dw__pagetools { + position: absolute; + right: 55px; + width: 1px; + top: 4em; +} + +#dw__pagetools .buttons { + position: fixed; +} + +#dw__pagetools .buttons .control .button a:is(:active, :focus, :hover) svg { + fill: #485fc7; +} + +/* TOC and pagetools */ +.toc .button { + text-align: left; + min-height: 27px; + white-space: unset; + height: auto; + flex-direction: column; +} + +/* Config */ +#config__manager fieldset { + background-color: transparent; +} + +#config__manager .table td { + border: none; +} + +/* User manager */ +/*input.user-search { + height: 24px; + width: 24px; +}*/ + +/* Edit tables */ +button.toolbutton { + border-radius: 2px; + + font-size: .75rem; + + background-color: #fff; + color: #363636; + cursor: pointer; + justify-content: center; + padding-bottom: calc(-0.5em); + padding-left: 1em; + padding-right: 1em; + padding-top: calc(-0.5em); + text-align: center; + white-space: nowrap; + + user-select: none; + + -webkit-appearance: none; + align-items: center; + border: 1px solid #dbdbdb; + box-shadow: none; + display: inline-flex; + height: 2.5em; + line-height: 1.5; + position: relative; + vertical-align: top; + + font-family: BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + + margin: 0; +} + +button.toolbutton:hover { + border-color: #b5b5b5; + color: #363636; +} + +.content table.htCore td, .content table th { + padding: unset; + vertical-align: top; +} diff --git a/templates/55/bulma/css/design.css b/templates/55/bulma/css/design.css new file mode 100644 index 0000000..1286370 --- /dev/null +++ b/templates/55/bulma/css/design.css @@ -0,0 +1,274 @@ +/** + * This file provides the main design styles for the + * bits that surround the content. + * + * @author Anika Henke + * @author Andreas Gohr + */ + + +/* header +********************************************************************/ + +#dokuwiki__header { + margin: 1em 0 0; +} + +#dokuwiki__header .headings { + margin-bottom: 2.1em; +} +#dokuwiki__header h1 { + margin-bottom: 0; + font-size: 1.5em; +} +#dokuwiki__header h1 a { + text-decoration: none; + color: __link__; + background-color: inherit; +} +#dokuwiki__header p.claim { + margin-bottom: 0; +} +#dokuwiki__header h2 { + margin-bottom: 0; + font-size: 1.125em; +} + +#dokuwiki__header .tools { + margin-bottom: 2.1em; +} +#dokuwiki__header .tools ul { + margin-bottom: 0; +} +#dokuwiki__header .tools ul li { + display: inline; +} + +#dokuwiki__header form.search { + margin: .5em 0 0; + display: block; +} +#dokuwiki__header form.search #qsearch__in { + width: 12em; + margin-right: .5em; +} +[dir=rtl] #dokuwiki__header form.search #qsearch__in { + margin-right: 0; + margin-left: .5em; +} + +#dokuwiki__header div.breadcrumbs { + margin-bottom: .3em; +} +#dokuwiki__header div.breadcrumbs a { + color: __existing__; + background-color: inherit; +} + + +/* tools +********************************************************************/ + +/* make wiki links look the same as tool links in tool bars */ +#dokuwiki__usertools a.wikilink1, +#dokuwiki__pagetools a.wikilink1, +#dokuwiki__usertools a.wikilink2, +#dokuwiki__pagetools a.wikilink2 { + color: __link__; + border-bottom-width: 0; +} +#dokuwiki__usertools a.wikilink2:hover, +#dokuwiki__pagetools a.wikilink2:hover, +#dokuwiki__usertools a.wikilink2:active, +#dokuwiki__pagetools a.wikilink2:active, +#dokuwiki__usertools a.wikilink2:focus, +#dokuwiki__pagetools a.wikilink2:focus { + text-decoration: underline; +} + +/* highlight selected tool */ +/* before Greebo: */ +.mode_admin a.action.admin, +.mode_login a.action.login, +.mode_register a.action.register, +.mode_profile a.action.profile, +.mode_recent a.action.recent, +.mode_index a.action.index, +.mode_media a.action.media, +.mode_revisions a.action.revs, +.mode_backlink a.action.backlink, +.mode_subscribe a.action.subscribe, +/* since Greebo: */ +.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; +} + +/*____________ user tools ____________*/ + +#dokuwiki__usertools { + position: absolute; + top: 0; + right: 0; + border-bottom: 1px solid __border__; + background-color: __background_alt__; + width: 100%; +} +#dokuwiki__usertools ul, +#dokuwiki__pagetools ul { + /* imitate #dokuwiki__site */ + margin: 0 auto; + max-width: __site_width__; + padding: 0 1em; +} +#dokuwiki__usertools ul li.user { + float: left; + margin-left: 0; +} +[dir=rtl] #dokuwiki__usertools ul li.user { + float: right; + margin-right: 0; +} + +/*____________ page tools ____________*/ + +#dokuwiki__pagetools { + position: fixed; + bottom: 0; + left: 0; + border-top: 1px solid __border__; + background-color: __background_alt__; + width: 100%; + z-index: 10; +} +#dokuwiki__pagetools ul li { + display: inline; + margin: 0 1.5em 0 0; +} +/* before Greebo: */ +#dokuwiki__pagetools ul li a.action.top, +/* since Greebo: */ +#dokuwiki__pagetools ul li.action.top a { + float: right; +} +/* before Greebo: */ +[dir=rtl] #dokuwiki__pagetools ul li a.action.top, +/* since Greebo: */ +[dir=rtl] #dokuwiki__pagetools ul li.action.top a { + float: left; +} + +/* hide background images from menu items inserted via plugins */ +#dokuwiki__pagetools ul li a { + background-image: none !important; +} +#dokuwiki__pagetools ul li a::before { + content: none !important; +} + + +/* sidebar +********************************************************************/ + +#dokuwiki__aside { + padding-top: .4em; +} + +.dokuwiki .aside { + overflow: hidden; + word-wrap: break-word; + line-height: 1.2; +} + +/* make sidebar more condensed */ + +.dokuwiki .aside h1 { + margin-bottom: .222em; +} +.dokuwiki .aside h2 { + margin-bottom: .333em; +} +.dokuwiki .aside h3 { + margin-bottom: .444em; +} +.dokuwiki .aside h4 { + margin-bottom: .5em; +} +.dokuwiki .aside h5 { + margin-bottom: .5714em; +} + +.dokuwiki .aside p, +.dokuwiki .aside ul, +.dokuwiki .aside ol, +.dokuwiki .aside dl, +.dokuwiki .aside pre, +.dokuwiki .aside table, +.dokuwiki .aside fieldset, +.dokuwiki .aside hr, +.dokuwiki .aside blockquote, +.dokuwiki .aside address { + margin-bottom: .7em; +} + +.dokuwiki .aside ul, +.dokuwiki .aside ol { + padding-left: .5em; +} +[dir=rtl] .dokuwiki .aside ul, +[dir=rtl] .dokuwiki .aside ol { + padding-right: .5em; +} +.dokuwiki .aside li ul, +.dokuwiki .aside li ol { + margin-bottom: 0; + padding: 0; +} + + +/* content +********************************************************************/ + +.dokuwiki .page { + word-wrap: break-word; +} + +/* license note in footer and under edit window */ +.dokuwiki div.license { + font-size: 93.75%; +} + + +/* footer +********************************************************************/ + +.dokuwiki .wrapper { + margin-bottom: 2.8em; +} + +#dokuwiki__footer { + margin-bottom: 1em; +} + +#dokuwiki__footer .doc { + float: left; +} +#dokuwiki__footer .top { + float: right; +} + +#dokuwiki__footer .license { + clear: both; +} +#dokuwiki__footer .license img { + margin: 0 .5em 0 0; + float: none; +} diff --git a/templates/55/bulma/css/includes.css b/templates/55/bulma/css/includes.css new file mode 100644 index 0000000..bc18996 --- /dev/null +++ b/templates/55/bulma/css/includes.css @@ -0,0 +1,4 @@ +/** + * This file provides styles for included seperate html files + * (added through "include hooks"). + */ diff --git a/templates/55/bulma/css/media.css b/templates/55/bulma/css/media.css new file mode 100644 index 0000000..667d5b8 --- /dev/null +++ b/templates/55/bulma/css/media.css @@ -0,0 +1,962 @@ +/** + * 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 { + color: #333; + background-color: #eee; + background-image: url(data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc4MjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+ PHN0b3Agc3RvcC1jb2xvcj0iI0VFRUVFRSIgb2Zmc2V0PSIwLjk5Ii8+ PHN0b3Agc3RvcC1jb2xvcj0iI0NDQ0NDQyIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnODI0KSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #eeeeee 99%, #cccccc 99%); + border: 1px solid #ccc; + border-radius: 2px; + padding: .1em .5em; + cursor: pointer; +} + +.qq-upload-button:hover { + border-color: #999; + background-color: #ddd; + background-image:url(data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc2NzAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+ PHN0b3Agc3RvcC1jb2xvcj0iI0RERERERCIgb2Zmc2V0PSIwLjk5Ii8+ PHN0b3Agc3RvcC1jb2xvcj0iI0JCQkJCQiIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnNjcwKSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%); +} + +.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; +} + +/** + * 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: #eee; + 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: #eee; +} +[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: #eee; +} + + +#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: #eee; + color: #333; + border: 1px solid #ccc; + border-bottom-color: #eee; + 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 #ccc; + 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: #ff9; + 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: #333; + 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: #eee; +} + +#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: #fff_neu; + color: #333; + 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: #fff; + color: #333; + overflow: hidden; +} + +#mediamanager__page .filelist .rows li:nth-child(2n+1) { + background-color: #fff_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: #eee; +} +#mediamanager__page .file dl dd { + display: block; + background-color: #fff_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: #666; + 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: #fff; +} +[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: #fff; + 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: #ff9; + color: #333; + 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; +} + +/** + * 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 #ccc; +} +[dir=rtl] #mediamgr__aside { + left: auto; + right: 0; + border-right-width: 0; + border-left: 1px solid #ccc; +} +#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 #ccc; +} + +/* 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: #eee; +} +#media__content .even { +} +/* highlight newly uploaded or edited file */ +#media__content #scroll__here { + border: 1px dashed #ccc; +} + +/* 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: #666; + 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 { +} + + +/** + * 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; +} diff --git a/templates/55/bulma/css/mobile.css b/templates/55/bulma/css/mobile.css new file mode 100644 index 0000000..e337f31 --- /dev/null +++ b/templates/55/bulma/css/mobile.css @@ -0,0 +1,85 @@ +/** + * This file provides style changes for small screens. + * + * @author Anika Henke + */ + +@media only screen and (max-width: 42em) { + +#dokuwiki__aside { + width: 100%; + float: none; + margin-bottom: 1.4em; +} +#dokuwiki__aside > .pad { + margin: 0; +} + +.hasSidebar #dokuwiki__content { + float: none; + margin-left: 0; + margin-right: 0; +} +.hasSidebar #dokuwiki__content > .pad { + margin-left: 0; +} +[dir=rtl] .hasSidebar #dokuwiki__content > .pad { + margin-right: 0; +} + +#dokuwiki__header .headings { + margin: 2.1em 0 0; +} + +#dokuwiki__header .tools { + margin-bottom: .7em; +} + +#dokuwiki__header .headings, +#dokuwiki__header .tools, +#dokuwiki__header .tools li { + float: none; + text-align: left; +} +[dir=rtl] #dokuwiki__header .tools, +[dir=rtl] #dokuwiki__header .tools li { + float: none; + text-align: right; +} +[dir=rtl] #dokuwiki__header .headings { + float: none; + text-align: right; +} + +#dokuwiki__sitetools ul { + padding: 0; +} +#dokuwiki__sitetools li { + margin: 0 1.5em 0 0; +} +[dir=rtl] #dokuwiki__sitetools li { + margin: 0 0 0 1.5em; +} + +#dokuwiki__header div.breadcrumbs { + margin-bottom: .7em; +} + + +#dokuwiki__header ul.a11y.skip { + left: auto !important; + right: 1em !important; + top: 3.1em !important; + width: auto !important; + height: auto !important; + list-style: none; + padding: 0; + margin: 0; +} +[dir=rtl] #dokuwiki__header ul.a11y.skip { + right: auto !important; + left: 1em !important; +} + + +} /* /@media */ \ No newline at end of file diff --git a/templates/55/bulma/css/print.css b/templates/55/bulma/css/print.css new file mode 100644 index 0000000..5a7be03 --- /dev/null +++ b/templates/55/bulma/css/print.css @@ -0,0 +1,154 @@ +/** + * 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 */ +audio, +video, +#dokuwiki__header .tools, +#dokuwiki__aside, +.dokuwiki .breadcrumbs, +.dokuwiki .toc, +#dw__toc, +#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; +} + +/* undo icons */ +a:link, +a:visited { + text-decoration: none; + border-bottom: 1pt dotted; + color: #333; + background-color: inherit; + background-image: none; + padding: 0; +} + +/* 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; +} + +/* images */ +img { + border-width: 0; + vertical-align: middle; +} +img.media { + margin: .2em 0; +} +img.medialeft { + margin: .2em 1.5em .2em 0; +} +img.mediaright { + margin: .2em 0 .2em 1.5em; +} +img.mediacenter { + margin: .2em auto; +} + +mark { + font-weight: bold; +} + +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 */ +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; + text-align: left; +} +[dir=rtl] th, +[dir=rtl] td { + text-align: right; +} +th { + font-weight: bold; +} + + +/*____________ a bit of layout ____________*/ + +#dokuwiki__header { + border-bottom: 2pt solid #ccc; +} +#dokuwiki__header h1 { + font-size: 1.5em; +} +#dokuwiki__header h1 a { + text-decoration: none; +} +.dokuwiki div.footnotes { + clear: both; + border-top: 1pt solid #000; + margin-top: 10pt; +} diff --git a/templates/55/bulma/css/reset.css b/templates/55/bulma/css/reset.css new file mode 100644 index 0000000..e29c0f5 --- /dev/null +++ b/templates/55/bulma/css/reset.css @@ -0,0 +1,48 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/templates/55/bulma/css/structure.css b/templates/55/bulma/css/structure.css new file mode 100644 index 0000000..f82bb6e --- /dev/null +++ b/templates/55/bulma/css/structure.css @@ -0,0 +1,81 @@ +/** + * This file provides styles for the general layout structure. + * + * @author Anika Henke + */ + +body { + margin: 0 auto; +} +#dokuwiki__site { + margin: 0 auto; + max-width: __site_width__; + padding: 1.4em 1em; +} +#dokuwiki__site > .site { +} + +#dokuwiki__header { +} +#dokuwiki__header > .pad { +} + #dokuwiki__header .headings { + float: left; + } + [dir=rtl] #dokuwiki__header .headings { + float: right; + } + + #dokuwiki__header .tools { + float: right; + text-align: right; + } + [dir=rtl] #dokuwiki__header .tools { + float: left; + text-align: left; + } + +#dokuwiki__site .wrapper { + position: relative; +} + + #dokuwiki__aside { + width: __sidebar_width__; + float: left; + position: relative; + display: block; + } + [dir=rtl] #dokuwiki__aside { + float: right; + } + #dokuwiki__aside > .pad { + margin: 0 1.5em 0 0; + } + [dir=rtl] #dokuwiki__aside > .pad { + margin: 0 0 0 1.5em; + } + + /* make content wider when there's no sidebar */ + .hasSidebar #dokuwiki__content { + float: right; + margin-left: -__sidebar_width__; + width: 100%; + } + [dir=rtl] .hasSidebar #dokuwiki__content { + float: left; + margin-left: 0; + margin-right: -__sidebar_width__; + } + .hasSidebar #dokuwiki__content > .pad { + margin-left: __sidebar_width__; + } + [dir=rtl] .hasSidebar #dokuwiki__content > .pad { + margin-left: 0; + margin-right: __sidebar_width__; + } + +#dokuwiki__footer { + clear: both; +} +#dokuwiki__footer > .pad { +} diff --git a/templates/55/bulma/detail.php b/templates/55/bulma/detail.php new file mode 100644 index 0000000..aa94b9b --- /dev/null +++ b/templates/55/bulma/detail.php @@ -0,0 +1,97 @@ + + * @author Anika Henke + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + +// must be run from within DokuWiki +if (!defined('DOKU_INC')) die(); +@require_once(dirname(__FILE__).'/tpl_functions.php'); /* include hook for template functions */ + +?> + + + + + <?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG))?> + [<?php echo strip_tags($conf['title'])?>] + + + + + + + + + +
+ + + + + +
+ +

+ + + +
+

+ + + + +
+ $tag){ + $t = array(); + if (!empty($tag[0])) { + $t = array($tag[0]); + } + if(is_array($tag[3])) { + $t = array_merge($t,$tag[3]); + } + $value = tpl_img_getTag($t); + if ($value) { + echo '
'.$lang[$tag[1]].':
'; + if ($tag[2] == 'date') { + echo dformat($value); + } else { + echo hsc($value); + } + echo '
'; + } + } + ?> +
+ + +
+
+ + + + +
+ + diff --git a/templates/55/bulma/images/logo.svg b/templates/55/bulma/images/logo.svg new file mode 100644 index 0000000..e99d8b1 --- /dev/null +++ b/templates/55/bulma/images/logo.svg @@ -0,0 +1,140 @@ + + + + DokuWiki Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + DokuWiki Logo + + + Esther Brunner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/55/bulma/inc/functions.php b/templates/55/bulma/inc/functions.php new file mode 100644 index 0000000..2660ff9 --- /dev/null +++ b/templates/55/bulma/inc/functions.php @@ -0,0 +1,23 @@ +function bulma_breadcrumbs() { + $out=''; + $out .= ''; + print $out; +} diff --git a/templates/55/bulma/lang/de/settings.php b/templates/55/bulma/lang/de/settings.php new file mode 100644 index 0000000..6eb3c99 --- /dev/null +++ b/templates/55/bulma/lang/de/settings.php @@ -0,0 +1,7 @@ + +*/ + +$lang['__existing__'] = '既存ページへのリンク色'; +$lang['__missing__'] = '存在しないページへのリンク色'; +$lang['__site_width__'] = 'サイトの全体幅(任意の長さの単位を使用可能: % px em 他)'; +$lang['__sidebar_width__'] = 'サイドバーがある場合、サイドバーの幅(任意の長さの単位を使用可能: % px em 他)'; diff --git a/templates/55/bulma/lang/ja/settings.php b/templates/55/bulma/lang/ja/settings.php new file mode 100644 index 0000000..89534db --- /dev/null +++ b/templates/55/bulma/lang/ja/settings.php @@ -0,0 +1,8 @@ + +*/ + +$lang['hideTools'] = 'ログインしていない場合、ツールを隠す'; diff --git a/templates/55/bulma/lang/ja/style.txt b/templates/55/bulma/lang/ja/style.txt new file mode 100644 index 0000000..bf5801f --- /dev/null +++ b/templates/55/bulma/lang/ja/style.txt @@ -0,0 +1,4 @@ +ファビコンを変更したい場合、メディア管理を利用して ''wiki'' またはルート名前空間に ''favicon.ico'' をアップロードして下さい。 +自動的にその画像を使用します。 +アクセス制限のある wiki を使用している場合、アクセスコントロール管理で ''wiki''(またはルート)名前空間を全員読取可に設定して下さい。 +そうでないとログインしていないユーザーにファビコンが表示されません。 diff --git a/templates/55/bulma/lang/ko/lang.php b/templates/55/bulma/lang/ko/lang.php new file mode 100644 index 0000000..0929d3b --- /dev/null +++ b/templates/55/bulma/lang/ko/lang.php @@ -0,0 +1,10 @@ + + */ + +$lang['hideTools'] = 'Скрывать инструменты гостям?'; diff --git a/templates/55/bulma/main.php b/templates/55/bulma/main.php new file mode 100644 index 0000000..71187fa --- /dev/null +++ b/templates/55/bulma/main.php @@ -0,0 +1,109 @@ + + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + +if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */ +@require_once(dirname(__FILE__).'/tpl_functions.php'); /* include hook for template functions */ + +$_toc = tpl_toc(true); +$showToc = !empty($_toc) ? true : false; +$showTools = !tpl_getConf('hideTools') || ( tpl_getConf('hideTools') && !empty($_SERVER['REMOTE_USER']) ); +$showSidebar = page_findnearest($conf['sidebar']) && ($ACT=='show'); +$sidebarElement = tpl_getConf('sidebarIsNav') ? 'nav' : 'aside'; +?> + + + + <?php tpl_pagetitle() ?> [<?php echo strip_tags($conf['title']) ?>] + + + + + + + + + + +
+ + + +
+ +
+ + + + + +
+ + + + + + + +
+ +
+
+ +
+ + +
+

Page tools

+ +
+
+ +
+
+ +
+ +
+ + + diff --git a/templates/55/bulma/mediamanager.php b/templates/55/bulma/mediamanager.php new file mode 100644 index 0000000..c923952 --- /dev/null +++ b/templates/55/bulma/mediamanager.php @@ -0,0 +1,44 @@ + + * @license MIT (https://opensource.org/license/MIT) + */ + +if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */ +@require_once(dirname(__FILE__).'/tpl_functions.php'); /* include hook for template functions */ +?> + + + + + <?php echo hsc($lang['mediaselect'])?> + [<?php echo strip_tags($conf['title'])?>] + + + + + + + + + +
+ + +
+ +
+
+ + diff --git a/templates/55/bulma/preview.png b/templates/55/bulma/preview.png new file mode 100644 index 0000000..74814ae Binary files /dev/null and b/templates/55/bulma/preview.png differ diff --git a/templates/55/bulma/script.js b/templates/55/bulma/script.js new file mode 100644 index 0000000..0bf33e4 --- /dev/null +++ b/templates/55/bulma/script.js @@ -0,0 +1,63 @@ +// template-related scripts go here... + +// The following code is based off a toggle menu by @Bradcomp +// source: https://gist.github.com/Bradcomp/a9ef2ef322a8e8017443b626208999c1 +/*(function() { + var burger = document.querySelector('.burger'); + var menu = document.querySelector('#'+burger.dataset.target); + burger.addEventListener('click', function() { + burger.classList.toggle('is-active'); + menu.classList.toggle('is-active'); + }); +})();*/ + + +var bulma = { + init: function() { + // TOC changes + //var $dw__toc = jQuery('#dw__toc'); + //$dw__toc.addClass('menu'); + //$dw__toc.find('h3').addClass('menu-label'); + //$dw__toc.find('ul').addClass('menu-list'); + + // Content changes + var $dokuwiki__content = jQuery('#dokuwiki__content'); + //$bulma-content.find('submit, button, reset').addClass('button is-small'); + //$bulma-content.find('table').not('.htCore').addClass('table is-bordered is-striped is-narrow is-hoverable'); + //$bulma-content.find('table thead tr').addClass('has-background-white-ter'); + $dokuwiki__content.find('div.section_highlight_wrapper').addClass('section_highlight_nowrapper').removeClass('section_highlight_wrapper'); + + // ACL changes + //var $acl__user = jQuery('#acl__user'); + //$acl__user.find('select').addClass('input select is-inline is-small').removeClass('edit'); + //$acl__user.find('input').addClass('input is-inline is-small').removeClass('edit'); + + // Config changes + //var $config__manager = jQuery('#config__manager'); + //$config__manager.find('input, select, textarea').removeClass('edit input'); + //$config__manager.find('input') + // .not('[type=submit], [type=reset], [type=button], [type=hidden], [type=image], [type=checkbox], [type=radio]') + // .addClass('input is-small'); + //$config__manager.find('tr.default input, tr.default select, tr.default textarea, .selectiondefault') + // .addClass('is-info').css('background-color','inherit'); + //$config__manager.find('textarea').addClass('input'); + //$config__manager.find('select').addClass('is-small'); + //$config__manager.find('select').closest('.input').addClass('select is-small').removeClass('input'); + //$config__manager.find('div.input').removeClass('input'); + + // Plugin changes + //var $extension__manager = jQuery('#extension__manager'); + //$extension__manager.find('ul.tabs').wrap('
'); + //$extension__manager.find('ul.tabs').removeClass('tabs'); + //$extension__manager.find('li.active').addClass('is-active').removeClass('active'); + //$extension__manager.find('.panelHeader').addClass('box').removeClass('panelHeader'); + //$extension__manager.find('input').addClass('input is-inline is-small').removeClass('edit'); + + //// User manager + //var $user__manager = jQuery('#user__manager'); + //$user__manager.find('input.edit').addClass('input is-inline is-small').removeClass('edit'); + //$user__manager.find('input.button').addClass('user-search').removeClass('button'); + }, +}; + +jQuery(bulma.init); diff --git a/templates/55/bulma/style.ini b/templates/55/bulma/style.ini new file mode 100644 index 0000000..17005ab --- /dev/null +++ b/templates/55/bulma/style.ini @@ -0,0 +1,101 @@ +; Please see https://www.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//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.css = screen + +; load styles from the default 'dokuwiki' template +; some of these have been renamed from *.css to *.less +; but .css still loads the same file and is backwards compatible +;../dokuwiki/css/_imgdetail.css = screen +;../dokuwiki/css/_media_popup.css = screen +;../dokuwiki/css/_media_fullscreen.css = screen +;../dokuwiki/css/_fileuploader.css = screen +;../dokuwiki/css/_tabs.css = screen +;../dokuwiki/css/_links.css = screen +;../dokuwiki/css/_toc.css = screen +;../dokuwiki/css/_footnotes.css = screen +;../dokuwiki/css/_search.css = screen +;../dokuwiki/css/_recent.css = screen +;../dokuwiki/css/_diff.css = screen +;../dokuwiki/css/_edit.css = screen +;../dokuwiki/css/_modal.css = screen +;../dokuwiki/css/_forms.css = screen +;../dokuwiki/css/_admin.css = screen + +; load the rest of the styles +;css/structure.css = screen +;css/design.css = screen +;css/content.css = screen +;css/includes.css = screen + +;css/mobile.css = all +;css/print.css = print + +; reset css +css/reset.css = all + +; load media +css/media.css = all + +; load bulma +css/bulma.min.css = all + +; my custom +css/custom.css = all + +; 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 +; +;; link color +;__link__ = "#00c" ; @ini_link +; +;;-------------------------------------------------------------------------- +; +;; these are used for other links +;__existing__ = "#090" ; @ini_existing +;__missing__ = "#f30" ; @ini_missing +; +;; widths +;__site_width__ = "64em" ; @ini_site_width +;__sidebar_width__ = "16em" ; @ini_sidebar_width +; +;; color of the web app (used by the core, not by the template) +;__theme_color__ = "#eee" ; @ini_theme_color diff --git a/templates/55/bulma/template.info.txt b/templates/55/bulma/template.info.txt new file mode 100644 index 0000000..2738aad --- /dev/null +++ b/templates/55/bulma/template.info.txt @@ -0,0 +1,7 @@ +base bulma +author Gilberto Miralla-Flores +email miralgj ~at~ gmail.com +date 2024-09-20 +name Bulma +desc Template based on Bulma CSS framework +url https://github.com/KSU-Linux/dokuwiki-template-bulma diff --git a/templates/55/bulma/tpl_functions.php b/templates/55/bulma/tpl_functions.php new file mode 100644 index 0000000..816cf80 --- /dev/null +++ b/templates/55/bulma/tpl_functions.php @@ -0,0 +1,333 @@ +'; + $out .= '
    '; + $out .= '
  • Trace
  • '; + $crumbs = breadcrumbs(); //setup crumb trace + + //render crumbs, highlight the last one + $last = count($crumbs); + $i = 0; + foreach($crumbs as $id => $name) { + $i++; + if($i == $last) { + $out .= '
  • '; + } else { + $out .= '
  • '; + } + $out .= tpl_link(wl($id), hsc($name), 'aria-current="page" title="'.$id.'"', true); + $out .= '
  • '; + } + $out .= '
'; + $out .= ''; + echo $out; +} + +/** + * Modified version of tpl_content() that adds Bulma classes to basic + * elements + */ +function _tpl_content($prependTOC = false) { + global $ACT; + global $INFO; + $INFO['prependTOC'] = $prependTOC; + + ob_start(); + Event::createAndTrigger('TPL_ACT_RENDER', $ACT, 'tpl_content_core'); + $html_output = ob_get_clean(); + $libxml_errors = libxml_use_internal_errors(true); + $dom = new DOMDocument(); + //$dom->loadHTML($html_output); + $dom->loadHTML(mb_convert_encoding($html_output, 'HTML-ENTITIES', 'UTF-8')); + libxml_clear_errors(); + libxml_use_internal_errors($libxml_errors); + // add button class to buttons, reset, and submit + foreach ($dom->getElementsByTagName('button') as $ele) { + $ele->setAttribute('class', 'button is-small'); + } + foreach ($dom->getElementsByTagName('reset') as $ele) { + $ele->setAttribute('class', 'button is-small'); + } + foreach ($dom->getElementsByTagName('submit') as $ele) { + $ele->setAttribute('class', 'button is-small'); + } + // add select class to selects + foreach ($dom->getElementsByTagName('select') as $ele) { + // skip a select on the acl page because it looks weird + $name = $ele->getAttribute('name'); + if ($name == 'acl_t') continue; + $ele->parentNode->setAttribute('class', 'select is-small'); + } + // add checkbox, radio, and input classes + foreach ($dom->getElementsByTagName('input') as $ele) { + $type = $ele->getAttribute('type'); + switch ($type) { + case 'checkbox': + $label = $ele->parentNode; + $label->setAttribute('class', $label->getAttribute('class') . ' checkbox'); + break; + case 'radio': + $label = $ele->parentNode; + $label->setAttribute('class', $label->getAttribute('class') . ' radio'); + break; + default: + $ele->setAttribute('class', $ele->getAttribute('class') . ' input is-small'); + break; + } + //if ($type != 'checkbox') { + // $ele->setAttribute('class', $ele->getAttribute('class') . ' input is-small'); + //} else { + // $label = $ele->parentNode; + // $label->setAttribute('class', $label->getAttribute('class') . ' checkbox'); + //} + } + // add proper classes to odered lists + foreach ($dom->getElementsByTagName('ol') as $ele) { + foreach ($ele->childNodes as $i) { + // skip non DOMNode elements + if ($i->nodeType != 1) continue; + // skip non li elements + if ($i->nodeName != 'li') continue; + // apply proper class to ordered list based on what level# the + // first li element is + switch (substr($i->getAttribute('class'), 5, 1)) { + case '1': + break; + case '2': + $ele->setAttribute('class', 'is-lower-alpha'); + break; + case '3': + $ele->setAttribute('class', 'is-upper-roman'); + break; + case '4': + $ele->setAttribute('class', 'is-upper-alpha'); + break; + default: + $ele->setAttribute('class', 'is-lower-roman'); + break; + } + // break because we only need to evaluate the very first one + // to get the level + break; + } + } + // add table class to tables + foreach ($dom->getElementsByTagName('table') as $ele) { + $ele->setAttribute('class', 'table inline is-bordered is-striped is-narrow is-hoverable'); + // get parent div and add table-container class + $div = $ele->parentNode; + $classes = $div->getAttribute('class'); + $div->setAttribute('class', $classes . ' table-container'); + } + // fix centered table data + foreach ($dom->getElementsByTagName('td') as $ele) { + $classes = $ele->getAttribute('class'); + $classes = str_replace('centeralign', 'has-text-centered', $classes); + $classes = str_replace('leftalign', 'has-text-left', $classes); + $classes = str_replace('rightalign', 'has-text-right', $classes); + $ele->setAttribute('class', $classes); + } + // fix centered table data and make table headers nicer + foreach ($dom->getElementsByTagName('th') as $ele) { + $classes = $ele->getAttribute('class'); + $classes = $classes . ' has-background-white-ter has-text-weight-bold'; + $classes = str_replace('centeralign', 'has-text-centered', $classes); + $classes = str_replace('leftalign', 'has-text-left', $classes); + $classes = str_replace('rightalign', 'has-text-right', $classes); + $ele->setAttribute('class', $classes); + } + foreach ($dom->getElementsByTagName('thead') as $ele) { + $ele->setAttribute('class', 'has-background-white-ter has-text-weight-bold'); + } + // add textarea class to textareas + foreach ($dom->getElementsByTagName('textarea') as $ele) { + $ele->setAttribute('class', $ele->getAttribute('class') .' textarea'); + } + $html_output = $dom->saveHTML($dom->documentElement); + Event::createAndTrigger('TPL_CONTENT_DISPLAY', $html_output, 'ptln'); + + return !empty($html_output); +} + +/** + * Modified version of tpl_page_tools() that adds Bulma classes and custom formatting + */ +function _tpl_page_tools() { + $items = (new \dokuwiki\Menu\PageMenu())->getItems(); + $out = ''; + $out .= ''; + echo $out; +} + +/** + * Custom search form that excludes the button. + */ +function _tpl_searchform($ajax = true, $autocomplete = true) { + global $lang; + global $ACT; + global $QUERY; + global $ID; + + // don't print the search form if search action has been disabled + if(!actionOK('search')) return false; + + $searchForm = new dokuwiki\Form\Form([ + 'action' => wl(), + 'method' => 'get', + 'role' => 'search', + 'class' => 'field has-addons is-horizontal pb-2 search', + 'id' => 'dokuwiki__search', + ], true); + $searchForm->setHiddenField('do', 'search'); + $searchForm->setHiddenField('id', $ID); + $searchForm->addTextInput('q') + ->addClass('edit input is-small') + ->attrs([ + 'title' => '[F]', + 'accesskey' => 'f', + 'placeholder' => $lang['btn_search'], + 'autocomplete' => $autocomplete ? 'on' : 'off', + ]) + ->id('qsearch__in') + ->val($ACT === 'search' ? $QUERY : '') + ->useInput(false) + ; + if ($ajax) { + $searchForm->addTagOpen('div')->id('qsearch__out')->addClass('ajax_qsearch JSpopup'); + $searchForm->addTagClose('div'); + } + Event::createAndTrigger('FORM_QUICKSEARCH_OUTPUT', $searchForm); + + echo $searchForm->toHTML(); + + return true; +} + +/** + * Modified version of tpl_sidebar() that adds Bulma classes and custom formatting + */ +function _tpl_sidebar() { + $sb = strval(tpl_include_page($conf['sidebar'], false, true)); + $dom = new DOMDocument(); + //$dom->loadHTML($sb); + $dom->loadHTML(mb_convert_encoding($sb, 'HTML-ENTITIES', 'UTF-8')); + $uls = $dom->getElementsByTagName('ul'); + foreach ($uls as $ul) { + $ul->setAttribute('class', 'menu-list'); + } + echo $dom->saveHTML($dom->documentElement); +} + +/** + * Modified version of tpl_toc() that adds Bulma classes and custom formatting + */ +function _tpl_toc() { + $t = strval(tpl_toc(true)); + $dom = new DOMDocument(); + //$dom->loadHTML($t); + $dom->loadHTML(mb_convert_encoding($t, 'HTML-ENTITIES', 'UTF-8')); + $dw__toc = $dom->getElementById('dw__toc'); + $dw__toc->setAttribute('id', 'bulma-toc'); + $dw__toc->setAttribute('class', 'is-size-7'); + $h3s = $dom->getElementsByTagName('h3'); + foreach ($h3s as $h3) { + $h3->setAttribute('class', 'has-text-grey-light'); + $h3->nodeValue = 'On this page'; + } + $lis = $dom->getElementsByTagName('li'); + foreach ($lis as $li) { + if ($li->getAttribute('class') == 'level2') { + $li->setAttribute('class', 'level2 pl-2'); + } + if ($li->getAttribute('class') == 'level3') { + $li->setAttribute('class', 'level2 pl-4'); + } + } + $as = $dom->getElementsByTagName('a'); + foreach ($as as $a) { + $a->setAttribute('class', 'button is-light is-small'); + } + echo $dom->saveHTML($dom->documentElement); +} + +/** + * Modified version of tpl_tools_menu() that adds Bulma classes and custom formatting + */ +function _tpl_tools_menu() { + $out = ''; + if (!empty($_SERVER['REMOTE_USER'])) { + $out .= ''; + } + echo $out; +} + +/** + * Modified version of tpl_user_menu() that adds Bulma classes and custom formatting + */ +function _tpl_user_menu() { + $out = ''; + if (!empty($_SERVER['REMOTE_USER'])) { + $out .= ''; + } + else { + $out .= (new \dokuwiki\Menu\Item\Login())->asHtmlLink('navbar-item ', false); + } + echo $out; +}