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