DokuWiki

It's better when it's simple

User Tools

Site Tools


tips:numbered_headings

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tips:numbered_headings [2013-01-14 15:43] 93.159.251.2tips:numbered_headings [2021-09-03 12:11] (current) – [Alternative] gerardnico
Line 4: Line 4:
  
 The following CSS code will number all headlines of your wiki content, as well as their TOC counterpart. The following CSS code will number all headlines of your wiki content, as well as their TOC counterpart.
-Put it either in one of your template's CSS files (and a second time in your ''print.css'', if you want the numbers to be printable) or in a ''userstyle.css'' in your ''./conf'' directory:+Put it either in one of your template's CSS files (and a second time in your ''print.css'', if you want the numbers to be printable) or in a ''userstyle.css'' in your ''./conf'' directory (or ''userall.css'' if it should also be used for the print version):
  
 <file css userstyle.css> <file css userstyle.css>
-div.dokuwiki .page {counter-reset: level1;} +.dokuwiki .page {counter-reset: level1;} 
-div.dokuwiki div.toc:before, div.dokuwiki div.toc:after {counter-reset: level1; content: "";}+.dokuwiki #dw__toc:before, .dokuwiki #dw__toc:after {counter-reset: level1; content: "";
 +.dokuwiki #dw__toc h3:before{content: ""}
  
-div.dokuwiki .page h1, div.dokuwiki ul.toc li.level1 {counter-reset: level2;} +.dokuwiki .page h1, .dokuwiki ul.toc li.level1 {counter-reset: level2;} 
-div.dokuwiki .page h2, div.dokuwiki ul.toc li.level2 {counter-reset: level3;} +.dokuwiki .page h2, .dokuwiki ul.toc li.level2 {counter-reset: level3;} 
-div.dokuwiki .page h3, div.dokuwiki ul.toc li.level3 {counter-reset: level4;} +.dokuwiki .page h3, .dokuwiki ul.toc li.level3 {counter-reset: level4;} 
-div.dokuwiki .page h4, div.dokuwiki ul.toc li.level4 {counter-reset: level5;} +.dokuwiki .page h4, .dokuwiki ul.toc li.level4 {counter-reset: level5;} 
-div.dokuwiki .page h5, div.dokuwiki ul.toc li.level5 {}+.dokuwiki .page h5, .dokuwiki ul.toc li.level5 {}
  
-div.dokuwiki .page h1:before, +.dokuwiki .page h1:before, 
-div.dokuwiki ul.toc li.level1 a:before {+.dokuwiki ul.toc li.level1 a:before {
     content: counter(level1) " ";     content: counter(level1) " ";
     counter-increment: level1;     counter-increment: level1;
 } }
-div.dokuwiki .page h2:before, +.dokuwiki .page h2:before, 
-div.dokuwiki ul.toc li.level2 a:before {+.dokuwiki ul.toc li.level2 a:before {
     content: counter(level1) "." counter(level2) " ";     content: counter(level1) "." counter(level2) " ";
     counter-increment: level2;     counter-increment: level2;
 } }
-div.dokuwiki .page h3:before, +.dokuwiki .page h3:before, 
-div.dokuwiki ul.toc li.level3 a:before {+.dokuwiki ul.toc li.level3 a:before {
     content: counter(level1) "." counter(level2) "." counter(level3) " ";     content: counter(level1) "." counter(level2) "." counter(level3) " ";
     counter-increment: level3;     counter-increment: level3;
 } }
-div.dokuwiki .page h4:before, +.dokuwiki .page h4:before, 
-div.dokuwiki ul.toc li.level4 a:before {+.dokuwiki ul.toc li.level4 a:before {
     content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) " ";     content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) " ";
     counter-increment: level4;     counter-increment: level4;
 } }
-div.dokuwiki .page h5:before, +.dokuwiki .page h5:before, 
-div.dokuwiki ul.toc li.level5 a:before {+.dokuwiki ul.toc li.level5 a:before {
     content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) " ";     content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) " ";
     counter-increment: level5;     counter-increment: level5;
Line 48: Line 49:
 ===== Drawbacks ===== ===== Drawbacks =====
  
