很高兴听到 Enlive。几年来我一直在思考这个概念,并在 PHP 中编写了一些共享一些原则的东西:模板是纯 HTML,您可以通过使用 CSS 或 XPath 将内容寻址到文档中的特定节点来“填充”它们。
$t = new Template('yourfile.html');
$t->fill('#nav',$someMarkup);
$t->fill('#header',$otherMarkup);
我还尝试将一些规定放在一起,将内容分成某种“样式表”……好吧,“样式表”是错误的词。我称它们为内容寻址表(该项目称为 CAST,用于内容寻址样式模板)。CAS 看起来像您可能期望的那样:
.col #foot {
content: 'foot';
}
#content {
content: file_get_contents('pangolin.txt');
}
内容的值假定为 PHP 表达式。也有一些设置适用于选择器的 PHP 的规定。
运行cssfill.php
tarball 中的脚本(最好的调用可能是./cssfill.php pangolin.cas pangolin.html
,您可能必须在 cssfill.php 中更改 php 解释器的路径),查看输出,与输入文件进行比较。
如果这篇文章激起了你对这个想法的热情,请随时告诉我。我一直在想这是否是一个疯狂的想法,或者它是否有一个地方,如果有的话,我很乐意将它变成一个经过深思熟虑的开源项目,而不是一个随机扔到互联网上的 tarball。