2 个版本
0.1.1 | 2021 年 6 月 23 日 |
---|---|
0.1.0 | 2021 年 6 月 22 日 |
#23 在 #web-interface
76KB
2K SLoC
GitPad
一个轻量级的 git 网页界面,具有
- 编辑支持(创建、编辑、移动和删除文件)
- Markdown 渲染(针对以
*.md
命名的文件) - 支持多用户模式,文件共享和协作编辑
您可以使用以下方式安装 GitPad
$ cargo install gitpad
GitPad 需要从裸 Git 仓库内部启动。例如
$ git init --bare example.git
$ cd example.git/
$ gitpad
Listening on http://127.0.0.1:8000
文件在 /~{branch}/{path}
下提供服务,例如 /~hello/world.md
指的是 world.md
文件在 hello
分支中。默认情况下,GitPad 在单用户模式下,允许用户查看和编辑所有分支(以及创建新分支)。
多用户模式
多用户模式需要您设置一个反向代理,该代理对用户进行身份验证并设置 Username
头。最简单的身份验证机制是 HTTP 基本认证。使用 NGINX,反向代理可以配置如下
server {
listen 80;
listen [::]:80;
server_name notes.localhost;
client_max_body_size 5M;
location / {
auth_basic 'Restricted';
auth_basic_user_file /etc/nginx/gitpad_passwd;
proxy_set_header Username $remote_user;
proxy_pass http://localhost:8000;
# Or if you start GitPad with --socket /srv/sockets/gitpad.sock
# proxy_pass http://unix:/srv/sockets/gitpad.sock:/;
}
}
有关创建 auth_basic_user_file
的说明,请参阅 NGINX 文档。
设置完成后,通过使用 -m
标志运行 GitPad 以在多用户模式下启动。
在多用户模式下,每个用户都有自己的 Git 分支,其名称与用户名完全相同。默认情况下,您的分支是私有的,其他用户无法访问您的文件。但是,用户可以通过创建一个 .shares.txt
文件与其他用户共享文件/目录。
配置提交者身份
在单用户模式下,GitPad 仅使用您 git 配置中的提交者身份。
在多用户模式下,GitPad 默认为 {username} <{username}@localhost.invalid>
。提交者身份可以通过在 gitpad
分支中创建一个 users.toml
文件来配置,例如以下部分
[johndoe]
name = "John Doe"
email = "[email protected]"
贡献
欢迎反馈、错误报告和建议!
依赖项
~20–34MB
~603K SLoC