是否有任何markdown fork允许你引用其他文件,比如包含文件?具体来说,我想创建一个单独的markdown文件,其中包含我经常调用但不总是调用的链接(调用此B.md),然后当我通过引用链接到我正在写入的md文件(A.md)时,我希望它从另一个文件(B.md)中拉出链接,而不是从当前文件(A.md)的末尾。
当前回答
vcode -markdown-preview-enhanced支持@import语法
https://github.com/shd101wyy/vscode-markdown-preview-enhanced
这可能意味着它是底层工具的一部分
https://github.com/shd101wyy/mume
以及其他基于mume的工具
https://github.com/gabyx/TechnicalMarkdown
下面是我如何在我的文档中使用它的一个例子,我用vcode -markdown-preview-enhanced处理:
[[Epigenetics]]
@import "epigenetics.md"
其他回答
恕我直言,你可以通过连接你的输入得到你的结果*。Md文件如下:
$ pandoc -s -o outputDoc.pdf inputDoc1.md inputDoc2.md outputDoc3.md
我知道这是一个老问题,但我还没有看到任何关于这个效果的答案:本质上,如果你使用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
阿西多克其实是类固醇的减价品。总的来说,Asciidoc和Markdown看起来非常相似,而且很容易切换。与markdown相比,Asciidoc的一个巨大好处是它已经支持include,用于其他Asciidoc文件,还支持任何您喜欢的格式。您甚至可以根据所包含文件中的行号或标记部分包含文件。
当你写文档时,包含其他文件真的是一个救星。
例如,你可以有一个包含以下内容的asciidoc文件:
// [source,perl]
// ----
// include::script.pl[]
// ----
并在script.pl中维护您的示例
我相信你会想,是的,Github也支持asciidoc。
您实际上可以使用Markdown预处理器(MarkdownPP)。运行其他答案中的假设图书示例,您将创建.mdpp文件来表示您的章节。然后.mdpp文件可以使用!INCLUDE "路径/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
别忘了看自述书。MarkdownPP存储库中的mdpp,用于展示适合大型文档项目的预处理器特性。
实际上,让我感到惊讶的是,这个页面上没有人提供任何HTML解决方案。据我所知,MarkDown文件可以包括大部分(如果不是全部)HTML标签。所以请遵循以下步骤:
从这里:把你的MarkDown文件放在<span style="display:block">…</span>标签,以确保它们将被呈现为markdown。你还有很多其他的样式属性可以添加。我喜欢的一个是text-align:justify。 从这里开始:使用<iframe src="/path/to/file将文件包含在主文件中。医学博士“无缝> < / iframe >
p.s. 1。这个解决方案并不适用于所有MarkDown引擎/渲染。例如,Typora确实正确地渲染了文件,但Visual Studio Code却没有。如果其他人能在其他平台上分享他们的经验,那就太好了。我特别想了解GitHub和GitLab…
P.S.2。在进一步的调查中,似乎有重大的不兼容问题导致在许多平台上不能正确地呈现,包括Typora, GitHub和Visual Studio代码。在我解决之前请不要用这个。我不会删除答案只是为了讨论,如果你可以分享你的意见。
P.S.3。为了进一步调查这个问题,我在StackOverflow和Reddit上提出了这个问题。
P.S.4。经过一番深入研究后,我得出的结论是,就目前而言,AsciiDoc是更好的文档选择。它带有内置的包含功能,由GitHub呈现,Atom和vscode等主要代码编辑器都有用于实时预览的扩展。可以使用Pandoc或其他工具自动将现有MarkDown代码转换为AsciiDoc,并进行微小的更改。
P.S.5。另一种具有内置包含功能的轻量级标记语言是reStructuredText。它附带…包括::inclusion.txt 标准语法。还有带有实时预览的文本编辑器。
推荐文章
- 在Markdown Jekyll中使用图像说明
- Slack Markdown链接没有解决
- 差异语法突出显示在Github Markdown
- 我如何创建一个文本框的笔记在markdown?
- 在Markdown中创建一个没有标题的表
- R -降价避免包装加载消息
- 在MarkDown中包含SVG(托管在GitHub上)
- 自动TOC在github风味markdown
- 使用pandoc从Markdown转换为PDF时设置空白大小
- 如何显示数学方程在一般github的markdown(不是github的博客)
- 使用Markdown的Sphinx而不是reST
- 降价和图像对齐
- 如何样式一个JSON块在Github维基?
- 标记“本机”文本对齐方式
- Markdown和包括多个文件