针对已恢复文本的自定义指令?

时间:2017-05-13 14:06:56

标签: python restructuredtext

我尝试使用docutils的rst2html.py将第一个文档转换为HTML。

使用

创建的外部超链接
`How to create Product <Django.url('reservation:manual:product:index')>`_

转换为

<a class="reference external" href="Django.url('reservation:manual:product:index')">How to create Product</a>

我想修改rst2html.py(或相关文件),以便我可以生成以下内容。

<Link
to={Django.url('reservation:manual:product:index')}
>
</Link>

我不需要使用嵌入式URI格式来表达链接。

似乎我可以创建一个自定义指令来指定解析/生成规则。

但是由于我对RST及其解析器的简短了解,我不确定是否可以在带有指令的句子中嵌入单词短语的链接。

1 个答案:

答案 0 :(得分:0)

我只想写一个后处理器。假设Django URL不具有内部标记或者像DEBUG: Redirecting (302) to <GET http://www.cincinnati.com/get-access/?return=http%3A%2F%2Fwww.cincinnati.com%2Fstory%2Fmoney%2F2016%2F11%2F27%2Ffrischs-restaurants%2F94430718%2F> from <GET http://www.cincinnati.com/story/money/2016/11/27/frischs-restaurants/94430718/> &那样可以逃避的字符,那么一个简单的正则表达式将在这里完成(尽管任务的一般诅咒甚至稍微复杂一些),如:

"

输出:

import re
s = ('head <a class="reference external" href="'
     "Django.url('reservation:manual:product:index')"
     '">How to create Product</a> tail')
r = re.sub(r'<a class=".*?" href="(Django[.]url[(].*?[)])">.*?</a>', 
           r'<Link to={\1}></Link>', s)
print(r)