Markdown 标记并包含多个文件
是否存在允许您引用其他文件(如includes文件)的标记叉?具体来说,我想创建一个单独的标记文件,其中包含我经常调用但不总是调用的链接(称为B.md),然后当我在编写的md文件(a.md)中引用链接时,我希望它从另一个文件(B.md)而不是从当前文件(a.md)的末尾提取链接 简短的答案是否定的。长的答案是肯定的。:-) Markdown被设计为允许人们编写简单、可读的文本,这些文本可以轻松地转换为简单的HTML标记。它实际上不做文档布局。例如,没有真正的方法将图像向右或向左对齐。至于你的问题,就我所知,在任何版本的markdown中都没有包含从一个文件到另一个文件的单个链接的markdown命令 最接近此功能的是。Pandoc允许您将文件合并为转换的一部分,这允许您轻松地将多个文件渲染为单个输出。例如,如果您正在创建一本书,那么您可以有如下章节:Markdown 标记并包含多个文件,markdown,Markdown,是否存在允许您引用其他文件(如includes文件)的标记叉?具体来说,我想创建一个单独的标记文件,其中包含我经常调用但不总是调用的链接(称为B.md),然后当我在编写的md文件(a.md)中引用链接时,我希望它从另一个文件(B.md)而不是从当前文件(a.md)的末尾提取链接 简短的答案是否定的。长的答案是肯定的。:-) Markdown被设计为允许人们编写简单、可读的文本,这些文本可以轻松地转换为简单的HTML标记。它实际上不做文档布局。例如,没有真正的方法将图像向右或向左对齐。至于你的问题
01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
06_links.md
I always wanted to write a book with [markdown][mkdnlink].
Let's start digging into [the best text-based syntax][mkdnlink] available.
---
header-includes:
- \usepackage{pdfpages}
output: pdf_document
---
\includepdf{/path/to/pdf/document.pdf}
# Section
Blah blah
## Section
Blah blah
\section{Section}
Profundity.
\subsection{Section}
Razor's edge.
\section{Section
Glah
\subsection{Section}
Balh Balh
您可以通过在同一目录中执行以下命令来合并它们:
pandoc *.md > markdown_book.html
由于pandoc将在进行翻译之前合并所有文件,因此您可以在最后一个文件中包含链接,如下所示:
01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
06_links.md
I always wanted to write a book with [markdown][mkdnlink].
Let's start digging into [the best text-based syntax][mkdnlink] available.
---
header-includes:
- \usepackage{pdfpages}
output: pdf_document
---
\includepdf{/path/to/pdf/document.pdf}
# Section
Blah blah
## Section
Blah blah
\section{Section}
Profundity.
\subsection{Section}
Razor's edge.
\section{Section
Glah
\subsection{Section}
Balh Balh
因此,您的01_preference.md
的一部分可能如下所示:
01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
06_links.md
I always wanted to write a book with [markdown][mkdnlink].
Let's start digging into [the best text-based syntax][mkdnlink] available.
---
header-includes:
- \usepackage{pdfpages}
output: pdf_document
---
\includepdf{/path/to/pdf/document.pdf}
# Section
Blah blah
## Section
Blah blah
\section{Section}
Profundity.
\subsection{Section}
Razor's edge.
\section{Section
Glah
\subsection{Section}
Balh Balh
您的02_introduction.md
的一部分可能如下所示:
01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
01_preface.md
02_introduction.md
03_why_markdown_is_useful.md
04_limitations_of_markdown.md
05_conclusions.md
06_links.md
I always wanted to write a book with [markdown][mkdnlink].
Let's start digging into [the best text-based syntax][mkdnlink] available.
---
header-includes:
- \usepackage{pdfpages}
output: pdf_document
---
\includepdf{/path/to/pdf/document.pdf}
# Section
Blah blah
## Section
Blah blah
\section{Section}
Profundity.
\subsection{Section}
Razor's edge.
\section{Section
Glah
\subsection{Section}
Balh Balh
只要最后一个文件包含以下行:
[mkdnlink]: http://daringfireball.net/projects/markdown
…以前使用的同一命令将执行合并和转换,同时在整个过程中包含该链接。只需确保在该文件的开头留下一两行空白即可。表示它在以这种方式合并的文件之间添加了一个空行,但是,如果没有空白行,这对我来说是行不通的。 < P>我只想提到,在将它们输入到
cat *.md | markdown_py > youroutputname.html
对于my Mac上的Python版本Markdown,其工作原理与上面的pandoc示例基本相同。您实际上可以使用Markdown预处理器()。使用其他答案中假设的图书示例,您将创建表示您的章节的
.mdpp
文件。然后,.mdpp
文件可以使用!包括“path/to/file.mdpp”
指令,该指令以递归方式操作,将指令替换为最终输出中引用文件的内容
chapters/preface.mdpp
chapters/introduction.mdpp
chapters/why_markdown_is_useful.mdpp
chapters/limitations_of_markdown.mdpp
chapters/conclusions.mdpp
然后需要一个包含以下内容的索引.mdpp
:
!INCLUDE "chapters/preface.mdpp"
!INCLUDE "chapters/introduction.mdpp"
!INCLUDE "chapters/why_markdown_is_useful.mdpp"
!INCLUDE "chapters/limitations_of_markdown.mdpp"
!INCLUDE "chapters/conclusions.mdpp"
要呈现书本,只需在index.mdpp
上运行预处理器:
$ markdown-pp.py index.mdpp mybook.md
不要忘记查看存储库中的,以了解适用于大型文档项目的预处理器功能的详细说明。最近我在节点中编写了类似的内容,名为,它允许您使用C风格语法包含标记文件,如下所示:
#include "my-file.md"
我相信这与你提出的问题很吻合。我知道这是一个旧的,但我想至少更新它
您可以将其包含在任何您想要的降价文件中。该文件还可以包含更多内容,标记包含将生成一个内部链接,并为您完成所有工作
您可以通过npm
npm install -g markdown-include
我在Mac OS X上使用Marked 2。它支持以下语法来包含其他文件
<<[chapters/chapter1.md]
<<[chapters/chapter2.md]
<<[chapters/chapter3.md]
<<[chapters/chapter4.md]
事实上,您可以使用\input{filename}
和\include{filename}
这两个命令,
直接在Pandoc
中,因为它几乎支持所有html
和latex
语法
但是请注意,包含的文件将被视为latex
文件。但是您可以使用Pandox
轻松地将markdown
编译为latex
。我的解决方案是使用m4。它在大多数平台上都受支持,并包含在binutils包中
首先在文件中包含一个宏changequote()
,以将引号字符更改为您喜欢的字符(默认值为`)。处理文件时,宏将被删除
changequote(`{{', `}}')
include({{other_file}})
在命令行上:
m4 -I./dir_containing_other_file/ input.md > _tmp.md
pandoc -o output.html _tmp.md
我认为我们最好采用新的文件包含语法(这样就不会弄乱
代码块,我认为C风格的包含是完全错误的),我用Perl编写了一个小工具,命名,
因为它像猫一样工作(cata.txt b.txt c.txt
将合并三个
文件),但它合并深度的文件,而不是宽度的文件。如何使用
$ perl cat.pl <your file>
更多示例请访问
我还编写了一个Java版本,具有相同的效果(不一样,但很接近)。我使用了一个includes.txt
文件,所有文件都按正确的顺序排列
我执行pandoc的过程如下:
pandoc-s$(cat includes.txt)--quiet-f markdown-t html5--css pandoc.css-o index.html
工作起来很有魅力 实际上是对类固醇的降价。总的来说,AsciDoc和Markdown看起来非常相似,而且很容易切换。与降价相比,ascidoc的一个巨大好处是,它既支持include,也支持其他ascidoc文件以及您喜欢的任何格式。您甚至可以在包含的文件中部分包含基于行号或标记的文件
当你写文档时,包含其他文件真的是一个救命稻草
例如,您可以拥有包含以下内容的asciidoc文件:
// [source,perl]
// ----
// include::script.pl[]
// ----
并在script.pl
我相信你会想,是的,Github也支持asciidoc。本机就支持它。它称之为:
这就是一切。奇怪的名称,但勾选所有框。IMHO,您可以通过连接输入*.md文件获得结果,如:
$ pandoc -s -o outputDoc.pdf inputDoc1.md inputDoc2.md outputDoc3.md
事实上,我很惊讶这一页中没有人