如何将 Markdown 文件拆分为标题处的单独文件

问题描述 投票:0回答:3

我有一本 Markdown 格式的书。我想将其分成章节标题中的单独文件。我该怎么做?

markdown
3个回答
7
投票

有一本 Markdown 格式的书。我想将其分成章节标题中的单独文件。我该怎么做?

如果您使用Pandoc,您可以将 Markdown 文件转换为 EPUB,解压 EPUB 文件并将 HTML 文件转换为 Markdown。 这不是完美的解决方案,但您可以使用几行 bash 脚本来完成它,例如

pandoc -f markdown -t epub -o my-book.epub my-book.md
unzip my-book.epub
for chapter in *.html
do
pandoc -f html -t markdown -o ${chapter/html/md} ${chapter}
done

您需要修复 HTML 文件的路径。

如果你想编写一些东西并且你有一些经验,那么编写一个Python/...脚本来分割文件应该不难。


3
投票

我偶然发现了一个简单的解决方案。归功于 Christian Tietze 和媒体沟通!

`gcsplit --prefix='novelname' --suffix-format='%03d.md'  novel-file.md /##/ "{*}"`

https://christiantietze.de/posts/2019/12/markdown-split-by-chapter/

其他选项:

https://github.com/marceljs/markdown-split

https://github.com/accraze/split-md


2
投票

我需要确切的功能,并且对其他答案中提供的解决方案不满意,主要是因为标题标签在代码块中没有得到尊重,这导致我的文档出现问题。

所以我继续编写了一个名为 mdsplit 的小型 python 工具来完成这项工作。 通过 pip (

pip install mdsplit
) 安装它,然后运行它到例如按 2 级标题拆分:

mdsplit input.md --max-level 2

后来我发现已经有一个基于 C++ 的工具,名为 mdsplit ,它的功能也差不多:

mdsplit -i input.md -l 2
© www.soinside.com 2019 - 2024. All rights reserved.