对一个 AsciiDoc 文档使用多个文件有什么好处?
What are the advantages of using multiple files for an AsciiDoc document?
我们正在考虑使用 Asciidoc 创建用户指南,我们打算只在 github 上对单个文件进行版本控制。
然而,我们看到像 ProGit (https://github.com/progit/progit2/tree/master/book) 这样的已建立项目虽然也生成单个文档,但将 Asciidoc 拆分为多个文件。
将一个逻辑文档拆分成多个文件有什么好处?
我认为使用多个文档的最大优势在于组织和精神上。假设您有每个部分的文档,如果它在自己的文档中,则查找和修复或添加到一个部分要容易得多。当您打开较小的文档时,与打开较大的文档相比,它也更容易在精神上消耗和思考。如果您打开一个文档并且滚动条开始变得越来越小,您就会开始考虑需要多长时间才能找到您需要更改的内容、是否值得进行更改以及加载需要多长时间。当然这些都是主观的,也许有些人没有这个问题。
使用多个文档的另一个很好的理由是,如果在将来的某个时候您决定拆分每个部分/章节,那么从多个文档开始并将它们包含在一个大文档中比尝试将其切碎更容易之后。
除了组织问题之外,如果您有多个人在处理一个文档,那么在一个较小的文档中查看更改比在一个大文档中更容易。
当您与多个作者或一本非常大的书一起工作并将内容存储在像 GitHub 这样的版本控制系统中时,这非常棒。然后作者可以拥有和编辑内容,而不必将他们的更改合并到一个巨大的文档中。
多个文档有时可以代替内容标记。例如,如果有各种内容可能会或可能不会进入最终文档的发布版本,那么注释掉引用未完成章节的行(在章节的书籍文件中)比尝试和尝试更容易标记特定的内容并编写一个输出脚本来过滤它。
如果您是单身作家并且不会重复使用这些内容,您可能会发现将所有内容放在一个地方会更容易。
同样的问题也适用于任何其他编程系统。
一个大文件的优点:
- 搜索已知术语更容易。例如。
/# header
在 Vim
- 文本的顺序是隐含的,没有 ID。对于较小的文件,您要么需要某个文件中的 TOC,要么将每个文件编号为
01_
,等等。
小文件的优点:
- 浏览版块更容易。例如:
ls
或查看手工制作的目录。可以通过自定义编辑器大纲功能来克服。
- 仅重新编译更改的文件。例如:
a.c -> a.o -> a.exe
。只有链接器部分必须每次都发生,但这样更便宜。
- 文件加载时间更短
- 如果您想在某个部分中查找某些内容,只需按 Ctrl + F 并键入,它不会将您带出该文件。在一个大文件中,它可能会,并且需要一些努力/工具来判断您是否离开了该部分。
- 一旦知道名称,就可以更轻松地跳转到给定的部分。例如,在 Vim 中,您可以
:b something
和 Tab 键自动完成文件名。如果该部分只是一个大文件中的 header,则不能这样做。
我们正在考虑使用 Asciidoc 创建用户指南,我们打算只在 github 上对单个文件进行版本控制。
然而,我们看到像 ProGit (https://github.com/progit/progit2/tree/master/book) 这样的已建立项目虽然也生成单个文档,但将 Asciidoc 拆分为多个文件。
将一个逻辑文档拆分成多个文件有什么好处?
我认为使用多个文档的最大优势在于组织和精神上。假设您有每个部分的文档,如果它在自己的文档中,则查找和修复或添加到一个部分要容易得多。当您打开较小的文档时,与打开较大的文档相比,它也更容易在精神上消耗和思考。如果您打开一个文档并且滚动条开始变得越来越小,您就会开始考虑需要多长时间才能找到您需要更改的内容、是否值得进行更改以及加载需要多长时间。当然这些都是主观的,也许有些人没有这个问题。
使用多个文档的另一个很好的理由是,如果在将来的某个时候您决定拆分每个部分/章节,那么从多个文档开始并将它们包含在一个大文档中比尝试将其切碎更容易之后。
除了组织问题之外,如果您有多个人在处理一个文档,那么在一个较小的文档中查看更改比在一个大文档中更容易。
当您与多个作者或一本非常大的书一起工作并将内容存储在像 GitHub 这样的版本控制系统中时,这非常棒。然后作者可以拥有和编辑内容,而不必将他们的更改合并到一个巨大的文档中。
多个文档有时可以代替内容标记。例如,如果有各种内容可能会或可能不会进入最终文档的发布版本,那么注释掉引用未完成章节的行(在章节的书籍文件中)比尝试和尝试更容易标记特定的内容并编写一个输出脚本来过滤它。
如果您是单身作家并且不会重复使用这些内容,您可能会发现将所有内容放在一个地方会更容易。
同样的问题也适用于任何其他编程系统。
一个大文件的优点:
- 搜索已知术语更容易。例如。
/# header
在 Vim - 文本的顺序是隐含的,没有 ID。对于较小的文件,您要么需要某个文件中的 TOC,要么将每个文件编号为
01_
,等等。
小文件的优点:
- 浏览版块更容易。例如:
ls
或查看手工制作的目录。可以通过自定义编辑器大纲功能来克服。 - 仅重新编译更改的文件。例如:
a.c -> a.o -> a.exe
。只有链接器部分必须每次都发生,但这样更便宜。 - 文件加载时间更短
- 如果您想在某个部分中查找某些内容,只需按 Ctrl + F 并键入,它不会将您带出该文件。在一个大文件中,它可能会,并且需要一些努力/工具来判断您是否离开了该部分。
- 一旦知道名称,就可以更轻松地跳转到给定的部分。例如,在 Vim 中,您可以
:b something
和 Tab 键自动完成文件名。如果该部分只是一个大文件中的 header,则不能这样做。