Learn about DokuWiki
Learn about DokuWiki
If you're using the new default template (or any other template which supports sidebars out of the box), you already have a sidebar functionality. If you are using a different template, there are basically two ways to add a sidebar functionality:
Using a template which includes a sidebar functionality is often a better choice, as that sidebar will already be optimised to fit into the template's design and layout.
Most templates use a normal wiki page called “sidebar” for the sidebar. Some make this configurable, so you can choose the name of the page. (E.g. since Adora Belle there is the sidebar config option which some templates support.) And others have several sidebars, each of which will have their own page, sometimes even depending on namespaces.
In the most likely event that your sidebar is a page called “sidebar”, you just need to create it. Go to
http://your-wiki.com/doku.php?id=sidebar, click “Create this page”, edit the page, save, and you're done. That's it, your saved changes will appear in your sidebar.
In many cases you will also need to add the
~~NOCACHE~~ macro when using a plugin which changes the sidebar's appearance per page or namespace.
If your sidebar contains dynamic elements (e.g. highlighting of the current page or opening of a sub list, like a lot of navigation plugins do), then you need to add the
~~NOCACHE~~ macro to your page to prevent caching of the sidebar.
A single sidebar is applied by default to all pages in the namespace where the wiki sidebar page is created. So, you can choose where you want to display a sidebar :
:sidebar- applied for all pages in the wiki by default
:foo:sidebar- applied for all pages in the namespace
Moreover, you can easily have multiple sidebars: “the nearest sidebar page will be used” as said in the configuration setting: sidebar page. There is no limit to having specific sidebars per namespace to facilitate browsing as:
:foo:sidebarfor the namespace
:bar:sidebarfor the namespace
:foo:bar:sidebarfor the namespace
:foo:bar:baz:sidebarfor the namespace
However, you have to check if your template supports this setting. Bootstrap3, and possibly other templates, extends the namespace capability to other elements of the template (rightsidebar, navbar, pageheader,….). Check the template's configuration options.