引用另一个文件夹中的 markdown 文件中的子部分

use*_*827 5 markdown jupyterbook

与 Markdown 相关:引用另一个文件中的部分

\n

我有两个 Markdown 文件:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 parent.md\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 content/\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 child.md\n
Run Code Online (Sandbox Code Playgroud)\n

parent.md

\n
# Main section\n## sub-section\n
Run Code Online (Sandbox Code Playgroud)\n

我想引用##sub-section来自child.md. 我怎么做?请注意,它child.md位于子文件夹中。

\n

请注意,我正在使用 Jupyter book 来处理 markdown。

\n

pyg*_*eek 4

前言

通常,Markdown 处理器会将 ID 应用于文档标题,以便可以创建超链接。

只需执行以下操作即可适用于大多数 Markdown 处理器:

[parent sub-section](parent.md#sub-section)
Run Code Online (Sandbox Code Playgroud)

这种方法的缺点是,当标题文本更改时,ID 也会更改,从而破坏锚链接。根据您选择的降价处理器,可能有一种特殊的方式将锚点显式硬编码到标题中。

Jupyter-book

由于您使用的处理器是 Jupyter book,因此您可以使用部分标签来交叉引用整个项目中的部分。

例子:

家长

降价输入:

(parent:sub-section)=
# sub-section
Run Code Online (Sandbox Code Playgroud)

Jupyterbook 构建输出:

<section id="sub-section">
<span id="parent-sub-section"></span><h2>Sub-section<a class="headerlink" href="#sub-section" title="Permalink to this headline">#</a></h2>
</section>
Run Code Online (Sandbox Code Playgroud)

孩子

降价输入:

[parent sub-section](parent:sub-section)
{ref}`parent:sub-section`
Run Code Online (Sandbox Code Playgroud)

Jupyterbook 构建输出:

<p><a class="reference internal" href="../parent.html#parent-sub-section"><span class="std std-ref">parent sub-section</span></a></p>
<p><a class="reference internal" href="../parent.html#parent-sub-section"><span class="std std-ref">Sub-section</span></a></p>
Run Code Online (Sandbox Code Playgroud)

注意:根据项目的大小,可能值得提前计划如何命名标签。

参考