5 个版本 (重大变更)

0.5.0 2022年1月20日
0.4.0 2022年1月8日
0.3.0 2021年12月23日
0.2.0 2021年12月10日
0.1.0 2021年11月22日

#6 in #知识管理

每月下载 38

MIT 许可证

1.5MB
10K SLoC

Rust 6.5K SLoC // 0.0% comments TSX 2.5K SLoC // 0.0% comments TypeScript 875 SLoC // 0.0% comments JavaScript 324 SLoC // 0.0% comments Pest 104 SLoC

Quake

Build Coverage Status GitHub release (latest by date) Lint web

极客的元知识管理工具。

Quake 是一个为极客设计的知识管理元框架。它可以

  • 自由管理文本内容。待办事项列表、文章管理、书评、笔记等。
  • 构建知识网络系统。自定义Markdown链接
  • 灵感闪现。支持快速启动(CLI、TUI、Web、GUI)和全局搜索
  • 自由展示画布。DSL和自由画板

示例:

  1. 示例
  2. ...

在线演示: https://quake-demo.inherd.org/

架构

Architecture

屏幕截图

Web Samples

路线图: 路线图

安装

GitHub发布

从GitHub发布下载

cargo

如果您有Rust工具链,请使用 cargo install quake

Nix

对于Nix用户,请使用 nix-env -iA nixos.inherd-quake,或在非NixOS环境中使用 nix-env -iA nixpkgs.inherd-quake

使用方法

  1. 从发布中下载Web
  2. 使用 quake init 初始化或跳过步骤1并使用 quake init -d
  3. 使用 quake cmd -i "todo.add: hello, world" 添加新的待办事项
  4. 使用 quake server 启动服务器(注意:需要安装 meilisearch 以进行搜索条目)。

更多关于 设置 的信息;

特性

条目(内容的元数据)

Quake 中的每种内容类型都称为一个 entry

运行

quake cmd -i "todo.add: hello, world"

将变为

.
├── entries-define.yaml       # entry defines
└── todo
    ├── 0001-hello-world.md   # entry content
    ├── entries.csv           # entry collections for display
    └── entry-node-info.yaml  # entry node infos

Markdown生态系统:带有Markdown的前言

条目文件将包含元信息的前言,其余的将是 content

---
title: hello, world
author:
created_date: 2021-12-10 20:24:25
updated_date: 2021-12-10 20:24:25
---

> a hello, world

布局引擎:仪表板的自定义布局

Quake将加载web目录代码,并启动一个web服务器。每个人都可以使用Quake构建页面。

简单的布局引擎

----------------------------------------------------------------
|      Calendar(flow("show_calendar"), 12x)                   |
----------------------------------------------------------------
| Empty(2x) | Timeline(flow("show_timeline"), 8x) | Empty(2x) |
----------------------------------------------------------------

数据操作符:Transflow

一个领域特定语言(DSL),用于连接条目数据和组件,然后自动渲染。

from('todo','blog').to(<quake-calendar>);

将获取todoblog,渲染到quake-calendar网络组件,并在页面中创建路由

也可以过滤数据

from('todo','blog').to(<quake-calendar>).filter('created_date > 2021.01.01 AND created_date < 2021.12.31')

使用地图

 from('todo','blog')
    .to(<quake-calendar>)
    .filter('created_date > 2021.01.01 and created_date < 2021.12.31')
    .map('blog.content => content | uppercase | substring(1, 150), blog.created_date => created_date');

免费绘图板

通过Web组件

待设计。

强大的Markdown:Markdown图表

Flowy到图表

```transflow
from('todo','blog').to(<quake-network>);
```

Markdown中的图形和图表

```@graph('bar')
|-----------|--------------|
| 1         |   12.0       |
| 2         |   2.0        |
| 3         |   4.0        |
```

文档

开发:查看DEVELOPMENT.md

欢迎入群讨论:

Wechat Code

许可证

基于Apache和MIT的Markdown解析器:https://github.com/zoni/obsidian-export

@ 2021 本代码根据MIT许可证分发。请参阅此目录中的LICENSE

依赖关系

~48–82MB
~1.5M SLoC