DokuWiki

It's better when it's simple

User Tools

Site Tools


faq:sidebar

How do I add a sidebar?

If you're using the 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 optimized to fit into the template's design and layout.

I have a sidebar functionality. How can I create or edit a sidebar now?

Most templates use a normal wiki page called “sidebar” for the sidebar. The name of that page is configurable via the sidebar config option. Some templates may have their own configuration or even have several sidebars - refer to your template's documentation.

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.

My sidebar doesn't update properly or highlights the wrong parts

If your sidebar contains dynamic elements (e.g. opening of a sub list, like a lot of navigation plugins do), then you may 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 foo:*

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:sidebar for the namespace foo:*
  • :bar:sidebar for the namespace bar:*
  • :foo:bar:sidebar for the namespace :foo:bar:*
  • :foo:bar:baz:sidebar for the namespace :foo:bar:baz:*

To be clear, all you need to do is create a page named 'sidebar' in a namespace and it will apply to all pages within 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.

For some users the sidebar does not appear

Q: For some or all non-admin users the sidebar does not appear.

A: The user to whom the sidebar should be displayed must have read permission on the page “sidebar”.

faq/sidebar.txt · Last modified: 2024-07-26 07:18 by saggi

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