4 个版本
0.1.1 | 2024 年 7 月 23 日 |
---|---|
0.1.0 | 2024 年 7 月 22 日 |
0.0.2 | 2024 年 1 月 21 日 |
0.0.1 | 2022 年 7 月 6 日 |
#1496 in Web 编程
每月 265 次下载
20KB
291 行
simple-gallery
一个用于创建极其简单的相册的便携式 Web 服务器,仅使用原生 JavaScript。它可以直接提供服务,或者仅生成原始 HTML,以便您可以在其他地方提供静态站点。
为什么?
分享照片很难。我不想在充斥着广告的第三方网站上创建账户。我希望自己托管一些活动照片,但处理开源 JavaScript 框架很困难。我想要的体验是:将一些图片放入目录中,运行二进制文件,就有了一个网站。一个简单的脚本足以生成静态资源,可以制作一个看起来不错的、基本的相册网站。您可以在 https://jawn.best/ 上看到示例。
工作原理
您只需要一个图像目录,最好是 PNG 格式。然后 simple-gallery
将
- 扫描目录
--directory=img
中的 PNG 文件(指定例如--file-extension jpg
以覆盖) - 否则,将在
127.0.0.1:3000
上启动一个 Web 服务器(指定--bind-address
,--port
以覆盖)
安装
首先,请确保您已经安装了 Rust。然后
cargo install --force simple-gallery
要求
- 一些要服务的图像。
- 就是这样。
用法
simple-gallery 0.1.0
Generates a single-page static web application, with no JS, serving a simple photogallery
USAGE:
simple-gallery [OPTIONS]
OPTIONS:
-b, --bind-address <BIND_ADDRESS>
Local IP address to bind to [default: 127.0.0.1]
-d, --directory <DIRECTORY>
On-disk path for directory of images to serve [default: img]
-g, --generate
Build static HTML and print to stdout, then exit
-h, --help
Print help information
-p, --port <PORT>
TCP port to listen on [default: 3000]
-s, --shuffle
Randomize order of images
-t, --title <TITLE>
Title for HTML page, e.g. "example.com" [default: simple-gallery]
-V, --version
Print version information
创建静态网站
具有以下目录结构
cool-pictures/
├── tree.png
├── dog.png
├── horse.png
运行
simple-gallery --generate --directory ./cool-pictures > index.html
现在您可以提供该目录,例如
python3 -m http.server --port 3000 --directory .
更多高级功能(常见问题解答)
许多功能都是故意省略的。没有导航功能:图像将无限期地转换。如果您想要获取特定图像,请查看源代码,并获取 <img src="">
URL。
参考文献
计算 CSS 动画持续时间值的逻辑来自这篇宝贵的博客文章。一如既往,MDN CSS 文档很有帮助。过渡的纯 JS 示例是从这篇有帮助的文章改编的。最后,虽然未使用,但 crate arse 可能有所帮助。
许可证
AGPLv3
依赖项
~16–28MB
~406K SLoC