是否有任何markdown fork允许你引用其他文件,比如包含文件?具体来说,我想创建一个单独的markdown文件,其中包含我经常调用但不总是调用的链接(调用此B.md),然后当我通过引用链接到我正在写入的md文件(A.md)时,我希望它从另一个文件(B.md)中拉出链接,而不是从当前文件(A.md)的末尾。


当前回答

我在Mac OS x上使用标记2,它支持以下语法来包含其他文件。

<<[chapters/chapter1.md]
<<[chapters/chapter2.md]
<<[chapters/chapter3.md]
<<[chapters/chapter4.md]

遗憾的是,您不能将其提供给pandoc,因为它不理解语法。但是,编写一个脚本来剥离语法来构造一个pandoc命令行是非常容易的。

其他回答

就在最近,我在Node中写了一些类似的东西,叫做markdown-include,它允许你用C风格的语法包含markdown文件,像这样:

#include "my-file.md"

我相信这和你问的问题很吻合。我知道这是一个旧的,但我至少想更新它。

您可以将此包含在任何您希望的标记文件中。该文件还可以有更多的include, markdown-include将创建一个内部链接,并为您完成所有工作。

你可以通过npm下载它

npm install -g markdown-include

阿西多克其实是类固醇的减价品。总的来说,Asciidoc和Markdown看起来非常相似,而且很容易切换。与markdown相比,Asciidoc的一个巨大好处是它已经支持include,用于其他Asciidoc文件,还支持任何您喜欢的格式。您甚至可以根据所包含文件中的行号或标记部分包含文件。

当你写文档时,包含其他文件真的是一个救星。

例如,你可以有一个包含以下内容的asciidoc文件:

// [source,perl]
// ----
// include::script.pl[]
// ----

并在script.pl中维护您的示例

我相信你会想,是的,Github也支持asciidoc。

我知道这是一个老问题,但我还没有看到任何关于这个效果的答案:本质上,如果你使用markdown和pandoc将你的文件转换为pdf,在页面顶部的yaml数据中,你可以包括这样的东西:

---
header-includes:
- \usepackage{pdfpages}
output: pdf_document
---

\includepdf{/path/to/pdf/document.pdf}

# Section

Blah blah

## Section 

Blah blah

由于pandoc使用latex来转换所有文档,因此包含头的部分调用pdfpages包。然后,当你包含\includepdf{/path/to/pdf/document.pdf}时,它将插入该文档中包含的内容。此外,您还可以通过这种方式包含多个pdf文件。

作为一个有趣的奖励,这只是因为我经常使用markdown,如果您想包括markdown以外的文件,例如latex文件。我稍微修改了一下这个答案。假设你有一个markdown1.md文件:

---
title: Something meaning full
author: Talking head
---

还有两个额外的乳胶文件document1,看起来像这样:

\section{Section}

Profundity.

\subsection{Section}

Razor's edge.

另一个document2.tex,看起来像这样:

\section{Section

Glah

\subsection{Section}

Balh Balh

假设您想将document1.tex和document2.tex包含到markdown1中。Md,你只要这样做,就可以降低1。Md

---
title: Something meaning full
author: Talking head
---

\input{/path/to/document1}
\input{/path/to/document2}

用pandoc检查一下。

在终端pandoc markdown1。Md -o markdown1.pdf

你的最终文档看起来是这样的:

有意义的事

的头部特写

部分

深刻。

部分

剃刀边缘。

部分

Glah

部分

Balh Balh

我只想提一下,在将输入文件输送到markdown_py之前,可以使用cat命令连接输入文件,这与pandoc处理多个输入文件的效果相同。

cat *.md | markdown_py > youroutputname.html

在我的Mac上,Python版本的Markdown与上面的pandoc示例几乎相同。

我在Mac OS x上使用标记2,它支持以下语法来包含其他文件。

<<[chapters/chapter1.md]
<<[chapters/chapter2.md]
<<[chapters/chapter3.md]
<<[chapters/chapter4.md]

遗憾的是,您不能将其提供给pandoc,因为它不理解语法。但是,编写一个脚本来剥离语法来构造一个pandoc命令行是非常容易的。