我想将一个HTML文件合并到另一个。不只是包含它,而是合并。
master.html:
<!DOCTYPE html>
<html>
<head>
<title>My cat</title>
</head>
<body>
<h1>My cat is awesome!</h1>
</body>
</html>
_index.html:
<!DOCTYPE html>
<html>
<body>
<p><img src="cat.jpg"/></p>
</body>
</html>
现在我将_index.html合并到master.html。
$ html_merge master.html _index.html > result.html
result.html
<!DOCTYPE html>
<html>
<head>
<title>My cat</title>
</head>
<body>
<h1>My cat is awesome!</h1>
<p><img src="cat.jpg"/></p>
</body>
</html>
html_merge
是我正在寻找的脚本。我将用它来构建静态网站。
我想使用Ruby,但这不是必需的。
我不想重新发明另一种模板语言。有许多模板语言具有include
/ yield
语句和部分支持。 Liquid,mustache等等。我将它们用于不同的任务。现在我需要合并HTML文件,仅此而已。
答案 0 :(得分:1)
这有用吗? (它在Java中,但是......)
http://www.javaworld.com/javaworld/jw-07-2007/jw-07-xmlmerge.html
答案 1 :(得分:0)
仔细考虑这样的脚本会是什么样子,特别是如何编写单独的html文件以使它们可以合并。你会如何关联节点?通过命名divs?通过确保每个都有平行的结构?
答案 2 :(得分:0)
进行这样的合并需要了解内容,这对我来说听起来像是需要使用能够创建静态页面的模板系统。
我在某些项目中使用了http://www.cheetahtemplate.org/,但对您的需求可能有点过分。
答案 3 :(得分:0)
这看起来非常像Rails中的布局/模板关系。虽然这看起来有点沉重,但它会让你有一个你希望内容合并到的布局:
<强> application.html.erb 强>
<html>
<head></head>
<body>
Some content before hand.
<%= yield %>
Some content "after hand"
</body>
</html>
<强> index.html.erb 强>
<strong>This is my cat: <%= image_tag "cat.jpg" %></strong>.
如果您希望从中提供静态页面,则可以生成页面的缓存版本。