<?php if (!defined('PmWiki')) exit(); ## Module NumHeaders Author:Pierre Rouzeau - Version 0.1 - Licence GPL $HTMLStylesFmt['numlevel'] = " .numlvl1 { margin-left:1.25em; } .numlvl2 { margin-left:2.5em; } .numlvl3 { margin-left:3.75em; } .numh1 { text-indent:-1em; font-size:132%; font-weight:bold; margin:20px 0px;} .numh2 { text-indent:-1em; font-size:124%; font-weight:bold; margin:16px 0px;} .numh3 { text-indent:-1em; font-size:116%; font-weight:bold; margin:12px 0px;} "; Markup('^°','block','/^(°{1,3})(.*)$/e',"Keep(MkNumTitle(strlen('$1'),PSS('$2')))"); Markup('-°','block','/^-°/e',"StopNumTitle()"); function MkNumTitle ($level, $text) { global $MyNb, $MyNb2, $MyNb3, $CurLevel, $SepNum; SDV ($SepNum, " - "); if ($CurLevel>0) $sep = "</p></div>"; else $sep=""; if (!isset($CurLevel)) $CurLevel=0; if ($CurLevel==0) { $CurLevel++; $MyNb = 0; $MyNb2 = 0; $MyNb3 = 0; } $delta = $CurLevel - $level; $sep .= "\n<div class='numlvl$level'><div class='numh$level'>"; if ($level==1) {$num=++$MyNb; $MyNb2=0; $MyNb3=0;} else if ($level==2) {$MyNb2++; $num="$MyNb.$MyNb2"; $MyNb3=0;} else if ($level==3) {$MyNb3++; $num="$MyNb.$MyNb2.$MyNb3";} $CurLevel = $level; $level++; return ("$sep\n$num$SepNum$text</div><p>"); } function StopNumTitle () { global $CurLevel; $tmp = $CurLevel; $CurLevel = 0; if ($tmp > 0) return "</p></div>"; } ?>