用于重新结构化文本的自定义指令?

2024-06-28 20:28:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用docutils的rst2html.py文件将rst文档转换为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>

我不需要使用嵌入的URIs格式来表示链接。你知道吗

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

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


Tags: 文件todjangopyurlindex链接create
1条回答
网友
1楼 · 发布于 2024-06-28 20:28:02

我只想写一个后处理器。假设Django URL不会有内部标记或可转义字符,如&",一个简单的正则表达式将在这里完成(尽管任务的一般诅咒性甚至稍微复杂),例如:

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)

输出:

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

相关问题 更多 >