在reStructuredText中将链接插入粗体文本

24
我尝试在重要的文本中插入链接,但在reStructuredText中失败了。
这是我的rst源代码:
**Lorem ipsum dolor sit amet, `consectetur <http://www.example.com>`_ 
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore 
magna aliqua.**

但我得到了:

<strong>Lorem ipsum dolor sit amet, `consectetur <http://www.example.com>`_ 
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua.</strong>

我想要获取这个:

<strong>Lorem ipsum dolor sit amet, <a href="http://www.example.com">consectetur</a> 
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua.</strong>

3
这个问题已经在https://dev59.com/Dm445IYBdhLWcg3wq8Pp得到了回答。 - Jaime Arias
4个回答

23

目前似乎还不可能实现:参考Docutils常见问题解答,具体是问题“是否支持嵌套内联标记”。答案基本上说明,嵌套内联标记在待办事项列表中,所以最终可以实现你提出的问题,并提供了几种解决方法(他们称这些方法不建议使用)。

由于这些解决方法并不被推荐,也许暂时你可以尝试做一些类似下面的事情:

**Lorem ipsum dolor sit amet,** `consectetur <http://www.example.com>`_ 
**adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore 
magna aliqua.**

当然,你的链接不会加粗,但至少它将是一个有效的链接。


6

虽然不是你请求的HTML格式,但它可以在完全加粗的文本中创建链接:

.. _consectetur: http://www.example.com
.. |consectetur| replace:: **consectetur** 

**Lorem ipsum dolor sit amet,** |consectetur|_
**dolor elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.**

将生成:

<strong>Lorem ipsum dolor sit amet,</strong>
<a href="http://www.example.com"><strong>consectetur</strong></a>
<strong>dolor elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</strong>

哇,谢谢!对于我的目的来说,这个工作得非常好! - pepoluan

3

另一个解决方法是,如果适用的话,将整个段落标记为粗体。

.. class:: bold

Lorem ipsum dolor sit amet, `consectetur <http://www.example.com>`_ 
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore 
magna aliqua.

3
似乎不起作用:https://gist.github.com/carbolymer/e8e2f5351aa7c0bf8c2130db72cc5e3b - carbolymer

0
我制作了一个Sphinx扩展xxlink.py,它注册了Docutils角色:stlink::emlink:
reST
`example <https://example.org>`__
:stlink:`example <https://example.org>`
:emlink:`example <https://example.org>`

生成的 HTML

<p><a class="reference external" href="https://example.org">example</a>
<strong><a class="reference external" href="https://example.org">example</a></strong>
<em><a class="reference external" href="https://example.org">example</a></em></p>

结果

示例 示例 示例

现在我不必为每个em/strong链接定义2个额外的文本替换。

欢迎提出建议。


GitHub链接无法使用。 - mzjn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接