{"id":13586988,"url":"https://github.com/phodal/quake","last_synced_at":"2025-04-09T06:05:27.853Z","repository":{"id":38417954,"uuid":"429060857","full_name":"phodal/quake","owner":"phodal","description":"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 是面向极客的知识管理元框架。","archived":false,"fork":false,"pushed_at":"2023-06-13T07:25:12.000Z","size":4154,"stargazers_count":442,"open_issues_count":3,"forks_count":37,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-02T04:32:52.219Z","etag":null,"topics":["content-management","knowledge-graph","knowledge-management","low-code","meta-data","meta-framework","meta-model"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phodal.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-11-17T13:41:27.000Z","updated_at":"2025-03-28T20:17:05.000Z","dependencies_parsed_at":"2023-01-29T16:31:28.017Z","dependency_job_id":"9e2d321c-3712-45fd-b3bb-b348dc7f6d5f","html_url":"https://github.com/phodal/quake","commit_stats":{"total_commits":1248,"total_committers":6,"mean_commits":208.0,"dds":0.06490384615384615,"last_synced_commit":"f1c4d27956819e62c16b394b34de79e11e4ab667"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Fquake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Fquake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Fquake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Fquake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phodal","download_url":"https://codeload.github.com/phodal/quake/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247987184,"owners_count":21028891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["content-management","knowledge-graph","knowledge-management","low-code","meta-data","meta-framework","meta-model"],"created_at":"2024-08-01T15:05:57.176Z","updated_at":"2025-04-09T06:05:27.781Z","avatar_url":"https://github.com/phodal.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Quake\n\n[![Build](https://github.com/phodal/quake/actions/workflows/build.yml/badge.svg)](https://github.com/phodal/quake/actions/workflows/build.yml)\n[![Coverage Status](https://coveralls.io/repos/github/phodal/quake/badge.svg?branch=master)](https://coveralls.io/github/phodal/quake?branch=master)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/phodal/quake)\n[![Lint](https://github.com/phodal/quake/actions/workflows/lint.yml/badge.svg)](https://github.com/phodal/quake/actions/workflows/lint.yml)\n[![web](https://github.com/phodal/quake/actions/workflows/web.yml/badge.svg)](https://github.com/phodal/quake/actions/workflows/web.yml)\n\n\u003e A meta knowledge management tool for geek.\n\nQuake is a knowledge management meta-framework for geeks. It can:\n\n- freedom text content management. todo lists, article management, book reviews, notes, etc.\n- construct a knowledge network system. customized markdown link\n- fleeting inspiration.support quick start (CLI, TUI, Web, GUI) and global search\n- freely present the canvas. DSL and free Sketchpad\n- graph engine with [feakin](https://github.com/feakin)\n\nExamples：\n\n1. [examples](./examples)\n2. ...\n\nOnline demo: [https://quake-demo.inherd.org/](https://quake-demo.inherd.org/)\n\nArchitecture:\n\n![Architecture](docs/quake-arch.svg)\n\nScreenshots:\n\n![Web Samples](http://quake-demo.inherd.org/web.gif)\n\nRoadmap: [Roadmap](https://github.com/phodal/quake/discussions/20)\n\n## Install\n\n### GitHub release\n\ndownload from Github release\n\n### cargo\n\nif you has rust toolchains, use `cargo install quake`\n\n### Nix\n\nfor Nix user, use `nix-env -iA nixos.inherd-quake`, or `nix-env -iA nixpkgs.inherd-quake` in Non-NixOS environment\n\n## Usage\n\n1. download web from release\n2. init with `quake init` or skip step 1 and use `quake init -d`\n3. use `quake cmd -i \"todo.add: hello, world\"` to add new todo\n4. use `quake server` to start server (ps: need to install `meilisearch` for search entries).\n\nmore for [Setup](examples/quake_book/0002-setup.md);\n\n## Features\n\n### Entry (meta-data for content)\n\nEvery content type in quake is call a `entry`.\n\nrun:\n\n```bash\nquake cmd -i \"todo.add: hello, world\"\n```\n\nwill become:\n\n```bash\n.\n├── entries-define.yaml       # entry defines\n└── todo\n    ├── 0001-hello-world.md   # entry content\n    ├── entries.csv           # entry collections for display\n    └── entry-node-info.yaml  # entry node infos\n```\n\n### Markdown ecosystem: FrontMatter with markdown\n\na entry file will a front matter for meta-info, others will be `content`\n\n```markdown\n---\ntitle: hello, world\nauthor:\ncreated_date: 2021-12-10 20:24:25\nupdated_date: 2021-12-10 20:24:25\n---\n\n\u003e a hello, world\n```\n\n### Layout Engine: Custom layout for Dashboard\n\nQuake will load `web` directory code, and start a web server.Everyone can build then pages with Quake.\n\nSimple Layout Engine:\n\n```\n----------------------------------------------------------------\n|      Calendar(flow(\"show_calendar\"), 12x)                   |\n----------------------------------------------------------------\n| Empty(2x) | Timeline(flow(\"show_timeline\"), 8x) | Empty(2x) |\n----------------------------------------------------------------\n```\n\n### Data Operators: Transflow\n\nA DSL to connect entry data and component, then auto render it.\n\n```javascript\nfrom('todo','blog').to(\u003cquake-calendar\u003e);\n```\n\nwill fetch `todo` and `blog`, render to `quake-calendar` web component, and create route in page\n\nalso can filter data\n\n```javascript\nfrom('todo','blog').to(\u003cquake-calendar\u003e).filter('created_date \u003e 2021.01.01 AND created_date \u003c 2021.12.31')\n```\n\nwith map:\n\n```javascript\n from('todo','blog')\n    .to(\u003cquake-calendar\u003e)\n    .filter('created_date \u003e 2021.01.01 and created_date \u003c 2021.12.31')\n    .map('blog.content =\u003e content | uppercase | substring(1, 150), blog.created_date =\u003e created_date');\n```\n\n### Free sketchpad\n\nby Web Component\n\nTo be design.\n\n### Powerful markdown: Chart with Markdown\n\nFlowy to chart:\n\n````\n```transflow\nfrom('todo','blog').to(\u003cquake-network\u003e);\n```\n````\n\nGraph and chart in markdown\n\n````@graph('bar')\n```@graph('bar')\n|-----------|--------------|\n| 1         |   12.0       |\n| 2         |   2.0        |\n| 3         |   4.0        |\n```\n````\n\n## Docs\n\nDEVELOPMENT: see in [DEVELOPMENT.md](./DEVELOPMENT.md)\n\n欢迎入群讨论：\n\n![Wechat Code](http://quake-demo.inherd.org/qrcode.jpg)\n\nLicense\n---\n\nmarkdown parser based on: [https://github.com/zoni/obsidian-export](https://github.com/zoni/obsidian-export) with Apache and MIT\n\n@ 2021~2022 This code is distributed under the MIT license. See `LICENSE` in this directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphodal%2Fquake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphodal%2Fquake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphodal%2Fquake/lists"}