Windows脱机HTML模板处理器

Windows脱机HTML模板处理器,html,templates,Html,Templates,我正在教我的朋友如何制作网站。我想让网站保持静态,这样他就不必[还]学习PHP,不必担心在Windows机器上的测试,不必担心服务器配置、安全性等。糟糕的是,如果没有一些工具支持,他将不得不重复大量代码,例如,每个页面上的菜单块几乎相同。有没有一个简单的工具可以帮助他 我想要一些在Windows上运行而不需要太多工作的东西,例如,不需要Perl、Cygwin、IIS、PHP等等。(一个简单的GUI工具或一个文本编辑器,对它有一些特殊的支持就好了。)我想要一个不需要保留单独的“源”和“构建”文件版

我正在教我的朋友如何制作网站。我想让网站保持静态,这样他就不必[还]学习PHP,不必担心在Windows机器上的测试,不必担心服务器配置、安全性等。糟糕的是,如果没有一些工具支持,他将不得不重复大量代码,例如,每个页面上的菜单块几乎相同。有没有一个简单的工具可以帮助他

我想要一些在Windows上运行而不需要太多工作的东西,例如,不需要Perl、Cygwin、IIS、PHP等等。(一个简单的GUI工具或一个文本编辑器,对它有一些特殊的支持就好了。)我想要一个不需要保留单独的“源”和“构建”文件版本的东西,即带有一些特殊标记的源文件和带有常规HTML的构建文件。(我讨厌在每次代码更改后重新制作整件东西。)我想要一些自由和简单的东西

有这样的事吗


更新:我梦见了这样的东西:

$ cat page.html
<h1>A page</h1>
<!-- insert menu -->
<!-- menu ends -->
$ cat menu.tmpl
<ul id="#menu">…</ul>
$ update-templates page.html && cat page.html
<h1>A page</h1>
<!-- insert menu -->
<ul id="#menu">…</ul>
<!-- menu ends -->
$ echo "Moo" > menu.tmpl
$ update-templates page.html && cat page.html
<h1>A page</h1>
<!-- insert menu -->
Moo
<!-- menu ends -->
<!--#include file="menu.html" -->
$cat page.html
一页
$cat menu.tmpl
$update templates page.html&&cat page.html 一页
$echo“Moo”>menu.tmpl $update templates page.html&&cat page.html 一页 哞
…仅在GUI中。顺便说一句:感谢JavaScript解决方案。我没有想到这些,但即使关闭了JS,网站也必须工作



更新:由于我没有找到任何现有的解决方案,所以我将脚本作为一个脚本编写。有一些怪癖需要处理(比如不同系统上的不同行尾),但是模板替换的东西是有效的。该脚本需要Perl,但除此之外,您所要做的就是双击图标以更新HTML源代码。

将常用元素从一个页面复制到另一个页面是否有问题?或者更好的方法是,制作一个简单的文本文件,其中包含所有已排列的公共元素,然后当他想要制作一个新页面时,只需复制该文件并重命名副本。

将公共元素从一个页面复制到另一个页面时,好的旧拷贝和粘贴是否有问题?或者更好的方法是,制作一个简单的文本文件,其中包含所有已排列的公共元素,然后当他想要创建新页面时,只需复制该文件并重命名副本。

最简单的方法可能是(尽管需要一点设置)一个包含服务器端的web服务器。这是我能想到的最简单的模板形式,如果你不想从某种来源“构建”html文件,那么你需要一些主动服务于请求的东西

我不知道它是否标准化,但Apaches SSI看起来像这样:

$ cat page.html
<h1>A page</h1>
<!-- insert menu -->
<!-- menu ends -->
$ cat menu.tmpl
<ul id="#menu">…</ul>
$ update-templates page.html && cat page.html
<h1>A page</h1>
<!-- insert menu -->
<ul id="#menu">…</ul>
<!-- menu ends -->
$ echo "Moo" > menu.tmpl
$ update-templates page.html && cat page.html
<h1>A page</h1>
<!-- insert menu -->
Moo
<!-- menu ends -->
<!--#include file="menu.html" -->

但是要小心,一次崩溃或一次贪婪的替换(可能是由于打字错误)会杀死整个文件,而这不会维护源文件。我也不确定LHS是否能正确匹配反向引用,我需要研究一下。

最简单的可能是(尽管它需要一点设置)一个包含服务器端的web服务器。这是我能想到的最简单的模板形式,如果你不想从某种来源“构建”html文件,那么你需要一些主动服务于请求的东西

我不知道它是否标准化,但Apaches SSI看起来像这样:

$ cat page.html
<h1>A page</h1>
<!-- insert menu -->
<!-- menu ends -->
$ cat menu.tmpl
<ul id="#menu">…</ul>
$ update-templates page.html && cat page.html
<h1>A page</h1>
<!-- insert menu -->
<ul id="#menu">…</ul>
<!-- menu ends -->
$ echo "Moo" > menu.tmpl
$ update-templates page.html && cat page.html
<h1>A page</h1>
<!-- insert menu -->
Moo
<!-- menu ends -->
<!--#include file="menu.html" -->

但是要小心,一次崩溃或一次贪婪的替换(可能是由于打字错误)会杀死整个文件,而这不会维护源文件。我也不确定LHS是否能与反向参考正确匹配,我需要对此进行研究。

这是一个需要解决的问题

您可以使用JavaScript包含,也可以包含本地文件。不过,您必须通过JavaScript将HTML插入文档中的正确位置。学习如何做到这一点本身可能是个坏主意。不过,在include文件中转义引号可能会让人头疼

文件:


(我在使用快捷方式)

这是一个需要解决的问题

您可以使用JavaScript包含,也可以包含本地文件。不过,您必须通过JavaScript将HTML插入文档中的正确位置。学习如何做到这一点本身可能是个坏主意。不过,在include文件中转义引号可能会让人头疼

文件:


(我正在使用快捷方式)

搭上apache的便车建议:我认为Windows有一个“个人”IIS服务器,您可以安装。输入足够的javascript来获取每个页面上的重复块,并在粘贴的占位符标记上更新内部html


可能想给他一个漂亮的CSS文件,并包括要粘贴的行。

搭上apache的便车建议:我认为Windows有一个“个人”IIS服务器,您可以安装。输入足够的javascript来获取每个页面上的重复块,并在粘贴的占位符标记上更新内部html

可能想给他一个漂亮的CSS文件,并包括要粘贴的行。

安装tomcat:-)

如果这是可以接受的,那么不使用java代码,只需给您的朋友一个神奇的配方,将include调用放入带有有趣jsp后缀的“magic”html文件中

好的,这和设置PHP差不多,不是吗

如果你想生成一些东西,你可能需要一些软件来完成。我不知道你的“痛阈”是多少。

安装tomcat:-)

如果这是可以接受的,那么不使用java代码,只需给您的朋友一个神奇的配方,将include调用放入带有有趣jsp后缀的“magic”html文件中

好的,这和设置PHP差不多,不是吗


如果你想生成一些东西,你可能需要一些软件来完成。我不知道你的“痛阈”是多少。

我过去也做过类似的设置。我只把我的内容写成一系列HTML文件,而不用担心
<p>This is my page content.</p>
$template = get_contents(page.tpl)
for each of the .txt files in the src directory {
    $c = get_contents($file)
    write(string_replace("<!-- CONTENT -->", $c, $template)) into page1.html
}
$ php script.php