Crates.io | quake |
lib.rs | quake |
version | 0.5.0 |
source | src |
created_at | 2021-11-22 07:45:06.122968 |
updated_at | 2022-01-20 15:00:09.69606 |
description | Simple knowledge management tool for geek. |
homepage | |
repository | https://github.com/phodal/quake |
max_upload_size | |
id | 485566 |
size | 5,293,394 |
A meta knowledge management tool for geek.
Quake is a knowledge management meta-framework for geeks. It can:
Examples:
Online demo: https://quake-demo.inherd.org/
Architecture:
Screenshots:
Roadmap: Roadmap
download from Github release
if you has rust toolchains, use cargo install quake
for Nix user, use nix-env -iA nixos.inherd-quake
, or nix-env -iA nixpkgs.inherd-quake
in Non-NixOS environment
quake init
or skip step 1 and use quake init -d
quake cmd -i "todo.add: hello, world"
to add new todoquake server
to start server (ps: need to install meilisearch
for search entries).more for Setup;
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
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
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) |
----------------------------------------------------------------
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');
by Web Component
To be design.
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 |
```
DEVELOPMENT: see in DEVELOPMENT.md
欢迎入群讨论:
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.