所以我有一个狮身人面像生成的网站。它的一部分是原始的html,由sphinx + jinja解析。 现在我想在原始html中使用指向toc-tree的某些部分的链接。 有没有办法实现这个目标? 目前我正在退出原始html并使用rst。 这看起来像
.. raw:: html
<small class="float-right example-links">
:ref:`Examples<general_examples>`
.. raw:: html
</small>
这不是丑陋的,它也会混淆生成的html。 有更好的方法吗?
谢谢:)
答案 0 :(得分:0)
如果您知道如何生成部分<a href="..."...</a>
,则可以使用HTML链接元素id
。内容列表中项目的id
只是小写的部分标题,其中空格用连字符-
替换。所以这个reStructuredText
Title
=====
.. contents:: Table of Contents
Section 1
---------
Some filler text...
Section 2
---------
Some filler text...
会导致以下HTML代码段(<head>
等已删除)
<body>
<div class="document" id="title">
<h1 class="title">Title</h1>
<div class="contents topic" id="table-of-contents">
<p class="topic-title first">Table of Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#section-1" id="id1">Section 1</a></li>
<li><a class="reference internal" href="#section-2" id="id2">Section 2</a></li>
</ul>
</div>
<div class="section" id="section-1">
<h1><a class="toc-backref" href="#id1">Section 1</a></h1>
<p>Some filler text...</p>
</div>
<div class="section" id="section-2">
<h1><a class="toc-backref" href="#id2">Section 2</a></h1>
<p>Some filler text...</p>
</div>
</div>
</body>
因此,为了链接到目录项,您可以使用以下reStructuredText
.. raw:: html
<small class="..."><a href="#section-1">Section 1</a></small>
如果您想链接到该部分本身,请将href
值替换为#id1
或相关部分的id
。