1.5.1提纲持续头疼中
This commit is contained in:
parent
97fe7ead59
commit
f345be0894
@ -143,32 +143,16 @@ class Syllabus_(InlineProcessor):
|
|||||||
|
|
||||||
class Syllabus(BlockProcessor):
|
class Syllabus(BlockProcessor):
|
||||||
# 定义提纲的正则表达式
|
# 定义提纲的正则表达式
|
||||||
ALERT_RE = r'(\d+(\.\d+)*)\s+(.*)'
|
syllabus_re = r'(\d+(\.\d+)*)\s+(.*)'
|
||||||
|
|
||||||
def test(self, parent, block):
|
def test(self, parent, block):
|
||||||
# 检查当前块是否匹配我们的正则表达式
|
# 检查当前块是否匹配我们的正则表达式
|
||||||
return bool(self.ALERT_RE.match(block))
|
return re.match(self.syllabus_re, block)
|
||||||
|
|
||||||
def run(self, parent, blocks):
|
def run(self, parent, blocks):
|
||||||
# 处理匹配的块
|
# 处理匹配的块
|
||||||
block = blocks.pop(0)
|
for num, block in enumerate(blocks):
|
||||||
m = self.ALERT_RE.search(block)
|
pass
|
||||||
if m:
|
|
||||||
before = block[:m.start()] # 匹配之前的文本
|
|
||||||
after = block[m.end():] # 匹配之后的文本
|
|
||||||
if before:
|
|
||||||
# 如果匹配之前有文本,则创建一个新的段落来包含它
|
|
||||||
p = etree.SubElement(parent, 'p')
|
|
||||||
p.text = before.strip()
|
|
||||||
# 创建包含警告内容的 div 元素
|
|
||||||
div = etree.SubElement(parent, 'div', {'class': 'alert'})
|
|
||||||
div.text = m.group(1).strip()
|
|
||||||
# 如果匹配之后还有文本,则将其重新添加到块列表中以便后续处理
|
|
||||||
if after.strip():
|
|
||||||
blocks.insert(0, after)
|
|
||||||
else:
|
|
||||||
# 如果没有匹配,则保留原始块以便后续处理器处理
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
class BoxBlockProcessor(BlockProcessor):
|
class BoxBlockProcessor(BlockProcessor):
|
||||||
@ -188,7 +172,7 @@ class BoxBlockProcessor(BlockProcessor):
|
|||||||
# remove fence
|
# remove fence
|
||||||
blocks[block_num] = re.sub(self.RE_FENCE_END, '', block)
|
blocks[block_num] = re.sub(self.RE_FENCE_END, '', block)
|
||||||
# render fenced area inside a new div
|
# render fenced area inside a new div
|
||||||
e = etree.SubElement(parent, 'div')
|
e = xml.etree.ElementTree.SubElement(parent, 'div')
|
||||||
e.set('style', 'display: inline-block; border: 1px solid red;')
|
e.set('style', 'display: inline-block; border: 1px solid red;')
|
||||||
self.parser.parseBlocks(e, blocks[0:block_num + 1])
|
self.parser.parseBlocks(e, blocks[0:block_num + 1])
|
||||||
# remove used blocks
|
# remove used blocks
|
||||||
@ -200,7 +184,6 @@ class BoxBlockProcessor(BlockProcessor):
|
|||||||
return False # equivalent to our test() routine returning False
|
return False # equivalent to our test() routine returning False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Basic(Extension):
|
class Basic(Extension):
|
||||||
"""
|
"""
|
||||||
渲染基本样式
|
渲染基本样式
|
||||||
|
Loading…
Reference in New Issue
Block a user