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