可扩展的轻量级标记语言

时间:2011-12-07 09:38:14

标签: customization markup

Lightweight markup languages提供一组固定的功能。这个功能集正在增长,但每次我写一篇更复杂的文章时,我都要意识到缺少一些东西。示例包括:正确的图像标题,图表,文件包含,交叉引用等。所以我最终创建了一个工具链,使用Makefile和棘手的sed命令。

我通常希望在我的文本中插入ad-hoc标记并稍后处理它们。它们可以是单行的,也可以是更复杂的 - 这就是整个正则表达式方法失败的地方。这是一个虚构标记的片段。

I can generate an image from an external dot file [.myDot diag.dot The process],
and it will be included with a caption.
Or the dot source is right here [.myDotHere
  foo->bar->Done;
]

我正在寻找一种可以轻松扩展以满足我的临时需求的标记工具。到目前为止我找到的选项

所以我正在寻找的是

  • 设计时考虑到自定义和可扩展性的语言
  • 轻巧;请不要TeX / LaTeX
  • 不是处理我所有特定问题但不能扩展的东西
  • 我的输出通常只是html,因此它不必支持多个目标

2 个答案:

答案 0 :(得分:1)

我在创建Glyph时考虑了可扩展性。您可以使用Glyph本身或Ruby创建自己的宏。

Glyph旨在使发布更容易,同时为作者提供所有可能的控制,它可以管理书籍元数据,ToC,内部链接,片段等等。

有关其所有功能的文档,请查看使用Glyph本身创建的Glyph book

答案 1 :(得分:0)

您的“工具链”方法很好 - 您不会在IMO找到能够满足您特定需求的单个项目,最好遵循* nix理念并使用最好的工具来插入打开工具链的工作

如果宏包含是一个问题,请不要担心通过选择标记语法来解决这个问题 - 找到适合该特定作业的工具并在上游使用它。

根据所需输出的转换工具的可用性,标记的选择应该是IMO。 IMO Pandoc是迄今为止该领域最活跃的项目,非常灵活,特别是其脚本设施。请注意,它在GoogleGroups中也得到了很好的支持 - 约翰可能会直接和快速地回应您可能遇到的任何问题。

请注意,Pandoc的灵活性还意味着您的主源文本不会“锁定”,因为您可以轻松地将其扩展的markdown语法转换为reST,如果您想要利用Sphinx或DocBook的功能。 (BTW还查看了AsciiDoc,其中最新的Pandoc输出 - 显然读者也在使用中)

查看Pandoc的“额外”维基页面,我对ConTeXt过滤器脚本感到特别兴奋;我不确定它是否适合你,但它包括一些宏包含功能,IMO没有什么能给你更好的排版控制。