DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:numberedheadings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
plugin:numberedheadings [2019-08-24 06:53] – new release s.saharaplugin:numberedheadings [2019-08-28 13:58] – new release s.sahara
Line 6: Line 6:
 email      : sahara.satoshi@gmail.com email      : sahara.satoshi@gmail.com
 type       : syntax type       : syntax
-lastupdate : 2019-08-24+lastupdate : 2019-08-28
 compatible : 2013-06-03, 2014-09-29 2015-08-10, 2018-04-22 compatible : 2013-06-03, 2014-09-29 2015-08-10, 2018-04-22
 depends    : depends    :
Line 27: Line 27:
 ===== Usage ===== ===== Usage =====
  
-To use this plugin just add a '-' between the '=and the actual heading:+Adding "''%%-%%''" before the heading text will make the headings tiered-numbered. You can choose the first-tier level (**tier1**) in the Configuration manager. The **tier1** may be a fixed value (eg. level 2) or auto-detected in the page. You can use "''%%-#<number>%%''" to set number of the heading
   ====== - Level 1 Headline ======   ====== - Level 1 Headline ======
   ===== - Level 2 Headline =====   ===== - Level 2 Headline =====
 +  ==== -#5 Level 3 Headline ====
   ==== - Level 3 Headline ====   ==== - Level 3 Headline ====
 +  ===== -#7 Level 2 Headline =====
   ==== - Level 3 Headline ====   ==== - Level 3 Headline ====
-  ===== - Level 2 Headline ===== 
-  ==== - Level 3 Headline ==== 
-  ... 
-The output should then look like this: 
-  1. Level 1 Headline 
-      1.1 Level 2 Headline 
-          1.1.1 Level 3 Headline 
-          1.1.2 Level 3 Headline 
-      1.2 Level 2 Headline 
-          1.2.1 Level 3 Headline 
-  ... 
- 
- 
- 
-The user can also set the outline level with the following markup (Thanks to [[martin@idea-games.com|Martin Klima]]): 
- 
-  === -#<number> Heading text === 
- 
-For example: 
- 
-  ====== -#3 Level 1 Headline ====== 
-  ===== - Level 2 Headline ===== 
- 
-will be rendered 
- 
-  3 Level 1 Headline 
-      3.1 Level 2 Headline 
  
 +When the config **tier1** is set to 2, the headings are interpreted as if you have written:
 +  ====== Level 1 Headline ======
 +  ===== 1. Level 2 Headline =====
 +  ==== 1.5 Level 3 Headline ====
 +  ==== 1.6 Level 3 Headline ====
 +  ===== 7. Level 2 Headline =====
 +  ==== 7.1 Level 3 Headline ====
 +  
  
 ===== Configuration ===== ===== Configuration =====
Line 69: Line 53:
 ^ fancy   | styled heading numbers | default = **off** | ^ fancy   | styled heading numbers | default = **off** |
  
-The default numbering format : ''["%d.", "%d.%d", "%d.%d.%d", "%d.%d.%d.%d", "%d.%d.%d.%d.%d"]''+==== Auto-Detect first-tier level ====
  
-The example above generates the following output when ''tier1=2'':+When the config **tier1** is ''0'', the heading level where the numbered headings used first in the page will be set as **tier1** value in the page. You can use appropriate 1st-tier level in different pages.
  
-  Level 1 Headline +==== Numbering format ====
-      1. Level 2 Headline +
-          1.1. Level 3 Headline +
-          1.2. Level 3 Headline +
-      2. Level 2 Headline +
-          2.1. Level 3 Headline +
-  ...+
  
-You can also override the startlevel in a per-page basis. Just insert this code to your page:+The config **format** defines tiered numbering style. Each tier format is the formatting string of [[phpfn>sprintf]], must be enclosed in double quotes (''%%"%%''). If //n//-th tier format is not defined, numbers are simply joined with period char. 
 +Some format examples:<file> 
 +["%d.", "%d.%d", "%d.%d.%d", "%d.%d.%d.%d", "%d.%d.%d.%d.%d"
 +["Chapter %d.", "Section %d.%d", "Subsection %d.%d.%d", "(%4$d)"
 +["Model %04d", "%04d-%02d"
 +</file> 
 + 
 +==== Control numbering feature ==== 
 + 
 +The numbered headings that are prefixed with "''%%--%%''" (instead of single "''%%-%%''") are not rendered, but can be used to specify level numbers or tier format. 
 + 
 +<file> 
 +assume config tier1 is set to 0 
 +=== --#1000 ["(%04d)"] ===   ... set number and tier format of the level, invisible  
 +=== - item 1 ===    → (1001) item 1 
 +=== -- ===             ... initialize tier1, format, headings counter 
 +==== - item 2 ====  → 1. item 2 
 +</file> 
 + 
 +You can also override the first-tier level in a per-page basis. Just insert this code to your page:
 <code> <code>
 ~~HEADLINE NUMBERING FIRST LEVEL = n~~ ~~HEADLINE NUMBERING FIRST LEVEL = n~~
Line 87: Line 84:
  
 Where ''n'' is a number between 1 and 5, so your numbering will start in the heading level specified there. Where ''n'' is a number between 1 and 5, so your numbering will start in the heading level specified there.
- 
- 
- 
  
  
Line 98: Line 92:
  
 Since 2019-01-02, the plugin code has moved to github repository to provide better accessibility for install and further development opportunity. Thanks Lars J. Metz for your early work and encouraging me to move the code to github.  --- [[user>s.sahara|s.sahara]] //2019-01-02 03:40// Since 2019-01-02, the plugin code has moved to github repository to provide better accessibility for install and further development opportunity. Thanks Lars J. Metz for your early work and encouraging me to move the code to github.  --- [[user>s.sahara|s.sahara]] //2019-01-02 03:40//
- 
-=== Idea for Improvement  === 
-  - use vsprintf() to build tiered numbers label, obsolete config "tailingdot" 
-  - initialise class properties after PARSER_HANDLER_DONE event to prevent wrong numbering 
  
  
Line 109: Line 99:
  
  
-=== Revision List ===+=== Old Revision List ===
  
   * 2006-08-25 --- Published Plugin   * 2006-08-25 --- Published Plugin
plugin/numberedheadings.txt · Last modified: 2023-09-13 08:34 by s-sahara

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