-  * works only in "modern" browsers (no IE, have tested in Win FF and Opera; Safari is probable) +  * no restriction to certain pages (yet; could be done through another plugin; in the standard template it could at least be restricted by adding ''.mode_show'') 
-  * no restriction to certain pages (yet; could be done through another plugin)+  * The first ''h1'' which kind of works as a page title is numbered
  
 +===== Edit to exclude the first h1 (page title) from numbering =====
 +<file css userstyle.css>
 +.dokuwiki .page {counter-reset: level1;}
 +.dokuwiki #dw__toc:before,
 +.dokuwiki #dw__toc:after {counter-reset: level1; content: "";}
 +.dokuwiki #dw__toc h3:before{content: ""}
 + 
 +.dokuwiki .page h1, .dokuwiki ul.toc li.level1 {counter-reset: level2;}
 +.dokuwiki .page h2, .dokuwiki ul.toc li.level2 {counter-reset: level3;}
 +.dokuwiki .page h3, .dokuwiki ul.toc li.level3 {counter-reset: level4;}
 +.dokuwiki .page h4, .dokuwiki ul.toc li.level4 {counter-reset: level5;}
 +.dokuwiki .page h5, .dokuwiki ul.toc li.level5 {}
 + 
 +.dokuwiki .page h1:before,
 +.dokuwiki ul.toc li.level1 a:before {
 +    content: counter(level1) " ";
 +    counter-increment: level1;
 +}
 +.dokuwiki .page h1.sectionedit1:before,
 +.dokuwiki ul.toc li.level1:first-child a:before {
 +    content: none;
 +}
 +.dokuwiki .page h2:before,
 +.dokuwiki ul.toc li.level2 a:before {
 +    content: counter(level1) "." counter(level2) " ";
 +    counter-increment: level2;
 +}
 +.dokuwiki .page h3:before,
 +.dokuwiki ul.toc li.level3 a:before {
 +    content: counter(level1) "." counter(level2) "." counter(level3) " ";
 +    counter-increment: level3;
 +}
 +.dokuwiki .page h4:before,
 +.dokuwiki ul.toc li.level4 a:before {
 +    content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) " ";
 +    counter-increment: level4;
 +}
 +.dokuwiki .page h5:before,
 +.dokuwiki ul.toc li.level5 a:before {
 +    content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) " ";
 +    counter-increment: level5;
 +}
 +</file>
 +==== Rationale for edit ====
 +I use several ''h1''s in my wiki so it doesn't "steal" one level from my TOC. I use the first ''h1'' as the title of the page which I don't want to be numbered.
 +==== Drawbacks ====
 +  * If you have only one ''h1'' and use ''h2'', it will be numbered ''0.1'' in the document and not numbered at all in the TOC
 +
 +In this case, you may use this variant of the CSS file (tested on Bootstrap3 theme)
 +<file css userstyle.css>
 +.dokuwiki .page {counter-reset: level1;}
 +.dokuwiki #dw__toc:before,
 +.dokuwiki #dw__toc:after {counter-reset: level1; content: "";}
 +.dokuwiki #dw__toc h3:before{content: ""}
 + 
 +.dokuwiki .page h1, .toc-body ul.toc li.level1 {counter-reset: level2;}
 +.dokuwiki .page h2, .toc-body ul.toc li.level2 {counter-reset: level3;}
 +.dokuwiki .page h3, .toc-body ul.toc li.level3 {counter-reset: level4;}
 +.dokuwiki .page h4, .toc-body ul.toc li.level4 {counter-reset: level5;}
 +.dokuwiki .page h5, .toc-body ul.toc li.level5 {}
 + 
 +.dokuwiki .page h1:before,
 +.dokuwiki ul.toc li.level1 a:before {
 +    content: counter(level1) ". ";
 +    counter-increment: level1;
 +}
 +.dokuwiki .page h1.sectionedit1:before,
 +.dokuwiki ul.toc li.level1 a:before {
 +    content: none;
 +}
 +.dokuwiki .page h2:before,
 +.dokuwiki ul.toc li.level2 a:before {
 +    content: counter(level2) ". ";
 +    counter-increment: level2;
 +}
 +.dokuwiki .page h3:before,
 +.dokuwiki ul.toc li.level3 a:before {
 +    content: counter(level2) "." counter(level3) ". ";
 +    counter-increment: level3;
 +}
 +.dokuwiki .page h4:before,
 +.dokuwiki ul.toc li.level4 a:before {
 +    content: counter(level2) "." counter(level3) "." counter(level4) ". ";
 +    counter-increment: level4;
 +}
 +.dokuwiki .page h5:before,
 +.dokuwiki ul.toc li.level5 a:before {
 +    content: counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) ". ";
 +    counter-increment: level5;
 +}
 +</file>
 +==== Alternative ====
 +This may have been better achieved by using the [[plugin:pagetitle|PageTitle Plugin]] and the original style here, but then I would have to manually rename each page of my wiki.
 +
 +The [[plugin:combo|combo plugin]] used also a CSS approach with [[https://combostrap.com/docs/navigation/outline#numbering|configuration]]
tips/numbered_headings.1358174620.txt.gz · Last modified: 2013-01-14 15:43 by 93.159.251.2

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