Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phodal/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 是面向极客的知识管理元框架。
https://github.com/phodal/quake
content-management knowledge-graph knowledge-management low-code meta-data meta-framework meta-model
Last synced: 2 days ago
JSON representation
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 是面向极客的知识管理元框架。
- Host: GitHub
- URL: https://github.com/phodal/quake
- Owner: phodal
- License: mit
- Created: 2021-11-17T13:41:27.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-13T07:25:12.000Z (over 1 year ago)
- Last Synced: 2024-11-06T05:40:48.615Z (6 days ago)
- Topics: content-management, knowledge-graph, knowledge-management, low-code, meta-data, meta-framework, meta-model
- Language: Rust
- Homepage:
- Size: 3.96 MB
- Stars: 443
- Watchers: 14
- Forks: 37
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome - phodal/quake - management,knowledge-graph,knowledge-management,low-code,meta-data,meta-framework,meta-model pushed_at:2023-06 star:0.4k fork:0.0k 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 是面向极客的知识管理元框架。 (Rust)
README
# Quake
[![Build](https://github.com/phodal/quake/actions/workflows/build.yml/badge.svg)](https://github.com/phodal/quake/actions/workflows/build.yml)
[![Coverage Status](https://coveralls.io/repos/github/phodal/quake/badge.svg?branch=master)](https://coveralls.io/github/phodal/quake?branch=master)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/phodal/quake)
[![Lint](https://github.com/phodal/quake/actions/workflows/lint.yml/badge.svg)](https://github.com/phodal/quake/actions/workflows/lint.yml)
[![web](https://github.com/phodal/quake/actions/workflows/web.yml/badge.svg)](https://github.com/phodal/quake/actions/workflows/web.yml)> 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](https://github.com/feakin)Examples:
1. [examples](./examples)
2. ...Online demo: [https://quake-demo.inherd.org/](https://quake-demo.inherd.org/)
Architecture:
![Architecture](docs/quake-arch.svg)
Screenshots:
![Web Samples](http://quake-demo.inherd.org/web.gif)
Roadmap: [Roadmap](https://github.com/phodal/quake/discussions/20)
## 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](examples/quake_book/0002-setup.md);
## Features
### Entry (meta-data for content)
Every content type in quake is call a `entry`.
run:
```bash
quake cmd -i "todo.add: hello, world"
```will become:
```bash
.
├── 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`
```markdown
---
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.
```javascript
from('todo','blog').to();
```will fetch `todo` and `blog`, render to `quake-calendar` web component, and create route in page
also can filter data
```javascript
from('todo','blog').to().filter('created_date > 2021.01.01 AND created_date < 2021.12.31')
```with map:
```javascript
from('todo','blog')
.to()
.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();
```
````Graph and chart in markdown
````@graph('bar')
```@graph('bar')
|-----------|--------------|
| 1 | 12.0 |
| 2 | 2.0 |
| 3 | 4.0 |
```
````## Docs
DEVELOPMENT: see in [DEVELOPMENT.md](./DEVELOPMENT.md)
欢迎入群讨论:
![Wechat Code](http://quake-demo.inherd.org/qrcode.jpg)
License
---markdown parser based on: [https://github.com/zoni/obsidian-export](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.