|
@@ -1,10 +1,11 @@
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
"""
|
|
|
Section number plugin for Pelican
|
|
|
================================
|
|
|
Adds section numbers to section titles of the article
|
|
|
"""
|
|
|
|
|
|
-from pelican import signals, contents
|
|
|
+from pelican import signals
|
|
|
|
|
|
|
|
|
def _extract_level(text, idx):
|
|
@@ -14,7 +15,7 @@ def _extract_level(text, idx):
|
|
|
return (idx, -1)
|
|
|
|
|
|
try:
|
|
|
- level = int(text[idx : end])
|
|
|
+ level = int(text[idx: end])
|
|
|
return (end, level)
|
|
|
|
|
|
except:
|
|
@@ -30,11 +31,10 @@ def _level_str(level_nums, level_max):
|
|
|
for n in level_nums:
|
|
|
ret += str(n) + '.'
|
|
|
|
|
|
- return ret[:-1] + ' '
|
|
|
+ return ret[:-1]
|
|
|
|
|
|
|
|
|
def _insert_title_number(text, level_max):
|
|
|
- ret = u''
|
|
|
idx = 0
|
|
|
levels = []
|
|
|
level_nums = []
|
|
@@ -67,9 +67,10 @@ def _insert_title_number(text, level_max):
|
|
|
levels += [levels[-1] + 1]
|
|
|
level_nums += [1]
|
|
|
|
|
|
- text = text[:idx+1] + _level_str(level_nums, level_max) + text[idx+1:]
|
|
|
+ text = text[:idx + 1] + \
|
|
|
+ _level_str(level_nums, level_max) + '. ' + text[idx + 1:]
|
|
|
|
|
|
- #print text.encode('gb2312')
|
|
|
+ # print text.encode('gb2312')
|
|
|
return text
|
|
|
|
|
|
|
|
@@ -78,7 +79,7 @@ def process_content(content):
|
|
|
return
|
|
|
|
|
|
level_max = content.settings.get('SECTION_NUMBER_MAX', 3)
|
|
|
-
|
|
|
+
|
|
|
if level_max <= 0:
|
|
|
return
|
|
|
|
|
@@ -86,4 +87,4 @@ def process_content(content):
|
|
|
|
|
|
|
|
|
def register():
|
|
|
- signals.content_object_init.connect(process_content)
|
|
|
+ signals.content_object_init.connect(process_content)
|