xref: /template/mikio/README.md (revision f62ba3fc6bb57b85d8a9f44f5a431c00fb81ecae)
1# Mikio DokuWiki Template
2
3## About
4
5`Mikio` is a Bootstrap 4 style template for [DokuWiki](http://dokuwiki.org)
6
7
8## Features
9
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  * Subtheming support
19  * Tags plugin support
20  * Mobile friendly
21
22
23## Changes
24
25  * 2020-09-27
26    * Sidebars now collapse by default on mobile. This can be overridden with the `sidebarMobileDefaultCollapse` option
27    * The mikio LESS stylesheet is now disabled by default, with a precompilied CSS used. This can be reverted using the `useLESS` option
28
29## Configuration
30
31The configuration can be change with the [Configuration Manager Plugin](https://www.dokuwiki.org/plugin:config)
32
33  * `iconTag` : icon tag to use to engage the icon engine. Default to `icon`
34  * `customTheme` : the mikio subtheme to use
35  * `showNotifications` : where to show site notifications for admin staff
36  * `useLESS` : use the LESS compilier or direct CSS for the mikio stylesheet. Some configurations have issues with the LESS compilier
37
38  * `navbarUseTitleIcon` : show the site logo in the navbar
39  * `navbarUseTitleText` : show the site title in the navbar
40  * `navbarUseTaglineText` : show the site tagline in the navbar. Requires the `navbarUseTitleText` to be enabled
41  * `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`
42
43  * `navbarDWMenuType` : how to show the DokuWiki menu items in the navbar. Can be either icons, text or both
44  * `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
45
46  * `navbarPosLeft` : what menu to show on the left of the navbar
47  * `navbarPosMiddle` : what menu to show in the middle of the navbar
48  * `navbarPosRight` : what menu to show on the right of the navbar
49  * `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
50
51  * `searchButton` : show the search button as a icon or text
52
53  * `heroTitle` : show the hero block on pages
54  * `heroImagePropagation` : search for hero images in parent namespaces if none is found in the current namespace
55
56  * `tagsConsolidate` : Consolidate tags found in the current page and display it in the hero, content header or sidebar
57
58  * `breadcrumbHideHome` : hide breadcrumbs in the root namespace
59  * `breadcrumbPosition` : where to display the breadcrumbs, either under the navbar, in the hero element or above the page content
60  * `breadcrumbPrefix` : enable changing the breadcrumb prefix
61  * `breadcrumbPrefixText` : text to set the breadcrumb prefix. Requires `breadcrumbPrefix` to be enabled
62  * `breadcrumbSep` : enable changing the breadcrumb seperator
63  * `breadcrumbSepText` : text to set the breadcrumb seperator. Requires `breadcrumbSep` to be enabled
64  * `breadcrumbHome` : change the breadcrumb home item to none, page title of root page, 'home' or an icon/image. The 'home' text is pulled from the `home` language value
65  * `breadcrumbShowLast` : only show an amount of breadcrumbs from the last. Will also show the home item in the list if enabled. Set this to `0` to show all items
66
67  * `sidebarShowLeft` : show the left sidebar if content is found
68  * `sidebarLeftRow1` : content to show in the first row of the left sidebar
69  * `sidebarLeftRow2` : content to show in the second row of the left sidebar
70  * `sidebarLeftRow3` : content to show in the third row of the left sidebar
71  * `sidebarLeftRow4` : content to show in the forth row of the left sidebar
72  * `sidebarMobileDefaultCollapse` : collapse the sidebars by default when viewed on mobile
73  * `sidebarShowRight` : show the right sidebar if content is found
74
75  * `tocFull` : show the table of contents as a full height item
76
77  * `pageToolsFloating` : when and if to show the floating page tools
78  * `pageToolsFooter` : when and if to show page tools in the footer
79
80  * `footerCustomMenuText` : custom menu to use in the footer. Menu items are in the format of url|title with each item seperated by a semicolon
81  * `footerSearch` : show the search bar in the footer
82
83  * `licenseType` : how to show the license in the footer
84  * `licenseImageOnly` : show the license in the footer as an image only. Requires `licenseType` to at least be enabled
85
86  * `includePageUseACL` : respect ACL when including pages
87  * `includePagePropagate` : search parent namespaces when including pages
88
89
90## Include Pages
91
92The following pages can be either html files in the root of the theme or a page in the namespace. Namespace pages take priority.
93
94  * `topheader` : content to include above the navbar
95  * `header` : content include below the navbar but above the page content
96  * `contentheader` : content to include above the page content
97  * `contentfooter` : content to include below the page content
98  * `sidebarheader` : content to include above the left sidebar content
99  * `sidebarfooter` : content to include below the left sidebar content
100  * `rightsidebarheader` : content to include above the right sidebar content
101  * `rightsidebarfooter` : content to include below the right sidebar content
102  * `footer` : content to include in the footer
103  * `bottomfooter` : content to include below the footer
104
105
106## Include Images
107
108The following images can be used to replace content in the theme. Images can be in the root of the theme or in the namespace. Images can be either png, jpg, gif or svg.
109
110  * `logo` : site logo in the navbar
111  * `breadcrumb-prefix` breadcrumb prefix
112  * `breadcrumb-sep` breadcrumb seperator
113  * `hero` hero image for hero element
114
115
116## Hero Element
117
118  * `title` : The hero title is sourced from the page title. The page title is removed from the page content
119  * `subtitle` : Pages can set the subtitle by inserting `~~hero-subtitle TEXT~~` in the page content
120  * `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
121  * `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
122
123Namespaces can also apply the above hero settings in child pages by including the above settings in a page named `theme`.
124
125
126## Icon Engine
127
128  * Mikio includes an icon engine that allows you to include icons in your pages by using <icon OPTIONS> in your content
129  * If the icon tag conflicts with another plugin, you can change the tag from `icon` to a user set value in the settings
130  * 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`
131
132Users can also add their own icon sets into the theme. 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.
133
134
135## Subthemes
136
137Subthemes should be placed in the themes directory in its own directory. LESS files are supported.
138
139
140## Mikio Plugin
141
142The [Mikio Plugin](https://github.com/nomadjimbob/mikioplugin/) is also available to add bootstrap 4 style + more elements to DokuWiki pages.
143
144
145## Languages
146
147  * `sidebar-title` : Text for the collapsable block in the sidebar
148  * `tools-menu` : Text for the combined tools DokuWiki menu title
149  * `home` : Text for the breadcrumb home title
150
151
152## Releases
153
154  * ***2020-09-27***
155    * Sidebars hidden by default in mobile view [#10](https://github.com/nomadjimbob/mikio/issues/10)
156    * Fixed errors with the LESS compilier on some nginx configurations
157    * Fixed styling and image display thumb size in media manager popup
158    * Fixed text field placeholders not disappearing with text entry
159    * Added support for Hogfather
160    * Added option to use LESS or direct CSS. Some configurations have issues with LESS
161
162  * ***2020-09-10***
163    * 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)
164    * Template.info.txt now shows correct release dates [#8](https://github.com/nomadjimbob/mikio/issues/8)
165    * Fixed rightsidebar php warnings
166    * Code/Pre blocks no longer have padding applied on the admin pages
167
168  * ***2020-08-26***
169    * Footer is no longer shown outside of page view
170    * Public messages are now displayed on the page
171    * Fixed icon rendering in hero bar
172    * Fixed TOC rendering bug
173
174  * ***2020-07-27***
175    * Added option to show wiki footer in page content
176
177  * ***2020-07-24***
178    * Fixed image detail bug
179
180  * ***2020-07-20***
181    * Fixed prewrap and sidebar search bar margins
182
183  * ***2020-07-16***
184    * Merged code block styling with pre
185    * Fixed mediamanager failures on 2018-04-22a "Greebo" [#5](https://github.com/nomadjimbob/mikio/issues/5)
186    * Icon tag is rendered correctly in preview [#4](https://github.com/nomadjimbob/mikio/issues/4)
187
188  * ***2020-07-15***
189    * 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)
190
191  * ***2020-07-14***
192    * Added id=dokuwiki__content identifier for the page content element
193    * Added styling and fixed overflow issues with pre elements
194    * Fixed page width overflow issues
195
196  * ***2020-07-09***
197    * Fixed cosmetic display issues when `input[type=file]` is hidden by plugins [#2](https://github.com/nomadjimbob/mikio/issues/2)
198
199  * ***2020-07-07***
200    * Initial release
201
202
203## Third Party Libraries
204
205This theme uses a [modified version](https://github.com/nomadjimbob/simple_html_dom) of [simple_html_dom](https://sourceforge.net/projects/simplehtmldom/)
206
207## Support
208
209  * 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)
210  * If you are a coder, feel free to create a pull request, but please be detailed about your changes!
211