14个版本
0.4.9 | 2024年4月6日 |
---|---|
0.4.5 | 2023年12月22日 |
0.4.4 | 2023年4月8日 |
0.4.3 | 2022年10月8日 |
0.4.0 | 2022年2月14日 |
在#wiki中排名第3
每月下载量122次
140KB
2K SLoC
Smeagol - 本地托管维基
此项目的目标是创建具有以下属性的维基软件
- 与GitHub兼容。这意味着
- Git是后端存储
- 使用Markdown格式化页面
- 易于在本地计算机上运行。
- 非常快且易于安装。
不包括的目标包括
- 多用户支持。
换一种说法,此项目的目标是创建类似于Gollum的东西,但不会在低功耗Chromebook上花费半小时来gem install
。
入门
请访问smeagol.dev网站了解更多安装选项。
如果您使用Rust编程语言,您也可以使用Cargo安装此工具
cargo install smeagol-wiki
从GitHub下载最新版本。从压缩归档中提取smeagol-wiki
可执行文件。smeagol-wiki
是一个命令行应用程序。它需要一个包含您想要提供的Markdown文件的目录。您可以通过传递命令行参数来指定该目录
smeagol-wiki ~/wiki
在没有参数的情况下运行时,将使用当前目录。
一旦启动,它默认监听http://127.0.0.1:8000。
配置
有几个命令行选项
--host
- 接受一个参数,指定要绑定到的IP地址。默认情况下,这是127.0.0.1
,这意味着只有您本地的计算机上的用户可以访问维基。将其设置为0.0.0.0
以允许网络上的其他计算机访问它。--port
- 接受一个参数,指定要监听的端口号。默认为8000
。--fs
- 指示Smeagol使用文件系统进行加载和保存。默认情况下,Smeagol使用Git来加载提交到Git仓库的文件,并通过提交到当前分支来保存它们。
此外,以下设置可以放在维基根目录下的 smeagol.toml
文件中
index-page
- 默认为README
。当您浏览到一个目录时,Smeagol 将显示一个文件,该文件名(不包括扩展名)为index-page
。例如,当您导航到/page/for/bar/
时,Smeagol 将显示foo/bar/README.md
文件。h1-title
- 默认为false
。当设置为 false 时,Smeagol 将使用文件名作为页面的标题。这个标题将在页面顶部和标题栏中显示。当此设置为 true 并且文档以一个h1
开始(在 Markdown 中以以#
开头的行书写),则此h1
的文本将被用作页面的标题。它不会作为文档的常规部分进行渲染。
与 Gollum 的区别
- 在 Gollum 中,
index-page
默认为Home
。Smeagol 默认为README
以与 GitHub 和 Azure Devops 等在线代码托管系统兼容。 - 默认端口为
8000
而不是4567
。 - 支持转义。如果一行包含
{{file-name.md}}
,则file-name.md
的内容将替换该行。
安全
Smeagol 旨在在您的本地计算机上运行以读取您自己的私有数据。它不是为了暴露在公共互联网上而设计的:没有身份验证。
尽管如此,我感兴趣的一个安全问题是:使用 Smeagol 打开恶意设计的维基,可能导致代码执行或写入维基目录之外的文件。如果您遇到此类问题,请提交问题。
为什么选择 Rust,请告诉我更多关于您为什么喜欢 Rust 的原因
Rust 使得发布跨编译的可执行文件变得容易,这些可执行文件运行起来没有太多麻烦。至于为什么其他语言(如 Go 或 C#)也具备这种能力,我只是想更多地使用 Rust。
许可证
许可协议为 MIT 许可证。
请注意,一些元素,特别是视觉设计的某些方面,是从 Gollum 复制的。
依赖项
~43–78MB
~1.5M SLoC