我正在设计一个没有动态内容的简单网站,我希望它轻巧便携 - 不需要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>
有没有像这样的引擎?
答案 0 :(得分:4)
我直接向Template-Toolkit求助。它附带了ttree实用程序,用于构建静态站点。
您可以使用以下内容处理问题的最后部分:
[%
INCLUDE 'navbar.tt'
page = 'services'
%]
答案 1 :(得分:1)
老实说,这就是PHP之类的东西派上用场...... 包含共同元素
选项1:使用语言并享受它。
选项2:使用该语言制作网站...但随后在您的网站上指向抓取工具以获取生成的“静态”内容。例如WinHTTPTrack
答案 2 :(得分:1)
答案 3 :(得分:0)
如果非免费工具适合您,Adobe Dreamweaver的模板可以满足您的需求。
基本上,您创建了一个模板页面,您可以在其中定义哪些部分是可编辑的,然后根据模板创建所有页面。如果您更改模板并保存,则所有相关页面都是更新。
模板系统还可以定义默认属性并在特定页面中更改它们。您可以使用它来标记当前页面,但是对于这个IMHO,几行jquery代码要好得多。
答案 4 :(得分:-1)
您可以使用您熟悉的任何输出静态html文件的语言编写程序。你可以有一个基本的结构,然后对于自定义的东西,你可以从一个单独的文件中包含它。