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
1MB
945 行
包含 (WOFF字体, 99KB) assets/fonts/fontawesome-webfont.woff, (WOFF字体, 78KB) assets/fonts/fontawesome-webfont.woff2
deadwiki
deadwiki是一个由Markdown驱动的维基,使用您的文件系统作为其数据库。这意味着您可以将维基存储在git仓库中,并用文本编辑器编辑内容,或者使用其90年代的Web界面阅读和修改页面with style
。
有两种内置方式访问您的deadwiki
- 运行本地Web服务器并使用(最小)HTML UI。
- 只需使用您的文件系统。常规Markdown文件。
cat
、ls
等。
~ 状态 ~
建设中!
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秒)
~截图~
渲染Markdown。 Wow. |
编辑Markdown。 Amazing. |
~错误报告~
请将所有已知和未知(疑似)的错误报告发送到以下URL
~致谢~
所有SVG图标均为Feather图标: https://feathericons.com/
deadwiki的源代码受MIT许可协议保护。
依赖关系
~2.5MB
~44K SLoC