#static-site #static-site-generator #html #lua #static-website #cli

app shrimple

最小化的静态网站生成CLI,使用Lua增强

3个版本 (破坏性更新)

新版本 0.3.0 2024年8月22日
0.2.0 2024年5月16日
0.1.0 2024年4月3日

#28模板引擎

Download history 95/week @ 2024-05-10 52/week @ 2024-05-17 8/week @ 2024-05-24 2/week @ 2024-05-31 61/week @ 2024-08-16

每月61次下载

MIT 许可证

190KB
2K SLoC

It's as shrimple as that

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.cssimage.png等作为资源:如果你在HTML中提到了它,它将被自动注册。在上面的示例中,文件shrimp.pngimage元素的href属性中被提及,因此它将被自动搜索在index.html相同的目录中,并将其复制到输出目录。

如果资源在浩瀚的互联网平原的某个地方,并且你希望确保它始终可用给你的用户,你可以将其缓存!只需在包含链接的属性前面加上$cached前缀即可。

4. 快速迭代

CLI自带一个非常实用的标志:输入shrimple -wshrimple --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