将 HTML 文件按 <section> 拆分为单独的包含文件?
Split HTML file by <section>, into separate include files?
我想通过 <section>
标签将 HTML 文件拆分成单独的文件。
一个例子可能是:
mypage.html
<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
<!-- Section 1 -->
<section class="foo">
...
</section>
<!-- Section 2 -->
<section class="bar">
...
</section>
<!-- Section 3 -->
...
</body>
</html>
期望的结果将被列举如下:
/mypage.html # (original file)
/mypage-split.html # (original file, with placeholders to replace the section back in)
# component/include files (that of course will not be valid HTML, since it's just a portion and won't start with `DOCTYPE` or `html`)
/sections/mypage-1.htmlinc # (section 1 markup)
/sections/mypage-2.inc # (section 2 markup)
...
/sections/mypage-n.html
如何进行拆分?
shell 脚本可能是最简单的方法,但我的脚本编写技能非常有限。
或者,是否有任何网络标准可以将 HTML 页面的组件保存在单独的文件中(浏览器或网络服务器支持),而不必求助于网络编程语言? (服务器或客户端)
tag=section
sed -n "/<$tag>/,/<\/$tag>/p" section.inc
这应该是您的起点:
您可以将目标 HTML 标签名称指定到 tag
环境变量中;
sed
将提取由您的标记分隔的文件内容并将其放入文件路径
我想通过 <section>
标签将 HTML 文件拆分成单独的文件。
一个例子可能是:
mypage.html
<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
<!-- Section 1 -->
<section class="foo">
...
</section>
<!-- Section 2 -->
<section class="bar">
...
</section>
<!-- Section 3 -->
...
</body>
</html>
期望的结果将被列举如下:
/mypage.html # (original file)
/mypage-split.html # (original file, with placeholders to replace the section back in)
# component/include files (that of course will not be valid HTML, since it's just a portion and won't start with `DOCTYPE` or `html`)
/sections/mypage-1.htmlinc # (section 1 markup)
/sections/mypage-2.inc # (section 2 markup)
...
/sections/mypage-n.html
如何进行拆分?
shell 脚本可能是最简单的方法,但我的脚本编写技能非常有限。
或者,是否有任何网络标准可以将 HTML 页面的组件保存在单独的文件中(浏览器或网络服务器支持),而不必求助于网络编程语言? (服务器或客户端)
tag=section
sed -n "/<$tag>/,/<\/$tag>/p" section.inc
这应该是您的起点:
您可以将目标 HTML 标签名称指定到 tag
环境变量中;
sed
将提取由您的标记分隔的文件内容并将其放入文件路径