28个版本

0.1.27 2020年11月29日
0.1.26 2020年11月20日
0.1.23 2020年10月22日
0.1.22 2020年9月10日
0.1.17 2020年5月29日

#40 in #wiki

MIT许可协议

1MB
945

包含 (WOFF字体, 99KB) assets/fonts/fontawesome-webfont.woff, (WOFF字体, 78KB) assets/fonts/fontawesome-webfont.woff2

R.I.P.

deadwiki

deadwiki是一个由Markdown驱动的维基,使用您的文件系统作为其数据库。这意味着您可以将维基存储在git仓库中,并用文本编辑器编辑内容,或者使用其90年代的Web界面阅读和修改页面with style


有两种内置方式访问您的deadwiki

  • 运行本地Web服务器并使用(最小)HTML UI。
  • 只需使用您的文件系统。常规Markdown文件。 catls等。

~ 状态 ~

建设中!

git master可能已损坏,请确保您从crates.io安装(见下文)。

我每天都在使用它,我喜欢将它与其他小型工具结合使用。我在~/.todo中保存Markdown TODO列表,并用todo程序在命令行中管理它,并在~/.scratch中有一个小记事本,我使用s程序将其添加到shell中,如下所示:

$ s https://git.coolstuff.com/some/repo

使用deadwiki,我将这两个文件都链接到我的~/.deadwiki目录中,并可以使用花哨的、90年代的HTML界面浏览它们。

~ 安装 ~

好吧,那么您如何开始呢?您只需要grep,您可能已经有了,还需要cargo,它通常很容易安装。

一旦您有了这两个,您就可以使用以下命令安装它

cargo install deadwiki

这将为您提供一个实用的dead CLI工具,如果一切设置正确且~/.cargo/bin已添加到您的$PATH中。现在您应该能够运行dead -h来查看可能性。

~ 开始 ~

首先,创建一个空目录或找到一个已包含.md文件的目录。这是您的deadwiki。只需将CLI实用程序指向它即可开始

$ dead my-wiki-dir/
-> deadwiki serving my-wiki-dir/ at http://0.0.0.0:8000

现在在浏览器中访问http://0.0.0.0:8000/

默认情况下,主页将列出您所有的维基页面,但如果您的维基中存在index.md,它将显示该维基页面。

您可以使用类似于 vim 的工具或通过使用网页界面在本地编辑 wiki 页面。编辑将在下次页面加载时显示,新页面也是如此 - 没有数据库和复杂的缓存。只有您、您的文件系统和梦想。

除了 CommonMark 之外,Markdown 文件可以通过在括号中放置 [页面名称] 来相互链接。像大多数 wiki 一样,它要么是实际页面的链接,要么是创建该页面的链接。

deadwiki 还包括对 #标签 的支持。任何出现在 wiki 文本中的标签都会链接到一个搜索页面,该页面列出了包含该标签的所有 wiki 页面。

最后,如果您想自动同步您的 wiki,有一些 非常基础的 git 支持。基本上,如果您用 dead 程序的 -s--sync 标志启动它,并将其指向现有的 git 仓库,它会在大约每 30 秒执行一次此操作

git add .
git commit -am update
git pull origin master
git push origin master

就像我说的,非常基础!但它是有效的,而且它同步您在网页界面之外做出的更改,这很棒。

~ 键盘快捷键 ~

有两种模式:浏览和编辑。编辑由 SimpleMDE 提供,包括所有默认快捷键(如下所示),以及一些 deadwiki 特定的快捷键。

浏览模式包括一些键盘快捷键,以便更快、更灵活地进行导航。

浏览模式

快捷键 说明
双击 进入编辑或创建模式
Ctrl-h 转到主页
Ctrl-j 跳转到页面(模糊查找器)
Ctrl-n 转到“新”页面
Ctrl-e 打开当前页面的编辑器
i 插入模式:编辑或新建

编辑模式

快捷键 说明
ESC 退出编辑模式
Ctrl Enter 提交您的编辑
Cmd Enter 相同
Cmd-' 切换引用
Cmd-B 切换粗体
Cmd-E 清除块
Cmd-H 切换标题(较小)
Cmd-I 切换斜体
Cmd-K 绘制链接
Cmd-L 切换无序列表
Cmd-P 切换预览
Cmd-Alt-C 切换代码块
Cmd-Alt-I 绘制图片
Cmd-Alt-L 切换有序列表
Shift-Cmd-H 切换标题(较大)
F9 切换并排显示
F11 切换全屏

~ 破坏性编程 ~

代码目前处于非常粗糙的状态,因为这个主要是进行中的原型。但您可以使用 cargo 很容易地进行破坏性编程。

$ git clone https://github.com/xvxx/deadwiki
$ cd deadwiki
$ cargo run wiki/

包括了一个基本的 wiki,展示了其一些功能。

~ 未来功能 ~

  • --read-only 模式,这样我就可以有一个可以随时查看的副本
  • 适用于移动端的 CSS
  • 搜索(可能只是 grep
  • --gopher:通过 gopher 服务器提供 wiki 页面(可能使用 phd
  • wiki 目录中的 *.css 被包含在内
  • homebrew 软件包,AUR 软件包
  • brew services 用于在 osx 上运行,systemd 用于 arch
  • 基本的 TUI 用于创建新页面或使用 $EDITOR 打开 wiki 页面。

~ 哲学 ~

  • 没有数据库
  • 文本编辑/纯文本友好
  • 优先考虑服务器端渲染
  • 随身携带您的数据(版本控制系统友好)
  • 依赖标准的UNIX命令(find、grep)
  • JavaScript仅用于用户输入(键盘快捷键、Markdown编辑器、查找器)
  • 不使用JavaScript框架/助手
  • 构建时间很重要(当前28个crate,发布约6秒,调试约4秒)

~截图~

screenie1 screenie1
渲染Markdown。 Wow. 编辑Markdown。 Amazing.

~错误报告~

请将所有已知和未知(疑似)的错误报告发送到以下URL

~致谢~

所有SVG图标均为Feather图标: https://feathericons.com/

deadwiki的源代码受MIT许可协议保护。

依赖关系

~2.5MB
~44K SLoC