/quake

Quake is a knowledge management meta-framework for geeks. Use meta-data + Transflow to CRUD data, Git + markdown to management content, Web Component for frontend-custom. Quake 是面向极客的知识管理元框架。

Primary LanguageRustMIT LicenseMIT

Quake

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

A meta knowledge management tool for geek.

Quake is a knowledge management meta-framework for geeks. It can:

  • freedom text content management. todo lists, article management, book reviews, notes, etc.
  • construct a knowledge network system. customized markdown link
  • fleeting inspiration.support quick start (CLI, TUI, Web, GUI) and global search
  • freely present the canvas. DSL and free Sketchpad

Examples:

  1. examples
  2. ...

Architecture:

Architecture

Screenshots:

Web Samples

Setup

  1. download from release or cargo install quake
  2. download web from release
  3. init with quake init
  4. use quake cmd -i "todo.add: hello, world" to add new todo
  5. use quake server to start server (ps: need to install meilisearch for search entries).

more in Setup;

Features

Entry (meta-data for content)

Every content type in quake is call a entry.

run:

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

will become:

.
├── 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 with Front matter

a entry file will a front matter for meta-info, others will be content

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

> a hello, world

Custom frontend

Quake will load web directory code, and start a web server.Everyone can build then pages with Quake.

Transflow

A DSL to connect entry data and component, then auto render it.

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

will fetch todo and blog to quake-calendar web component, and create route in page

also can filter data

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

Free sketchpad

To be define.

Docs

DEVELOPMENT: see in DEVELOPMENT.md

欢迎入群讨论:

Wechat Code

License

markdown parser based on: https://github.com/zoni/obsidian-export with Apache and MIT

@ 2021 This code is distributed under the MIT license. See LICENSE in this directory.