DokuWiki

It's better when it's simple

User Tools

Site Tools


template:mikio

Mikio Template

Compatible with DokuWiki

  • 2024-02-06 "Kaos" yes
  • 2023-04-04 "Jack Jackrum" yes
  • 2022-07-31 "Igor" yes
  • 2020-07-29 "Hogfather" yes

template Mikio is a Bootstrap 4 style template with a hero element and dark mode support

Last updated on
2024-02-09
Repository
Source

Features

  • Navbar with dropdown support
  • Subnavbar support (using a page named submenu)
  • Right sidebar
  • Hero element
  • Icon support
  • Customizable breadcrumbs
  • Theming support
  • Tags plugin support
  • Translate plugin support
  • Mobile friendly
  • Typeahead search support
  • Dark mode
  • Breadcrumbs and You Are Here have now been separated 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

Configuration

  • iconTag : icon tag to use to engage the icon engine. Default to icon
  • customTheme : the mikio theme to use, located in the mikio/themes directory
  • showNotifications : where to show site notifications for admin staff
  • useLESS : use the LESS compilier or direct CSS for the mikio stylesheet. Requires the ctype PHP extension installed.
  • navbarUseTitleIcon : show the site logo in the navbar
  • navbarUseTitleText : show the site title in the navbar
  • navbarUseTaglineText : show the site tagline in the navbar. Requires the navbarUseTitleText to be enabled
  • 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
  • navbarDWMenuType : how to show the DokuWiki menu items in the navbar. Can be either icons, text or both
  • 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
  • navbarPosLeft : what menu to show on the left of the navbar
  • navbarPosMiddle : what menu to show in the middle of the navbar
  • navbarPosRight : what menu to show on the right of the navbar
  • 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
  • searchButton : show the search button as a icon or text
  • searchUseTypeahead : use Typeahead page suggestions in search bar
  • heroTitle : show the hero block on pages
  • heroImagePropagation : search for hero images in parent namespaces if none is found in the current namespace
  • tagsConsolidate : Consolidate tags found in the current page and display it in the hero, content header or sidebar
  • breadcrumbHideHome : hide breadcrumbs in the root namespace
  • breadcrumbPosition : where to display the breadcrumbs, either under the navbar, in the hero element or above the page content
  • breadcrumbPrefix : enable changing the breadcrumb prefix
  • breadcrumbPrefixText : text to set the breadcrumb prefix. Requires breadcrumbPrefix to be enabled. This replaces the default breadcrumb prefixes Trace: for tracking breadcrumbs and You are here: for hierarchical breadcrumbs (including the punctuation) which as of July 2021 cannot be customized by means of the Configuration Manager but only within the scope of a template.
  • breadcrumbSep : enable changing the breadcrumb seperator
  • breadcrumbSepText : text to set the breadcrumb seperator. Requires breadcrumbSep to be enabled
  • 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
  • breadcrumbShowLast : only show a number of breadcrumbs from the last. Will also show the home item in the list if enabled. Set this to 0 to show all items
  • sidebarShowLeft : show the left sidebar if content is found
  • sidebarLeftRow1 : content to show in the first row of the left sidebar
  • sidebarLeftRow2 : content to show in the second row of the left sidebar
  • sidebarLeftRow3 : content to show in the third row of the left sidebar
  • sidebarLeftRow4 : content to show in the forth row of the left sidebar
  • sidebarShowRight : show the right sidebar if content is found
  • tocFull : show the table of contents as a full height item
  • pageToolsFloating : when and if to show the floating page tools
  • pageToolsFooter : when and if to show page tools in the footer
  • footerCustomMenuText : custom menu to use in the footer. Menu items are in the format of url|title with each item separated by a semicolon
  • footerSearch : show the search bar in the footer
  • licenseType : how to show the license in the footer
  • licenseImageOnly : show the license in the footer as an image only. Requires licenseType to at least be enabled
  • includePageUseACL : respect ACL when including pages
  • includePagePropagate : search parent namespaces when including pages

Include Pages

The following pages can be either html files in the root of the template or a page in the namespace. Namespace pages take priority.

  • topheader : content to include above the navbar
  • header : content include below the navbar but above the page content
  • contentheader : content to include above the page content
  • contentfooter : content to include below the page content
  • sidebarheader : content to include above the left sidebar content
  • sidebarfooter : content to include below the left sidebar content
  • rightsidebarheader : content to include above the right sidebar content
  • rightsidebarfooter : content to include below the right sidebar content
  • footer : content to include in the footer
  • bottomfooter : content to include below the footer

Include Images

