大佬教程收集整理的这篇文章主要介绍了perl – 如何处理Template Toolkit中的模板依赖项?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
[% INCLUDE top %] [% IMPORT middle %]
然后top可能包含更多文件.
我有很多这些文件,他们必须运行以创建各种语言的网页(英语,法语等,而不是计算机语言).这是一个非常复杂的过程,当一个文件被更新时,我希望能够使用makefile或类似的东西自动重新制作必要的文件.
有没有像makedepend
这样的C文件工具可以解析模板工具包模板并创建一个依赖列表供makefile使用?
或者有更好的方法来自动化这个过程吗?
Template Toolkit
确实带有自己的命令行脚本,名为
ttree
,用于构建TT网站ala make.
这是我在Mac上的TT网站项目中经常使用的ttree.cfg文件:
# directories src = ./src lib = ./lib lib = ./content dest = ./html # pre process these site file pre_process = site.tt # copy these files copy = \.(png|gif|jpg)$ # ignore following ignore = \b(CVS|RCS)\b ignore = ^# ignore = ^\.DS_Store$ ignore = ^._ # other options verbose recurse
只运行ttree -f ttree.cfg将在dest中重建站点,只更新在源(在src中)或在我的库(在lib中)中更改的内容.
对于更精细的依赖项,请查看Template Dependencies
.
更新 – 这是我通过子类化Template::Provider
来获取依赖列表:
{ package MyProvider; use base 'Template::Provider'; # see _dump_cache in Template::Provider sub _dump_deps { my $self = shift; if (my $node = $self->{ HEAD }) { while ($nodE) { my ($prev,$name,$data,$load,$next) = @$node; say {*STDERR} "$name called from " . $data->{Caller} if exists $data->{Caller}; $node = $node->[ 4 ]; } } } } use Template; my $provider = MyProvider->new; my $tt = Template->new({ LOAD_TEMPLATES => $provider,}); $tt->process( 'root.tt',{} ) or die $tt->error; $provider->_dump_deps;
上面的代码显示了所有被调用的依赖项(通过INCLUDE,INSERT,PROCESS和WRAPPER)以及从整个root.tt树中调用的位置.因此,您可以构建一个ttree依赖文件.
/ I3az /
以上是大佬教程为你收集整理的perl – 如何处理Template Toolkit中的模板依赖项?全部内容,希望文章能够帮你解决perl – 如何处理Template Toolkit中的模板依赖项?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。