2个版本
0.1.1 | 2021年12月3日 |
---|---|
0.1.0 | 2020年9月8日 |
#363 in 模板引擎
26KB
664 行
Siter
一个静态网站生成器,其中每个内容项都是模板,模板本身也是模板。
将内容页面也做成模板的优势是,你可以轻松地将JavaScript代码片段或循环添加到其中,而无需对整个结构进行调整。
基本网站的设置看起来可能是这样的。
- root_config.ito
- 内容
- index.md
- anotherpage.md
- apples.md
- 模板
- page.html
- 静态
- 任何静态文件
root_config.ito
{{export
output="public"
}}
{{@export menu}}
<a href="/">HOME</a>
<a href="/apples">apples</a>
{{/export}}
index.md
{{export
title="My Website"
}}{{@md}}
Markdown
=======
By limiting markdown to specifig blocks we can include other kinds of content outside
{{/md}}
<script>
function not_markdown(){
return "This function will not be gobbled up by markdown"
}
</script>
{{@md}}
Realisitically most content pages won't need javascript, but it's nice to know you CAN.
{{/md}}
模板/page.html
{{export as_index=true}}
<doctype! HTML>
<html>
<head>
<title>{{first .title "My Default Title"}}</title>
{{#If the page has any head data include that here#}}
{{first .head}}
</head>
<body>
<div id="menu">{{.menu}}</div>
<div id="content">
{{$1}}{{# $1 is the page content #}}
</div>
</body>
</html>
依赖项
~21MB
~210K SLoC