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