From 522d03e26033f7221a1240e6bb5d1aa54794489e Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Fri, 10 Dec 2021 20:35:10 +0800 Subject: [PATCH] docs: add more for README --- README.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 74 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 95b4810b..1a498557 100644 --- a/README.md +++ b/README.md @@ -8,37 +8,99 @@ Quake is a knowledge management meta-framework for geeks. It can: -- freedom text content management.todo lists, article management, book reviews, notes, etc. +- freedom text content management. todo lists, article management, book reviews, notes, etc. - construct a knowledge network system. customized markdown link -- grab the fleeting inspiration.support quick start (CLI, TUI) and global search -- freely present the canvas. DSL and Free Sketchpad +- fleeting inspiration.support quick start (CLI, TUI, Web, GUI) and global search +- freely present the canvas. DSL and free Sketchpad Examples: 1. [examples](./examples) 2. ... -Setup: +Architecture: + +![Architecture](docs/quake-arch.svg) + +Screenshots: + +![Web Samples](http://quake-demo.inherd.org/web.gif) + +## 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 +5. use `quake server` to start server (ps: need to install `meilisearch` for search entries). -more see in [Setup](examples/quake_book/0002-setup.md); +more in [Setup](examples/quake_book/0002-setup.md); -## Docs +## Features -DEVELOPMENT: see in [DEVELOPMENT.md](examples/quake_book/004-development.md) +### Entry (meta-data for content) -Architecture: +Every content type in quake is call a `entry`. -![Architecture](docs/quake-arch.svg) +run: -Screenshots: +```bash +quake cmd -i "todo.add: hello, world" +``` -![Web Samples](http://quake-demo.inherd.org/web.gif) +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 with Front matter + +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 +``` + +### 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. + +```javascript +from('todo','blog').to(); +``` + +will fetch `todo` and `blog` 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') +``` + +### Free sketchpad + +To be define. + +## Docs + +DEVELOPMENT: see in [DEVELOPMENT.md](./DEVELOPMENT.md) 欢迎入群讨论: