Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Markdown 标记并包含多个文件_Markdown - Fatal编程技术网

Markdown 标记并包含多个文件

Markdown 标记并包含多个文件,markdown,Markdown,是否存在允许您引用其他文件(如includes文件)的标记叉?具体来说,我想创建一个单独的标记文件,其中包含我经常调用但不总是调用的链接(称为B.md),然后当我在编写的md文件(a.md)中引用链接时,我希望它从另一个文件(B.md)而不是从当前文件(a.md)的末尾提取链接 简短的答案是否定的。长的答案是肯定的。:-) Markdown被设计为允许人们编写简单、可读的文本,这些文本可以轻松地转换为简单的HTML标记。它实际上不做文档布局。例如,没有真正的方法将图像向右或向左对齐。至于你的问题

是否存在允许您引用其他文件(如includes文件)的标记叉?具体来说,我想创建一个单独的标记文件,其中包含我经常调用但不总是调用的链接(称为B.md),然后当我在编写的md文件(a.md)中引用链接时,我希望它从另一个文件(B.md)而不是从当前文件(a.md)的末尾提取链接

简短的答案是否定的。长的答案是肯定的。:-)

Markdown被设计为允许人们编写简单、可读的文本,这些文本可以轻松地转换为简单的HTML标记。它实际上不做文档布局。例如,没有真正的方法将图像向右或向左对齐。至于你的问题,就我所知,在任何版本的markdown中都没有包含从一个文件到另一个文件的单个链接的markdown命令

最接近此功能的是。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
您可以通过在同一目录中执行以下命令来合并它们:

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>我只想提到,在将它们输入到 MARDWORKPY 之前,可以使用<代码> CAT/COD>命令来连接输入文件,这与输入多个输入文件的<代码> BANDOC < /代码>有相同的效果。
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

事实上,我很惊讶这一页中没有人