GithubHelp home page GithubHelp logo

phodal / quake Goto Github PK

View Code? Open in Web Editor NEW
436.0 14.0 39.0 4.06 MB

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

License: MIT License

Rust 63.81% HTML 5.36% CSS 3.28% TypeScript 23.44% JavaScript 3.68% Nix 0.14% Just 0.29%
content-management low-code knowledge-graph knowledge-management meta-framework meta-data meta-model

quake's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.