Skip to content

Commit

Permalink
docs: add more for README
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Dec 10, 2021
1 parent d3dc757 commit 522d03e
Showing 1 changed file with 74 additions and 12 deletions.
86 changes: 74 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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(<quake-calendar>);
```

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

also can filter data

```javascript
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](./DEVELOPMENT.md)

欢迎入群讨论:

Expand Down

0 comments on commit 522d03e

Please sign in to comment.