2个版本
0.2.1 | 2024年2月20日 |
---|---|
0.2.0 | 2024年2月6日 |
#546 in 压缩
用于 waj
54KB
1.5K SLoC
什么是waj
Waj是基于jubako容器格式的网站容器格式。
它允许您创建和提供网站存档。
Waj(以及Jubako)正在积极开发中。
如果您熟悉zim文件格式,Waj与它非常相似,除了少数(重要的)特性外
- 不存储书籍的元数据。
- 没有标题索引。
- 没有全文搜索。
工作原理
Jubako是一种通用的容器格式,允许以结构化的方式存储数据,压缩或未压缩。其主要优点(除了其通用性之外)是它设计用来允许快速检索存档中的数据,而无需解压整个存档。
Waj使用jubako格式并创建waj存档,这些存档
- 存储压缩的内容。
- 可以在waj存档上执行随机访问,以允许快速响应用户请求
安装waj
Windows、MacOS和Linux的二进制文件可在每个版本中获取。您也可以使用Cargo安装arx
cargo install waj
使用waj
创建存档
创建存档很简单
假设您有一个包含静态网站的目录 my_directory
waj create -o my_archive.waj -1 --strip-prefix "my_directory/" my_directory
它将创建一个文件: my_archive.waj
,该文件将包含 my_directory
目录中的所有内容。由于我们不希望 my_directory/
成为url路径的一部分,因此我们从条目路径中删除它。
列出存档内容
您可以使用以下命令列出存档的内容
waj list my_archive.waj
提供存档服务
waj
二进制文件提供了一个小型服务器。
waj serve my_archive.waj localhost:8080
它将提供存档中的内容。路由非常简单
- 它将删除请求中的任何尾随
/
并搜索它。 - 如果有查询字符串 (
?
),则将其从路径中删除并搜索新的路径。 - 如果(原始)路径(不含
?
)以/
结尾,则搜索<path> + "index.html"
。
例如:
/
-> 搜索index.html
/foo/?value=bar
-> 搜索foo/?value=bar
、foo/
、foo/index.html
如果您的首页不是 index.html
(比如说 main
),您可以使用 waj 创建时的 `-m main` 选项创建一个重定向到 main
。
Zim2Waj
在 https://github.com/jubako/zim2waj 上有一个小工具,可以将任何现有的 zim 文件转换为 waj。
依赖项
~11–21MB
~325K SLoC