3个版本 (破坏性更新)
新版本 0.3.0 | 2024年8月22日 |
---|---|
0.2.0 | 2024年5月16日 |
0.1.0 | 2024年4月3日 |
#28 在 模板引擎
每月61次下载
190KB
2K SLoC
shrimple静态网站生成器
安装
cargo install shrimple
功能
1. 保持简单
无需外部配置:你有HTML,你有shrimple
,你调用它,就可以得到一个可以部署的网站。
shrimple
这将使用index.html
作为根目录构建网站,并将根目录及其引用的所有文件粘贴到dist
2. 使用Lua在任何地方进行计算
shrimple
内置Lua评估功能,可以在任何文件的任何部分使用:在文本节点中,在属性中,在字符串中,等等!使用$VAR
来访问Lua变量,以及使用$(code)
或<$lua>code</$lua>
来评估任意Lua代码并将其返回值粘贴。
<$lua>
SHRIMP = "shrimp.png"
SHRIMP_SIZE = 100
</$lua>
<svg width=$SHRIMP_SIZE height=100%>
<image
href=$SHRIMP
width=$SHRIMP_SIZE height=$SHRIMP_SIZE
transform="rotate(-30 $(SHRIMP_SIZE / 2) $(SHRIMP_SIZE / 2))"
/>
</svg>
3. 不需要列出资源,只需使用它们
无需故意指定index.css
、image.png
等作为资源:如果你在HTML中提到了它,它将被自动注册。在上面的示例中,文件shrimp.png
在image
元素的href
属性中被提及,因此它将被自动搜索在index.html
相同的目录中,并将其复制到输出目录。
如果资源在浩瀚的互联网平原的某个地方,并且你希望确保它始终可用给你的用户,你可以将其缓存!只需在包含链接的属性前面加上$cached
前缀即可。
4. 快速迭代
CLI自带一个非常实用的标志:输入shrimple -w
或shrimple --watch
,可以启动一个轻量级本地服务器,按需重新编译您的网站,并在浏览器中直接展示。
5. 使用更合理的HTML
shrimple
接受的HTML子集旨在减少标准HTML的不规则性和冗余。使其简化的变化包括
- 普通元素和空元素之间没有语法区别:所有元素都可以自闭合,大多数元素也可以以闭合标签结束。
- 不需要顶层
<html>
:它会被自动插入到编译后的HTML中。 - 文档的编码自动设置为UTF-8。
以下标准HTML片段
<html>
<head>
<title>Hello World</title>
<meta charset="UTF-8">
</head>
<body>
Hello World
</body>
</html>
等价于以下shrimple HTML片段
<head>
<title>Hello World</title>
</head>
<body>
Hello World
</body>
依赖项
~5–17MB
~191K SLoC