一起编辑多个 HTML/Markdown 页面的建议。有没有将多个页面编辑为 table 的工具?

Advice for editing multiple HTML/Markdown pages together. Any tools for editing multiple pages as a table?

背景:我不得不建立一堆类似的页面*,50 个或更多。他们共享很多设计和内容,因此我将 encapsulating/reusing 尽可能多地使用样式和内容。尽管如此,每个页面都有独特的元素并且可能有任意的设计元素,所以页面不能仅仅从数据库或资源文件中以编程方式制造。

可能有什么帮助:因为要跟踪的页面太多我想在大 table 中编辑它们而不是在长滚动文本中文件或单独的文件中。这将使比较和对比每个页面的代码变得容易。 table 看起来像这样:

| Group | Page name | Description | Formatting | Header | Body | Footer |
|-------|-----------|-------------|------------|--------|------|--------|
| 1     | Page1     |text         |code        |code    | code | code   |
| 1     | Page2     |text         |code        |code    | code | code   |
| 2     | Page3     |text         |code        |code    | code | code   |

此示例中的前三个字段供我自己使用,或者可能作为元数据进入页面,而其余字段显示 'real' 代码的位置。

问题

我考虑过的工具:

*这个项目的'pages'实际上是Anki卡片类型。

嵌套文件

我之前所做的是将每个页面或页面元素构建为一个不同的文件,然后从另一个页面引用该文件。这最终会出现在嵌套文件中,但它使在普通文本编辑器中编辑页面变得更加容易。

________________________________________________________________________________
| Header file                                                                   |
|   Scripts file (or reference)                                                 |
| Body file                                                                     |
|   Navigation file    | Content file                                           |
|                      |   More Content file (reference from Content file)      |
| Footer file                                                                   |
________________________________________________________________________________

如果需要,这可以嵌套得很深,但不是必须的。你可以从数据库中提取这些引用,而不是像往常一样在你的网站上将它们硬编码为逻辑,但我不确定这对 Anki 卡片有何影响。

内容管理系统

如果您真的 need/want 将您的页面作为 code/text 存储在数据库中,我建议您为自己构建一个内容管理系统 (CMS)。这涉及大量的前期工作,但它可以让您完成所有您想做的工作并将其存储在数据库中。

我已经为我自己和我的网站客户写了一些,大多数时候这是一个漫长而艰难的过程。你必须从字面上考虑你想做的一切。本质上,您正在重新创建 FrontPage 或 DreamWeaver,不幸的是,您可能会像他们所做的那样糟糕。也许更糟。至少我做到了。

如果您不在此 CMS 中以图形方式进行任何操作,开发起来会更容易,但您仍然需要手动管理您的链接,有点像 StackExchange/Whosebug 的工作方式:文本框对于上面带有一行基本“高级”功能按钮的代码,具有一半 HTML 和一半 MarkDown 语法,由于不经常使用它们很容易混淆或丢失功能。

网站建设者

如果您还没有使用像 Anki 卡片这样具体的东西,我建议您使用 WordPress 或 Drupal 之类的东西。这基本上就是他们所做的:将页面存储为数据库中的行。当然,许多页面是使用 GUI 构建的,但有些人以编程方式构建页面。

如果您像我一样,宁愿坚持手工编写所有代码。 Wordpress 存在安全问题,我很确定 Drupal 和所有其他人也存在安全问题。人们为他们制作的插件似乎很少关心安全性,因此使用这些工具构建的网站通常容易受到攻击,除非您将网站托管在他们的服务器上,这通常也不是首选。此外,当插件更新比实际开发更多时,您最终会管理插件,或者我从专业从事此工作的人那里听说过。您也许可以在那里编写页面,然后深入数据库以复制结果,但这似乎也是一种不太理想的做事方式。

结论

因此,构建自己的解决方案似乎是您缺乏选择的最佳选择。但是,通过构建 CMS,您可以立即呈现代码,例如 SE/SO,如果需要,还可以在同一 window 中进行并排比较。您可以随心所欲地使其变得简单或复杂,并在需要时添加或删除功能。

同样,这可能并不容易,但它更有可能是您 want/need 而不是其他人想象的对一般人有帮助的东西。如果你让这个 CMS 足够有用,你甚至可以将它推销给其他使用 Anki 卡片的人。不过只是一个想法。