====== Autonumbering Plugin ====== ---- plugin ---- description: This plugin allows the use of multiples counters with multiples levels, within the same page author : Florian Wehner email : florian@whnr.de type : syntax lastupdate : 2023-03-04 compatible : 2012-01-25c "Angua", 2012-10-13 "Adora Belle", 2013-05-10a "Weatherwax", 2017-02-19 "Frusterick Manners" depends : conflicts : similar : dokupp tags : counter, level, numbering downloadurl: https://github.com/whnr/dokuwiki-plugin-autonumbering/tarball/master bugtracker : https://github.com/whnr/dokuwiki-plugin-autonumbering/issues sourcerepo : https://github.com/whnr/dokuwiki-plugin-autonumbering/ ---- ===== 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 '''' tag with two classes: ''autonumberingAll'' and ''autonumbering'' followed by all text-only levels separated by an underscore. For example: * ''~~#~~'' becomes ''1'' * ''~~Kung.Fu.#.#~~'' becomes: \\ ''Kung Fu 1.1'' To style this, one may create a ''conf/tpl/