2个版本
0.2.1 | 2024年2月20日 |
---|---|
0.2.0 | 2024年2月6日 |
#274 in 压缩
71KB
1.5K SLoC
什么是waj
Waj是一种基于jubako容器格式的网站容器格式。
它允许您创建和提供网站存档。
Waj(和Jubako)正在积极开发中。
如果您了解zim文件格式,Waj与它非常相似,除了几个(重要)特性外
- 没有存储书籍元数据。
- 没有标题索引。
- 没有全文搜索。
工作原理
Jubako是一种多用途容器格式,允许以结构化的方式存储数据,压缩或不压缩。其主要优势(除其灵活性外)在于它设计用于允许快速从存档中检索数据,而无需解压整个存档。
Waj使用jubako格式并创建waj存档,该存档
- 存储压缩内容。
- 可以对waj存档进行随机访问,以便快速响应请求
安装waj
提供Windows、MacOS和Linux的二进制文件,可在每个版本中找到。您还可以使用Cargo安装waj
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。
依赖项
~19–32MB
~520K SLoC