首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新构造文本的自定义指令?

重新构造文本的自定义指令?
EN

Stack Overflow用户
提问于 2017-05-13 14:06:55
回答 1查看 87关注 0票数 0

我试图使用docutils的rst2html.py将rst文档转换为html。

创建的外部超链接

代码语言:javascript
复制
`How to create Product <Django.url('reservation:manual:product:index')>`_

被转换为

代码语言:javascript
复制
<a class="reference external" href="Django.url('reservation:manual:product:index')">How to create Product</a>

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

代码语言:javascript
复制
<Link
to={Django.url('reservation:manual:product:index')}
>
</Link>

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-13 15:18:13

我只会写一个后处理器。假设Django URL不会有内部标记或像&"这样的可逃避的字符,那么这里就可以使用简单的正则表达式了(尽管对于一些稍微复杂的任务来说,这是一种普遍的诅咒),比如:

代码语言:javascript
复制
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)

输出:

代码语言:javascript
复制
head <Link to={Django.url('reservation:manual:product:index')}></Link> tail
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43954082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档