一起编辑多个 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' 代码的位置。
问题:
以表格形式编辑页面代码的想法是否正确?是否有更好的方法来一起设置一组相似的页面?
如果表格编辑确实有意义,我应该使用什么工具?
我考虑过的工具:
Text/code 编辑器:好的,这并不奇怪,但我还没有找到任何代码编辑器可以让您将文件显示和编辑为可能由特殊标签定义的行和列.有这样的东西吗?
电子表格和结构化数据库:非常适合基本的行和列,但对于文本编辑来说很糟糕,多行行的显示很糟糕。
一个专门的 "structured text" 数据库:也许存在,但我的搜索是空的。大多数 'text databases' 用于 unstructured/freeform 文本。
"Table editors":错误的想法,对吗?它们用于为 table 结构生成代码,然后您可以在页面上显示这些代码,或者在数据库表单或报告中使用这些代码。
文字处理器。现在,我将在 Microsoft Word 中使用 table,将 HTML 视为普通文本。将页面宽度设置为 Word 的最大值 (22") 并且字体非常小,我需要的列有足够的空间。我失去了代码编辑器提供的所有帮助,这是一个很大的损失,但至少我可以看到什么我在做。Word 有一个键盘命令,可让您在 table 中上下移动一行或多行作为一个块,因此有助于比较页面。但另一个主要缺点是我仍然必须使用 Word VBA 'macro,' 将 table 导出到 CSV,然后编写一个小脚本来遍历 CSV 以创建实际页面。我还没有编写那些转换例程的代码,所以如果您有任何替代建议,请提出。
*这个项目的'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 卡片的人。不过只是一个想法。
背景:我不得不建立一堆类似的页面*,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' 代码的位置。
问题:
以表格形式编辑页面代码的想法是否正确?是否有更好的方法来一起设置一组相似的页面?
如果表格编辑确实有意义,我应该使用什么工具?
我考虑过的工具:
Text/code 编辑器:好的,这并不奇怪,但我还没有找到任何代码编辑器可以让您将文件显示和编辑为可能由特殊标签定义的行和列.有这样的东西吗?
电子表格和结构化数据库:非常适合基本的行和列,但对于文本编辑来说很糟糕,多行行的显示很糟糕。
一个专门的 "structured text" 数据库:也许存在,但我的搜索是空的。大多数 'text databases' 用于 unstructured/freeform 文本。
"Table editors":错误的想法,对吗?它们用于为 table 结构生成代码,然后您可以在页面上显示这些代码,或者在数据库表单或报告中使用这些代码。
文字处理器。现在,我将在 Microsoft Word 中使用 table,将 HTML 视为普通文本。将页面宽度设置为 Word 的最大值 (22") 并且字体非常小,我需要的列有足够的空间。我失去了代码编辑器提供的所有帮助,这是一个很大的损失,但至少我可以看到什么我在做。Word 有一个键盘命令,可让您在 table 中上下移动一行或多行作为一个块,因此有助于比较页面。但另一个主要缺点是我仍然必须使用 Word VBA 'macro,' 将 table 导出到 CSV,然后编写一个小脚本来遍历 CSV 以创建实际页面。我还没有编写那些转换例程的代码,所以如果您有任何替代建议,请提出。
*这个项目的'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 卡片的人。不过只是一个想法。