脱机HTML模板

时间:2010-02-04 23:33:51

标签: html templates template-engine

我正在设计一个没有动态内容的简单网站,我希望它轻巧便携 - 不需要PHP或其他服务器端脚本。我遇到了一个我之前曾经遇到过几次的问题。

我希望能够编写一次公共元素(头部,脚部,导航)并在网站上仅使用内容编写各个页面,然后运行这个神秘的实用程序将其编译成一组准备好的HTML文件上传。页面可能写成这样:

Title: Our Services
Top Navigation: Yes
Scripts: jquery, lightbox

<p>
    Example, Inc. offers a wide range of…

如果引擎也有逻辑允许我从每个页面包含或排除元素(如上面的Top Navigation),并自动执行在导航栏中标记当前页面的任务,那就太棒了:

<a href="/services"{page == 'services' ? ' class="current"' : ""}>Services</a>

有没有像这样的引擎?

5 个答案:

答案 0 :(得分:4)

我直接向Template-Toolkit求助。它附带了ttree实用程序,用于构建静态站点。

您可以使用以下内容处理问题的最后部分:

[% 
    INCLUDE 'navbar.tt' 
    page = 'services'
%]

答案 1 :(得分:1)

老实说,这就是PHP之类的东西派上用场...... 包含共同元素

选项1:使用语言并享受它。

选项2:使用该语言制作网站...但随后在您的网站上指向抓取工具以获取生成的“静态”内容。例如WinHTTPTrack

答案 2 :(得分:1)

Webby非常棒。

另一个不错的选择是Jekyll

答案 3 :(得分:0)

如果非免费工具适合您,Adobe Dreamweaver的模板可以满足您的需求。

基本上,您创建了一个模板页面,您可以在其中定义哪些部分是可编辑的,然后根据模板创建所有页面。如果您更改模板并保存,则所有相关页面都是更新。

模板系统还可以定义默认属性并在特定页面中更改它们。您可以使用它来标记当前页面,但是对于这个IMHO,几行jquery代码要好得多。

答案 4 :(得分:-1)

您可以使用您熟悉的任何输出静态html文件的语言编写程序。你可以有一个基本的结构,然后对于自定义的东西,你可以从一个单独的文件中包含它。