The following images can be used to replace content in the template. Images can be in `TEMPLATE_ROOT/images/`, `TEMPLATE_ROOT/themes/THEME/images/`, or in the namespace. Images can be either png, jpg, gif or svg.

  • logo : site logo in the navbar
  • breadcrumb-prefix breadcrumb prefix
  • breadcrumb-sep breadcrumb seperator
  • hero hero image for hero element

Hero Element

  • title : The hero title is sourced from the page title. The page title is removed from the page content
  • subtitle : Pages can set the subtitle by inserting ~~hero-subtitle TEXT~~ in the page content
  • 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
  • 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

Namespaces can also apply the above hero settings in child pages by including the above settings in a page named theme.

If the page title is not being displayed in the Hero, make sure that you have correctly set the DokuWiki useheading setting.

Hiding Elements

Mikio now supports hiding elements using the ~~hide-parts (parts)~~ macro. Each element within the hide-parts macro is required to be separated by spaces. Currently, the following parts are supported:

  • topheader : content above the navbar
  • navbar : the main navigation bar
  • header : content below the navbar but above the page content
  • hero : the page hero bar
  • contentheader : content above the page content
  • contentfooter : content below the page content
  • sidebarheader : content above the left sidebar content
  • sidebarfooter : content below the left sidebar content
  • rightsidebarheader : content above the right sidebar content
  • rightsidebarfooter : content below the right sidebar content
  • footer : content in the footer
  • bottomfooter : content below the footer

To hide the topheader, navbar and hero, you would use the macro ~~hide-parts topheader navbar hero~~

Icon Engine

  • Mikio includes an icon engine that allows you to include icons in your pages by using <icon OPTIONS> in your content
  • If the icon tag conflicts with another plugin, you can change the tag from icon to a user set value in the settings
  • By default, Mikio enables FontAwesome 4 but also includes FontAwesome 5, Elusive 2 and Bootstrap Icons, which can be enabled by uncommenting their inclusions in /icons/icons.php

Users can also add their own icon sets to the template. Supported icon sets can either be webfonts or individual files (such as a SVG library). Instructions can be found in the /icons/icons.php file.

Themes

Themes should be placed in the themes directory in their own directory. LESS files are supported.

Dark Mode

Mikio now supports dark mode! When the user prefers a dark theme, or has selected dark mode, the html tag will set the theme dataset to `theme-dark`; else it will be `theme-light`.

You can detect this in CSS using:

:root[data-theme="theme-dark"] {
  // CSS selectors here
}

or in Javascript using:

const html = document.querySelector('html');
if(html.dataset.theme == 'theme-dark') {
  // ...
}

Mikio Plugin

The Mikio Plugin is also available to add bootstrap 4 style + more elements to DokuWiki pages.

If the plugin is installed, the Template Styles Settings page will be expanded to allow directly editing the plugin element styling.

Languages

  • sidebar-title : Text for the collapsable block in the sidebar
  • tools-menu : Text for the combined tools DokuWiki menu title
  • home : Text for the breadcrumb home title

Releases

2024-02-09

  • Added support for DokuWiki Kaos
  • Updated to support PHP 8.2
  • Added access key support to page elements #64. Thanks rebeka-catalina.

2023-12-12

  • autoDarkLight configuration setting will override user setting when showDarkLight is disabled #56.
  • Cookies used in the template now use the upcoming SameSite requirement.
  • Fixed snapshots not being detected and causing script loading issues #57. Thanks schplurtz.
  • Updated the typescript library to support jQuery compatibility mode #57. Thanks schplurtz.
  • Fixed bug in config for showNotifications not being a dropdown.
  • Changed default value of showNotifications to always to reflect DokuWiki. #58. Thanks schplurtz.
  • Fixed z-index bug with the sub navbar. #60. Thanks schplurtz.

2023-12-11

  • Fixed bug with tags not correctly coloured. #59. Thanks WetenSchaap.

2023-12-04

  • Added ability to customize the page footer info text.

2023-10-30

  • Added support for the FastWiki plugin. Requested by kjumybit.
  • Fixed panels on the Administration page sometimes showing dots as part of the name.

You can view older change release notes on the Github project page.

Third Party Libraries

This template uses a modified version of simple_html_dom

Support

  • If you think you have found a problem, or would like to see a feature, please open an issue
  • If you are a coder, feel free to create a pull request, but please be detailed about your changes!

Applause

This is really a modern, complete template, with very high flexibility and customizability. (Look at those options to customize for style.ini!) Also it's the first template I have seen with “Hero element” support. And there are quite a few positions to insert included pages as page/content header/footers. I appreciate the great work of the developer. — milchflasche 2020-07-30 03:42

I have used this template in my two language learning sites: http://taigi123.ga/ http://hakka123.ga/ (written in some East Asian languages and Hanzi script) — milchflasche 2020-09-17 04:58
template/mikio.txt · Last modified: 2024-04-19 09:04 by Aleksandr

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki