【问题标题】:Extensible lightweight markup language可扩展的轻量级标记语言
【发布时间】:2012-01-14 20:03:37
【问题描述】:

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

我通常想在我的文本中插入临时标记并稍后处理它们。它们可以是单行的,或者更复杂——这就是整个正则表达式方法失败的地方。这是一个虚构标记的 sn-p。

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,所以它不必支持很多目标

【问题讨论】:

    标签: customization markup


    【解决方案1】:

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

    Glyph 旨在使出版更容易,同时将所有可能的控制权交给作者,它可以管理书籍元数据、ToC、内部链接、sn-ps 等。

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

    【讨论】:

    • 听起来很有趣:)
    【解决方案2】:

    您的“工具链”方法是一个很好的方法 - 您不会在 IMO 找到一个可以满足您的特定需求的项目,最好遵循 *nix 理念并使用插入您的开放工具链的最佳工具来完成工作.

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

    标记的选择应该是 IMO 基于转换工具对您所需输出的可用性。 IMO Pandoc 是该领域迄今为止开发最活跃的项目,并且非常灵活,尤其是其脚本工具。请注意,它在 GoogleGroups 中也得到了很好的支持 - John 可能会直接快速地回复您可能遇到的任何问题。

    请注意,Pandoc 的灵活性也意味着您的主源文本不会被“锁定”,因为您可以轻松地将其扩展的 markdown 语法转换为 reST,例如,如果您想利用 Sphinx 或 DocBook 的功能。 (顺便说一句,还可以查看最新 Pandoc 输出的 AsciiDoc - 显然还有一个阅读器也在工作中)

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

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 2010-11-16
      • 2016-05-15
      • 2011-06-29
      • 1970-01-01
      • 2010-10-14
      • 2011-05-17
      • 2017-03-01
      相关资源
      最近更新 更多