1# Mikio DokuWiki Template 2 3 4 5## About 6 7`Mikio` is a Bootstrap 4 style template for [DokuWiki](http://dokuwiki.org) 8 9## Features 10 11- [bootstrap styling](http://getbootstrap.com/) 12- Navbar with dropdown support 13- Subnavbar support (using a page named submenu) 14- Right sidebar 15- Hero element 16- Icon support 17- Customizable breadcrumbs 18- Theming support 19- Tags plugin support 20- Mobile friendly 21- Typeahead search support 22 23## Changes 24 25- 2022-04-25 26 - Added support for the defer js option in Hogsfather to override the templates default defer action of always. 27 - The new Typeahead search feature is enabled by default. This can be turned off in the config. 28 29- 2022-03-05 30 - Breadcrumbs and You Are Here have now been seperated instead of combined. This removed the options `breadcrumbHome` and `breadcrumbShowLast` for the breadcrumbs as it only applies to the you are here bar. **Breadcrumbs and You Are Here options may have reset** 31 32- 2020-09-27 33 - Sidebars now collapse by default on mobile. This can be overridden with the `sidebarMobileDefaultCollapse` option 34 - The mikio LESS stylesheet is now disabled by default, with a precompilied CSS used. This can be reverted using the `useLESS` option 35 36## Configuration 37 38The configuration can be change with the [Configuration Manager Plugin](https://www.dokuwiki.org/plugin:config) 39 40- `iconTag` : icon tag to use to engage the icon engine. Default to `icon` 41- `customTheme` : the mikio theme to use, located in the `mikio/themes` directory 42- `showNotifications` : where to show site notifications for admin staff 43- `useLESS` : use the LESS compilier or direct CSS for the mikio stylesheet. Requires the ctype PHP extension installed 44- `brandURLGuest` : change the brand URL for guests. Leave blank to use the default 45- `brandURLUser` : change the brand URL for logged in users. Leave blank to use the default 46 47- `navbarUseTitleIcon` : show the site logo in the navbar 48- `navbarUseTitleText` : show the site title in the navbar 49- `navbarUseTaglineText` : show the site tagline in the navbar. Requires the `navbarUseTitleText` to be enabled 50- `navbarCustomMenuText` : custom menu to use in the navbar. Menu items are in the format of url|title with each item seperated by a semicolon. Requires one of the `navbarPos` to be set to `custom` 51 52- `navbarDWMenuType` : how to show the DokuWiki menu items in the navbar. Can be either icons, text or both 53- `navbarDWMenuCombine` : how to show the DokuWiki menu in the navbar. Can be either category dropdowns, single items or a combined dropdown. The combined menu title is pulled from the `tools-menu` language value 54 55- `navbarPosLeft` : what menu to show on the left of the navbar 56- `navbarPosMiddle` : what menu to show in the middle of the navbar 57- `navbarPosRight` : what menu to show on the right of the navbar 58- `navbarShowSub` : show the sub navbar. This menu is pulled from the `submenu` page in the current or parent namespaces. The menu is also shown on child pages. If no page is found, the sub navbar is automatically hidden 59 60- `navbarItemShowCreate` : show the Create Page menu item 61- `navbarItemShowShow` : show the Show Page menu item 62- `navbarItemShowRevs` : show the Revisions menu item 63- `navbarItemShowBacklink` : show the Backlinks menu item 64- `navbarItemShowRecent` : show the Recent Changes menu item 65- `navbarItemShowMedia` : show the Media Manager menu item 66- `navbarItemShowIndex` : show the Sitemap menu item 67- `navbarItemShowProfile` : show the Update Profile menu item 68- `navbarItemShowAdmin` : show the Admin menu item 69- `navbarItemShowLogin` : show the Login menu item 70- `navbarItemShowLogout` : show the Logout menu item 71 72- `searchButton` : show the search button as a icon or text 73- `searchUseTypeahead` : use [Typeahead](https://github.com/bassjobsen/Bootstrap-3-Typeahead) page suggestions in search bar 74 75- `heroTitle` : show the hero block on pages 76- `heroImagePropagation` : search for hero images in parent namespaces if none is found in the current namespace 77 78- `tagsConsolidate` : Consolidate tags found in the current page and display it in the hero, content header or sidebar 79 80- `breadcrumbHideHome` : hide breadcrumbs in the root namespace 81- `breadcrumbPosition` : where to display the breadcrumbs, either under the navbar, in the hero element or above the page content 82- `breadcrumbPrefix` : enable changing the breadcrumb prefix 83- `breadcrumbPrefixText` : text to set the breadcrumb prefix. Requires `breadcrumbPrefix` to be enabled 84- `breadcrumbSep` : enable changing the breadcrumb seperator 85- `breadcrumbSepText` : text to set the breadcrumb seperator. Requires `breadcrumbSep` to be enabled 86 87- `youarehereHideHome` : hide you are here in the root namespace 88- `youareherePosition` : where to display the you are here, either under the navbar, in the hero element or above the page content 89- `youareherePrefix` : enable changing the you are here prefix 90- `youareherePrefixText` : text to set the you are here prefix. Requires `you are herePrefix` to be enabled 91- `youarehereSep` : enable changing the you are here seperator 92- `youarehereSepText` : text to set the you are here seperator. Requires `you are hereSep` to be enabled 93- `youarehereHome` : change the you are here home item to none, page title of root page, 'home' or an icon/image. The 'home' text is pulled from the `home` language value 94- `youarehereShowLast` : only show an amount of you are here from the last. Will also show the home item in the list if enabled. Set this to `0` to show all items 95 96- `sidebarShowLeft` : show the left sidebar if content is found 97- `sidebarLeftRow1` : content to show in the first row of the left sidebar 98- `sidebarLeftRow2` : content to show in the second row of the left sidebar 99- `sidebarLeftRow3` : content to show in the third row of the left sidebar 100- `sidebarLeftRow4` : content to show in the forth row of the left sidebar 101- `sidebarMobileDefaultCollapse` : collapse the sidebars by default when viewed on mobile 102- `sidebarShowRight` : show the right sidebar if content is found 103 104- `tocFull` : show the table of contents as a full height item 105 106- `pageToolsFloating` : when and if to show the floating page tools 107- `pageToolsFooter` 108 109- `pageToolsShowCreate` : show the Create Page item 110- `pageToolsShowEdit` : show the Edit Page item 111- `pageToolsShowRevs` : show the Revisions item 112- `pageToolsShowBacklink` : show the Backlinks item 113- `pageToolsShowTop` : show the Back to Top item 114 115- `footerCustomMenuText` : custom menu to use in the footer. Menu items are in the format of url|title with each item seperated by a semicolon 116- `footerSearch` : show the search bar in the footer 117 118- `licenseType` : how to show the license in the footer 119- `licenseImageOnly` : show the license in the footer as an image only. Requires `licenseType` to at least be enabled 120 121- `includePageUseACL` : respect ACL when including pages 122- `includePagePropagate` : search parent namespaces when including pages 123 124## Include Pages 125 126The following pages can be either html files in the root of the template or a page in the namespace. Namespace pages take priority. 127 128- `topheader` : content to include above the navbar 129- `header` : content include below the navbar but above the page content 130- `contentheader` : content to include above the page content 131- `contentfooter` : content to include below the page content 132- `sidebarheader` : content to include above the left sidebar content 133- `sidebarfooter` : content to include below the left sidebar content 134- `rightsidebarheader` : content to include above the right sidebar content 135- `rightsidebarfooter` : content to include below the right sidebar content 136- `footer` : content to include in the footer 137- `bottomfooter` : content to include below the footer 138 139## Include Images 140 141The following images can be used to replace content in the template. Images can be in the root of the template or in the namespace. Images can be either png, jpg, gif or svg. 142 143- `logo` : site logo in the navbar 144- `breadcrumb-prefix` breadcrumb prefix 145- `breadcrumb-sep` breadcrumb seperator 146- `hero` hero image for hero element 147 148## Hero Element 149 150- `title` : The hero title is sourced from the page title. The page title is removed from the page content 151- `subtitle` : Pages can set the subtitle by inserting `~~hero-subtitle TEXT~~` in the page content 152- `image` : The hero image is sourced from an image named hero in the current or parental namespace. Namespace searching can be confined by the `includePagePropagate` setting. Pages can also override the image by inserting `~~hero-image URL~~` in the page content. DokuWiki and external URLs are supported 153- `colors` : Colors can be overridden by including `~~hero-colors BACKGROUND_COLOR HERO_TITLE_COLOR HERO_SUBTITLE_COLOR BREADCRUMB_TEXT_COLOR BREADCRUMB_HOVER_COLOR~~`. You do not need to include all the color options. Use 'initial' to skip a color override 154 155Namespaces can also apply the above hero settings in child pages by including the above settings in a page named `theme`. 156 157## Hiding Elements 158 159Mikio now supports hiding elements using the `~~hide-parts (parts)~~` macro. Each element within the hide-parts macro is required to be seperated by spaces. Currently the following parts are supported: 160 161- `topheader` : content above the navbar 162- `navbar` : the main navigation bar 163- `header` : content below the navbar but above the page content 164- `hero` : the page hero bar 165- `contentheader` : content above the page content 166- `contentfooter` : content below the page content 167- `sidebarheader` : content above the left sidebar content 168- `sidebarfooter` : content below the left sidebar content 169- `rightsidebarheader` : content above the right sidebar content 170- `rightsidebarfooter` : content below the right sidebar content 171- `footer` : content in the footer 172- `bottomfooter` : content below the footer 173 174To hide the topheader, navbar and hero, you would use the macro `~~hide-parts topheader navbar hero~~` 175 176## Icon Engine 177 178- Mikio includes an icon engine that allows you to include icons in your pages by using <icon OPTIONS> in your content 179- If the icon tag conflicts with another plugin, you can change the tag from `icon` to a user set value in the settings 180- By default, Mikio enables FontAwesome 4 by also includes FontAwesome 5, Elusive 2 and Bootstrap Icons which can be enabled by uncommenting their inclusions in `/icons/icons.php` 181 182Users can also add their own icon sets into the template. Supported icon sets can either be webfonts or indivial files (such as a SVG library). Instructions can be found in the `/icons/icons.php` file. 183 184## Themes 185 186Themes should be placed in the themes directory, in its own directory. LESS files are supported. 187 188## Mikio Plugin 189 190The [Mikio Plugin](https://github.com/nomadjimbob/mikioplugin/) is also available to add bootstrap 4 style + more elements to DokuWiki pages. 191 192## Languages 193 194- `sidebar-title` : Text for the collapsable block in the sidebar 195- `tools-menu` : Text for the combined tools DokuWiki menu title 196- `home` : Text for the breadcrumb home title 197 198## Releases 199 200- **_2022-04-25_** 201 - Added support for the defer js option, previously always deferred [#39]. Thanks cmacmackin 202 - Added typeahead search [#40]. Thanks cmacmackin 203 - Fixed double breadcrumb options on admin pages 204 - Added sticky top header, navbar and header options. Thanks chitland 205 206- **_2022-03-05_** 207 208 - Fixed page tools in footer not being horizontal [#38]. Thanks chitland 209 - Fixed Mikio Config headers disappearing in some cases 210 - Separated Breadcrumbs and You Are Here items [#36]. Thanks chitland 211 212- **_2021-12-11_** 213 214 - Added table row background styling options 215 - Fixed styling issue when using the indexmenu plugin [#35](https://github.com/nomadjimbob/mikio/issues/35). Thanks 3ole. 216 - Fixed inconsitant tab/spaces in mikio.less and mikio.css 217 - Removed debug logs from mikio.js 218 - Fixed input placeholders not hiding in prepopulated fields [#34](https://github.com/nomadjimbob/mikio/issues/34) 219 - Added option to hide menu and page tool items [#32](https://github.com/nomadjimbob/mikio/issues/32). Thanks annievoss. 220 - Fixed compadibility with BookCreator [#26](https://github.com/nomadjimbob/mikio/issues/26). Thanks johncourtland. 221 - Fixed Greebo styling errors not present in Hogsfather 222 223- **_2021-08-11_** 224 225 - Fixed path check on Windows [#33](https://github.com/nomadjimbob/mikio/issues/33) 226 - Recompilied CSS 227 228- **_2021-06-17_** 229 230 - Added support for navbar title link to use showpageafterlogin setting if installed [#27](https://github.com/nomadjimbob/mikio/issues/27) 231 232- **_2021-06-09_** 233 234 - TOC is now full width on mobile [#25](https://github.com/nomadjimbob/mikio/issues/25) 235 - Hamburger and sidebar icons are now displayed correctly [#23](https://github.com/nomadjimbob/mikio/issues/23), [#24](https://github.com/nomadjimbob/mikio/issues/24) 236 - Site width is now available under Template Style Settings [#22](https://github.com/nomadjimbob/mikio/issues/22) 237 - TOC is now sticky when set to full height [#21](https://github.com/nomadjimbob/mikio/issues/21) 238 - Added support to the theme being linked by a symbolic link [#20](https://github.com/nomadjimbob/mikio/issues/20) 239 - Mikio will now fallback to using CSS when there is the LESS engine is not detected [#20](https://github.com/nomadjimbob/mikio/issues/20) 240 241- **_2021-03-10_** 242 243 - Fixed bad breadcrumb URL formatting on sites using userewrite [#19](https://github.com/nomadjimbob/mikio/issues/19) 244 245- **_2021-03-04_** 246 247 - Added support to hide page elements [#18](https://github.com/nomadjimbob/mikio/issues/18) 248 249- **_2021-01-22_** 250 251 - Fixed a syntax error with the core css 252 253- **_2020-11-12_** 254 255 - Corrected terminology in readme to match Dokuwiki [#17](https://github.com/nomadjimbob/mikio/issues/17) 256 - Fix showing part of the sidebar when it should be hidden in certain conditions [#16](https://github.com/nomadjimbob/mikio/issues/16) 257 - Added option to always show the sidebar, even when there is no content [#16](https://github.com/nomadjimbob/mikio/issues/16) 258 259- **_2020-10-07_** 260 261 - Fixed hero header parsing on some servers 262 - Fixed safari color picker issue [#14](https://github.com/nomadjimbob/mikio/issues/14) 263 - LESS now defaults to enabled with fallback to ctype functions built into mikio for docker apps [#13](https://github.com/nomadjimbob/mikio/issues/13) 264 - Fix for Template Style Settings being ignored [#12](https://github.com/nomadjimbob/mikio/issues/12) 265 266- **_2020-10-01_** 267 268 - Fix for `sidebarMobileDefaultCollapse` option being inconsistent in code and not working correctly [#11](https://github.com/nomadjimbob/mikio/issues/11). Thanks to GJRobert for catching that. 269 270- **_2020-09-27_** 271 272 - Sidebars hidden by default in mobile view [#10](https://github.com/nomadjimbob/mikio/issues/10) 273 - Fixed errors with the LESS compilier on some nginx configurations 274 - Fixed styling and image display thumb size in media manager popup 275 - Fixed text field placeholders not disappearing with text entry 276 - Added support for Hogfather 277 - Added option to use LESS or direct CSS. Some configurations (docker linuxserver/dokuwiki) do not have the required PHP extensions installed 278 - Supports Docker linuxserver/dokuwiki container file structures 279 280- **_2020-09-10_** 281 282 - Floating page tools is now a UL element with classes applied from getType and getLinkAttributes. Fixes popup dialogs initiated from the a page menu [#7](https://github.com/nomadjimbob/mikio/issues/7) 283 - Template.info.txt now shows correct release dates [#8](https://github.com/nomadjimbob/mikio/issues/8) 284 - Fixed rightsidebar php warnings 285 - Code/Pre blocks no longer have padding applied on the admin pages 286 287- **_2020-08-26_** 288 289 - Footer is no longer shown outside of page view 290 - Public messages are now displayed on the page 291 - Fixed icon rendering in hero bar 292 - Fixed TOC rendering bug 293 294- **_2020-07-27_** 295 296 - Added option to show wiki footer in page content 297 298- **_2020-07-24_** 299 300 - Fixed image detail bug 301 302- **_2020-07-20_** 303 304 - Fixed prewrap and sidebar search bar margins 305 306- **_2020-07-16_** 307 308 - Merged code block styling with pre 309 - Fixed mediamanager failures on 2018-04-22a "Greebo" [#5](https://github.com/nomadjimbob/mikio/issues/5) 310 - Icon tag is rendered correctly in preview [#4](https://github.com/nomadjimbob/mikio/issues/4) 311 312- **_2020-07-15_** 313 314 - Fixed an issue with the simple_html_dom library when editing a section of a page caused page corruption [#3](https://github.com/nomadjimbob/mikio/issues/3) 315 316- **_2020-07-14_** 317 318 - Added id=dokuwiki\_\_content identifier for the page content element 319 - Added styling and fixed overflow issues with pre elements 320 - Fixed page width overflow issues 321 322- **_2020-07-09_** 323 324 - Fixed cosmetic display issues when `input[type=file]` is hidden by plugins [#2](https://github.com/nomadjimbob/mikio/issues/2) 325 326- **_2020-07-07_** 327 - Initial release 328 329## Third Party Libraries 330 331This template uses a [modified 332version](https://github.com/nomadjimbob/simple_html_dom) of 333[simple_html_dom](https://sourceforge.net/projects/simplehtmldom/) and 334of [bootstrap-3-typeahead](https://github.com/bassjobsen/Bootstrap-3-Typeahead). 335 336## Support 337 338- If you think you have found a problem, or would like to see a feature, please [open an issue](https://github.com/nomadjimbob/mikio/issues) 339- If you are a coder, feel free to create a pull request, but please be detailed about your changes! 340