Table of Contents
Autonumbering Plugin
Compatible with DokuWiki
- 2022-07-31 "Igor" unknown
- 2020-07-29 "Hogfather" unknown
- 2018-04-22 "Greebo" unknown
- 2017-02-19 "Frusterick Manners" yes
Similar to dokupp, indexnumber
Known Issues
This plugin doesn't work in headlines and this can't be fixed.
See forum: https://forum.dokuwiki.org/d/9334
Syntax and Use
Base
Syntax: ~~#~~
- Where
~~#~~
will be replaced by a number, auto incremented, and saved in a common counter.
Example:
Example number ~~#~~ Example number ~~#~~ Example number ~~#~~ -------------------- Result: Example number 1 Example number 2 Example number 3
Explicit counter ID
Syntax: ~~#@COUNTERID~~
- Where
COUNTERID
is an alphanumeric identificator, including underscore, and starting with a@
. This allows the use of multiple counters.
Example:
First counter = ~~#@ctr_ONE~~ First counter = ~~#@ctr_ONE~~ First counter = ~~#@ctr_ONE~~ Second counter = ~~#@ctr_TWO~~ Second counter = ~~#@ctr_TWO~~ First counter = ~~#@ctr_ONE~~ -------------------- Result: First counter = 1 First counter = 2 First counter = 3 Second counter = 1 Second counter = 2 First counter = 4
Forced numbering
Syntax: ~~#NUM~~
- Where
NUM
is a positive number that will be the begining of the auto incrementation from there.
Example:
Counter = ~~#~~ Counter = ~~#6~~ Counter = ~~#~~ -------------------- Result: Counter = 1 Counter = 6 Counter = 7
Multiple levels
Syntax: ~~#.#~~
- Where
.#
represent a sublevel and can be repeated as much as needed.
Example:
Level = ~~#~~ Level = ~~#.#~~ Level = ~~#.#.#~~ Level = ~~#.#.#~~ Level = ~~#.#~~ Level = ~~#.#.#~~ Level = ~~#.#.#~~ Level = ~~#~~ -------------------- Result: Level = 1 Level = 1.1 Level = 1.1.1 Level = 1.1.2 Level = 1.2 Level = 1.2.1 Level = 1.2.2 Level = 2
Text level
Syntax: ~~TEXT.#~~
- Where
TEXT
is alphabetic (without number) and will be reproduce in the number. Only#
is an auto incremented number. - Up to the first auto incremented numbers, the text will be separated by spaces.
- Note: when using text in a level, it will be implicitly used as counter ID if no counter ID have been set explicitly (see Explicit counter ID above). In case of multiple levels with text, they will be concatenated to form a single counter ID. In the example below, the counter ID will be “KungFu”.
Example 1:
~~Kung.Fu.#~~ ~~Kung.Fu.#.#~~ ~~Kung.Fu.#.#~~ ~~Kung.Fu.#~~ ~~Kung.Fu.#.#.#~~ ~~Kung.Fu.#.#.#~~ -------------------- Result: Kung Fu 1 Kung Fu 1.1 Kung Fu 1.2 Kung Fu 2 Kung Fu 2.1.1 Kung Fu 2.1.2
CSS styling
The numbers are wrapped with a <span class=“…”>
tag with two classes: autonumberingAll
and autonumbering
followed by all text-only levels separated by an underscore. For example:
~~#~~
becomes<span class=“autonumberingAll autonumbering”>1</span>
~~Kung.Fu.#.#~~
becomes:
<span class=“autonumberingAll autonumbering_Kung_Fu”>Kung Fu 1.1</span>
To style this, one may create a conf/tpl/<template name>/
directory, create a file style.ini
in the directory, and define there a custom css, for example:
[stylesheets] css/autonumbering.css = screen
Then, in the css/autonumbering.css
(all path relative to conf/tpl/<template name>/
), one may write:
.autonumbering_Kung_Fu { font-style: italic; text-decoration: #2b73b7 underline; }
FAQ
Discussion
I republished this plugin as I found it useful. The original code is by Patrice Bonneau.