DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:sectiontoggle

sectiontoggle Plugin

Compatible with DokuWiki

  • 2017-02-19 "Frusterick Manners" unknown
  • 2016-06-26 "Elenor Of Tsort" unknown
  • 2015-08-10 "Detritus" unknown
  • 2014-09-29 "Hrun" yes

plugin toggle sections open and closed by clicking on section headers

Last updated on
2016-07-31
Provides
Syntax
Repository
Source

Installation

:!: Requirements: This plugin requires jQuery and was originally designed for use with the DokuWiki Template. In its current form, it should work with any template.

Install the plugin using the Plugin Manager and the download URL above, which points to latest version of the plugin. Refer to Plugins on how to install plugins manually.

There is a simplified branch which will work only with the dokuwiki template: dokuwiki.

Examples/Usage

This plugin converts Dokuwiki headers into toggles which open and close the sections immediately below them.

When installed, the sections will initially be closed. Clicking on a header will open the section immediately below the header. Clicking on it again will close the section. Using the two buttons described below, the user can open and close all the sections with a single click.

Syntax

Inserting the following into the page will create two buttons, one which will open all the sections with one click and one which will close them:

~~stoggle_buttons~~

These buttons will be hidden if toggling is disabled, as described below under Configuration.

Configuration

This plugin was originally written for the Dokuwiki template and it defaults to settings for the dokuwiki template. If you are using the Dokuwiki template, it will work right out of the box and will convert all headers from h1-h4 into toggles.

option options default description
platform all, mobile, none all Selects the platform(s) on which to implement section toggling.
type none,id,class none Indicates whether the div which encloses the affected headers is identified by a class or an id.
name dokuwiki__content1) Name of the class or id which identifies the enclosing div.
headers h1-h6 h4 Smallest header to activate as toggle. All headers between h1 and this setting will be toggles.
suspend 1,0 0 If set to true the plugin will be inactivated and no toggles will be set.
xcl_headers Checkboxes to select headers which should not be set as toggles

Notes on the Options

  • Platform
    • all: section toggling will appear on all platforms, mobile and standard desktop systems
    • mobile : mobile only, desktops are excluded
    • none : toggling is disabled on all platforms.
  • Name and Type
    • The name is either an id or a class attribute of the div which governs the Dokuwiki headers. If you are using the Dokuwiki template, you can ignore these options: the plugin automatically detects the template and will use the appropriate settings.
  • Headers and xcl_headers
    • The headers option selects the smallest header to be converted to a toggle. If you choose h6, all headers between h1 and h6 will be converted to toggles. You can, however, use the xcl_headers setting to omit selected headers from being converted to toggles.

When the toggle buttons are included on a page, they will not display if the platform is excluded from section toggling. So, if you want toggling only on mobile devices, you can still include these buttons on your page but they will not display on standard desktop systems.

Detecting the Platform

When the Dokuwiki template is in use, this plugin uses the template's platform recognition facility. For other templates, it uses the Mobile_Detect class from http://mobiledetect.net. You can go to that site to update the detection software. Currently, we are at version 2.8.11.

Example

The default template, which was the template that preceded the dokuwiki template, contains the following structure:

<div class="page">
  <!-- wikipage start -->
  <?php tpl_content()?>
  <!-- wikipage stop -->
</div>

The wiki page is included in the div which is defined by the class named page. To use this template, then, you would set type to class and name to page.

If you are using the dokuwiki template, the default settings for type and name will take precedence over these configuration settings, as they are hard-coded into the plugin. If you want to use the dokuwiki template with changes to its structure, then you must give it a different template name.

Override

There is currently a branch which enables you to create a container div for the page, in which case it is not necessary to set the name option for identifying the div which holds the wiki content. However, you must set the type option either to id or to class.

This feature uses two macros:

~~stoggle_openDIV~~
~~stoggle_closeDIV~~

You place the openDIV at the top of your wiki page and the closeDIV at the bottom. This will create a div with a section__toggle id. The entire wiki page will then be enclosed within this div.2)

1)
id of the enclosing div of the dokuwiki template
2)
In all but the simplest of pages, these macros must be at the very top and the very bottom of your page.
plugin/sectiontoggle.txt · Last modified: 2016-07-31 13:14 by turnermm