2

我正在使用 StringTemplate 来生成 HTML,我希望能够合并STGroupFileSTGroupDir这样我就有一个组文件目录。这样,我可以在一个文件中包含多个模板,也可以组合来自多个文件的模板。似乎没有对此的支持,但我想我会看看是否可能忽略了某些东西。

如果您想知道我为什么要这样做,让我们看一下 StringTemplate 文档中的一个示例:

test(name) ::= "$name:bracket()$" // apply bracket template to each name
bracket(x) ::= "[$x$]"            // surround parameter with square brackets

假设以上都在一个文件(test.st)中并且我们正在使用STGroupDir,它将无法解析“bracket(x)”模板,除非它在一个单独的文件(bracket.st)中。在这种特殊情况下,括号就像一个本地助手,可用于清理主模板。在这种情况下,您可能不希望括号在 test.st 之外可见。

但是,如果您想创建一个简单的帮助模板库,您可能希望将它们全部放在一个文件中,并让其他文件中的模板可以访问它们中的每一个。

4

1 回答 1

0

免责声明:我StringTemplate在 C# 中使用

您需要使用.stg带有模板组的文件。StringTemplate组可以导入其他模板或模板组,您可以从文件或目录创建这些组。

于 2014-02-28T19:42:09.087 回答