Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

phodal/quake

Open more actions menu

Repository files navigation

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
  • graph engine with feakin

Examples:

  1. examples
  2. ...

Online demo: https://quake-demo.inherd.org/

Architecture:

Architecture

Screenshots:

Web Samples

Roadmap: Roadmap

Install

GitHub release

download from Github release

cargo

if you has rust toolchains, use cargo install quake

Nix

for Nix user, use nix-env -iA nixos.inherd-quake, or nix-env -iA nixpkgs.inherd-quake in Non-NixOS environment

Usage

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

more for 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 ecosystem: FrontMatter with markdown

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

Layout Engine: Custom layout for Dashboard

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

Simple Layout Engine:

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

Data Operators: Transflow

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

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

will fetch todo and blog, render 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')

with map:

 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');

Free sketchpad

by Web Component

To be design.

Powerful markdown: Chart with Markdown

Flowy to chart:

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

Graph and chart in markdown

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

Docs

DEVELOPMENT: see in DEVELOPMENT.md

欢迎入群讨论:

Wechat Code

License

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

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

About

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 是面向极客的知识管理元框架。

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.