From 3aaa2f2fec9df37899be5cc9778e80432ba3194c Mon Sep 17 00:00:00 2001 From: Holger Schurig Date: Thu, 24 Jun 2010 11:41:54 +0200 Subject: [PATCH] toc.py: automatically adjust indentation level according to first found

/

/

etc --- plugins/toc.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/toc.py b/plugins/toc.py index 166eecf..fa22cc3 100644 --- a/plugins/toc.py +++ b/plugins/toc.py @@ -6,6 +6,7 @@ import htmlentitydefs, re reHeader = re.compile(r'(.*)', re.IGNORECASE | re.MULTILINE) _toc = [] _labels = {} +_first = -1 toc_min_lines = 30 @@ -47,6 +48,7 @@ def repl(m): header. """ global _toc + global _first label = slugify(m.group(3), "_") if _labels.has_key(label): n = 0 @@ -57,7 +59,10 @@ def repl(m): break n += 1 - _toc.append( (int(m.group(1)), m.group(3), label) ) + level = int(m.group(1)) + if _first == -1: + _first = level + _toc.append( (level - _first, m.group(3), label) ) _labels[label] = 1 return '%s ' % ( m.group(1), @@ -72,8 +77,10 @@ def repl(m): def linkify(params): global _toc global _labels + global _first _toc = [] _labels = {} + _first = -1 # Very small pages don't need a table-of-contents if params.file.contents.count("\n") < toc_min_lines: -- 2.39.2