5 个版本

新增 0.4.0 2024年8月19日
0.3.6 2024年7月29日
0.3.4 2024年7月29日
0.3.3 2024年7月21日
0.3.1 2024年7月21日

87命令行界面

Download history 37/week @ 2024-07-15 177/week @ 2024-07-22 311/week @ 2024-07-29 2/week @ 2024-08-05

527 每月下载量

GPL-3.0-only

235KB
3.5K SLoC

🌱 Rucola

github License: GPL v3 rust

commit status test status cratesio arch-user-repository

基于终端的 markdown 笔记管理器,用于查看统计信息、探索连接以及启动编辑和查看应用程序。

内容

功能

  • 向使用类似 zettelkasten 的链接 markdown 文件笔记系统的用户提供高级别信息和统计数据。
  • 显示有关筛选的笔记子集的相同信息,以及它们与整个笔记集的关系。
  • 允许用户查看和跟踪单个笔记的链接和反向链接,以查看笔记图中的连接。
  • 允许用户在应用程序内进行小幅度编辑,例如重命名或移动笔记。
  • 提供轻松访问功能强大的外部文本编辑器以编辑笔记。
  • 可选地将笔记编译为 HTML 文档,包括即时 LaTeX 编译和代码突出显示,并在外部查看器中显示。
  • 从终端用户界面提供所有这些功能。

图像

在选择和概览屏幕中

select-screen

查看单个笔记

display-screen

还包含默认浅色主题。

[!提示] 默认主题将根据您的终端颜色进行调整,但整个样式可以完全自定义。

目标受众和类似程序

Rucola是为那些使用类似 zettelkasten 风格的相互链接的 markdown 笔记系统,希望大部分笔记直接在终端中进行的用户而设计的。

与 UI 笔记工具(如 ObsidianEvernoteNotion)相比...

  • rucola 更加轻量级,不使用任何 GUI、Web 界面或 Electron,使其打开速度更快,尤其是在较旧的硬件上。请注意,将笔记以 HTML 格式查看仍然需要一个浏览器或其他 HTML 查看器。
  • rucola 提供了轻松访问您喜欢的终端文本编辑器(如 vim、emacs 或 helix)以编辑笔记的功能,从而允许一个更强大的编辑界面。尽管 Obsidian 通过插件提供 vim 键绑定,但 rucola 允许您在您习惯的编辑环境中进行编辑,所有您的 vim 插件和其他舒适设置都准备好了。
  • 当前rucola提供的扩展性较低,因此可能也意味着统计功能较弱,特别是没有图形视图。
  • rucola依赖于外部程序来查看Markdown笔记的HTML版本,这再次提供了更多可定制性(例如,使用像Firefox或Chrome这样的浏览器的丰富插件系统),以及与您常用的工作流程的更多一致性。
  • rucola不是一个单一的全能应用,而是一个笔记浏览器,同时将HTML查看器粘接到编辑器中。

与仅使用终端文本编辑器(如 vimemacshelix)管理Markdown笔记相比...

  • rucola允许与文件系统进行更具体的笔记交互,例如跟踪Wiki链接。
  • rucola提供了有关您的文件的特定笔记统计信息,例如标签、嵌套标签和链接统计。
  • rucola根据链接、标签、全文或标题提供了更多基于笔记的过滤和搜索选项。
  • rucola在文件重命名时自动重命名Wiki链接,而当前marksman语言服务器不支持此功能,因此在helix和其他依赖LSP进行Markdown编辑的编辑器中,此功能不可用。
  • rucola允许您查看更易于阅读的HTML文档版本,包括自动背景转换(当启用时),这对于难以在原始格式中阅读的代码特别有用。特别是,rucola编译LaTeX并突出显示代码块。
  • rucola需要并行使用多个程序,而不是仅使用编辑器。

[!TIP] 大多数文本编辑器或终端仿真器都提供了一种方法来在已运行的实例中打开文件 - 打开rucola和您最喜欢的编辑器并排,并像更具体的文件选择器一样使用rucola。

未来功能

当前版本支持该项目最初设想的所有功能,并在日常使用中测试了几个月。这并不意味着开发已经完成。未来的计划包括

  • 频繁且快速的错误修复以及类似的不破坏性更改。
  • 在不失去原始范围的同时,将用户反馈纳入新功能,以便使rucola融入 您的 工作流程。
  • 随着底层Markdown解析器 comrak 的发展,特别是对Wiki链接的支持,某些内部算法可以变得更加安全且高效(特别是在名称更改时更新链接)。这取决于comrak的进展。
  • 随着 ratatui markdown reader 的发展,一个可能的未来选项是在rucola中直接查看Markdown文件。这取决于ratatui-markdown的进展。

安装

Rucola没有要求,但您的机器上可能需要 Nerd font 来正确显示一些图标。

安装脚本 & Tarballs

有关通过shell脚本、.msi、homebrew或tarball安装的说明,请参阅 最新发布版。这些安装程序是使用 cargo dist 生成的,并提供Windows、Mac和Linux版本。

Arch Linux

您可以使用 官方仓库 通过 pacman 安装 rucola

pacman -S rucola

Crates.io

使用 crates.io 中的 cargo 进行安装。

 cargo install --locked rucola-notes

手动构建

如果您想自己构建 rucola 的最新提交,可以克隆仓库,进行构建和安装。

 git clone https://github.com/Linus-Mussmaecher/rucola
 cd rucola
 cargo install --locked --path .

使用

可以使用 rucola 命令从您的命令行启动 rucola。

[!TIP] 关于可能的配置选项、功能和用法提示的更多信息,请参阅 GitHub Wiki

配置

Rucola 需要三个配置文件

  • config.toml:主 TOML 配置文件。有关其条目的详细信息,请参阅 Wiki
  • <style>.toml:一个用于自定义 rucola 自身外观的 TOML 风格文件。确切名称在 config.toml 中给出。有关其条目的详细信息,请参阅 Wiki
  • <cssstyle>.css:一个 CSS 风格文件,用于自定义转换 markdown 笔记时创建的 HTML 文件的外观。

默认配置文件一个,2 个 TOML 风格文件(浅色和深色主题)以及 2 个 CSS 风格文件(浅色和深色主题)可以在此仓库的 default_config 文件夹中找到。这些文件应通过任何安装方法安装到系统中的 rucola 默认配置文件夹中。有关该文件夹期望位置的详细信息,请参阅 Wiki

技术

Rucola 使用 ratatui 框架在 Rust 中实现。Markdown 解析通过 comrak 完成。

LaTeX 编译和宏系统由 KaTeX 提供,而代码高亮则使用 highlight.js 完成。

许可证

Rucola 在 GNU 通用公共许可证 v3 下发布。

版权所有 (C) 2024 Linus Mußmächer [email protected]

本程序是自由软件:您可以重新分配它并/或修改它,前提是您遵守自由软件基金会发布的 GNU 通用公共许可证的条款,无论是许可证的第 3 版,还是(根据您的选择)许可证的任何后续版本。

本程序是根据希望它可能有用而分发的,但没有任何保证;甚至没有关于适销性或针对特定目的的适用性的暗示保证。有关更多详细信息,请参阅 GNU 通用公共许可证。

您应该已经随本程序一起收到 GNU 通用公共许可证的副本。如果没有,请参阅 https://www.gnu.org/licenses/

依赖关系

~17–29MB
~476K SLoC