├── docs ├── search.md ├── concepts │ ├── components.csv │ ├── tech-spec.csv │ └── concepts.csv ├── README.md └── adr │ ├── 0014-sql-for-query.md │ ├── 0017-notion-blockmap-render.md │ ├── 0019-freeboard-with-mxgraph.md │ ├── 0007-quake-server-for-gui-&-tui.md │ ├── 0008-entrysets-for-entry-log-info.md │ ├── 0016-frontmatter-editor-for-fe.md │ ├── 0021-quake-init-with-install-meilisearch.md │ ├── 0002-quick-engine.md │ ├── 0018-calendar-view-api.md │ ├── 0009-indexmap-replace-hashmap-for-order.md │ ├── 0023-contract-design-for-flow.md │ ├── 0010-level-for-directory.md │ ├── 0011-search-engine.md │ ├── 0003-script-language.md │ ├── 0006-custom-editor.md │ ├── 0004-front-matter-design.md │ ├── 0020-flowy-view-for-ideas.md │ ├── 0005-content-&-structure-separate.md │ ├── 0022-flowy-board.md │ ├── 0013-markdown-processor.md │ └── README.md ├── quake_core ├── .gitignore ├── src │ ├── markdown │ │ ├── mod.rs │ │ ├── LICENSE-MIT │ │ └── README.md │ ├── parser │ │ ├── mod.rs │ │ └── errors.rs │ ├── transflow │ │ └── mod.rs │ ├── helper │ │ ├── mod.rs │ │ └── file_filter.rs │ ├── usecases │ │ ├── mod.rs │ │ ├── layout_usecases.rs │ │ └── entry_define_usecases.rs │ ├── errors.rs │ ├── quake_config.rs │ ├── entry │ │ ├── mod.rs │ │ ├── slug.rs │ │ └── entry_node_info.rs │ └── lib.rs ├── README.md ├── _fixtures │ └── transflow │ │ ├── show_calendar.code │ │ ├── get_todos_blogs_with_filter_map_param.code │ │ ├── get_todos_blogs_with_filter.code │ │ ├── get_todos_blogs_with_filter_map.code │ │ └── event_with_calendar.code └── Cargo.toml ├── examples ├── _plugins │ └── .gitkeep ├── _quake │ ├── references │ │ ├── code.yml │ │ ├── roadmap.yml │ │ ├── spike.yml │ │ ├── todo.yml │ │ ├── yiki.yml │ │ ├── bookmark.yml │ │ ├── framework_doc.yml │ │ ├── story.yml │ │ ├── testcases.yml │ │ ├── issue.yml │ │ └── quake_book.yml │ ├── dashboard.layout │ ├── element-define.yml │ ├── transflows.yaml │ └── transfuncs.js ├── code │ ├── entry-node-info.yaml │ ├── entries.csv │ └── 0001-phodal-com-process.md ├── graph │ ├── entry-node-info.yaml │ ├── entries.csv │ └── board │ │ └── 0001.json ├── issue │ ├── entry-node-info.yaml │ ├── entries.csv │ └── 0001-more-content-for-search-results.md ├── papers │ ├── entry-node-info.yaml │ ├── 0002-workflow-engine-spike.md │ ├── entries.csv │ └── 0001-a-system-for-query-analysis-and-visualization-of-multi-dimensional-relational-databases.md ├── roadmap │ ├── entry-node-info.yaml │ ├── entries.csv │ └── 0001-first-mvp.md ├── spike │ ├── entry-node-info.yaml │ ├── 0002-crawl-github-project-info.md │ ├── 0003-webcomponents-for-react-components.md │ ├── entries.csv │ └── 0001-pdf-to-txt.md ├── story │ ├── entry-node-info.yaml │ ├── 0010-crawl-links.md │ ├── 0015-dockerfile-for-auto-deploy.md │ ├── 0014-watch-dir-&-feed-to-searchengine.md │ ├── 0008-add-images-support.md │ ├── 0013-infinite-scroll-for-dashboard.md │ ├── 0023-create-quake-loging-attribute.md │ ├── 0011-custom-path-for-entry.md │ ├── 0021-make-transflow-in-auto-suggest-api.md │ ├── 0004-flowy-item.md │ ├── 0005-navigator-for-webapp.md │ ├── 0038-thinking-in-remove-of-entry.md │ ├── 0018-tql-for-search-query.md │ ├── 0007-migration-.quake.yaml-to-quake.toml.md │ ├── 0003-page-link-support.md │ ├── 0012-replace-search-api-with-entries-list-csv.md │ ├── 0041-build-check-for-startup.md │ ├── 0006-monorep-with-nxjs.md │ ├── 0027-create-web-componet-core-api.md │ ├── 0029-deploy-to-github-pages-as-demo.md │ ├── 0032-quake-links-as-a-entry-type-for-data.md │ ├── 0016-timeline-for-annual-review.md │ ├── 0042-transflow-support-for-password-manager.md │ ├── 0030-dump-data-for-github-pages.md │ ├── 0002-quake-render-for-entry.md │ ├── 0034-element-define-support-for-transflow-inheritance.md │ ├── 0020-search-rule-'filterableattributes'-by-entry-type.md │ ├── 0025-chinese-table-of-content-parser.md │ ├── 0001-typeform-for-entry-field.md │ ├── 0031-heading-support-for-pagelink.md │ ├── 0028-scripts-for-auto-offline-deps.md │ ├── 0024-pagelink-storage.md │ ├── 0036-auto-generate-pdf-papers-to-entry.md │ ├── 0019-filter-for-flow-codegen.md │ ├── 0026-transflow-support-httphttps-api-and-fetch-next.md │ └── 0009-pdf-spike.md ├── todo │ ├── entry-node-info.yaml │ ├── entries.csv │ └── 0001-time-support.md ├── yiki │ ├── entry-node-info.yaml │ ├── 0002-知识管理元框架.md │ ├── 0001-概念知识容量.md │ └── entries.csv ├── bookmark │ ├── entry-node-info.yaml │ ├── entries.csv │ └── 0001-the-infinite-game.md ├── quake_book │ ├── entry-node-info.yaml │ ├── 0008-quake-server-api.md │ ├── 0005-custom-quake-component.md │ ├── entries.csv │ └── 0002-setup.md ├── testcases │ ├── entry-node-info.yaml │ ├── entries.csv │ ├── 0001-pagelink.md │ └── 0002-test-embed-links-html.md └── framework_doc │ ├── entry-node-info.yaml │ └── entries.csv ├── quake_webapp ├── packages │ ├── .gitkeep │ ├── README.md │ ├── calendar │ │ ├── README.md │ │ ├── src │ │ │ └── react-app-env.d.ts │ │ ├── .editorconfig │ │ ├── config-overrides.js │ │ ├── .gitignore │ │ ├── tsconfig.json │ │ └── public │ │ │ └── index.html │ ├── timeline │ │ ├── README.md │ │ ├── src │ │ │ ├── react-app-env.d.ts │ │ │ └── QuakeTimeline.tsx │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── tsconfig.json │ │ ├── config-overrides.js │ │ └── public │ │ │ └── index.html │ └── quake-viewer │ │ ├── README.md │ │ ├── src │ │ └── react-app-env.d.ts │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── config-overrides.js │ │ ├── tsconfig.json │ │ └── public │ │ └── index.html ├── .npmrc ├── tsconfig.base.json ├── quake-board │ ├── src │ │ ├── types.ts │ │ ├── react-app-env.d.ts │ │ ├── setupTests.ts │ │ └── components │ │ │ ├── base-model │ │ │ ├── DiamondPortModel.ts │ │ │ ├── DiamondNodeFactory.tsx │ │ │ └── DiamondNodeModel.ts │ │ │ ├── SimplePortFactory.ts │ │ │ └── concept │ │ │ ├── ConceptNodeFactory.tsx │ │ │ ├── ConceptNodeModel.tsx │ │ │ └── Editor.tsx │ ├── public │ │ ├── robots.txt │ │ ├── favicon.ico │ │ └── manifest.json │ ├── docs │ │ └── README.md │ ├── .editorconfig │ ├── config-overrides.js │ ├── .gitignore │ ├── tsconfig.json │ └── README.md ├── quake-editor │ ├── src │ │ ├── types.ts │ │ ├── react-app-env.d.ts │ │ └── setupTests.ts │ ├── public │ │ ├── robots.txt │ │ ├── favicon.ico │ │ └── manifest.json │ ├── README.md │ ├── .editorconfig │ ├── config-overrides.js │ ├── .gitignore │ ├── tsconfig.json │ └── package.json ├── dashboard │ ├── src │ │ ├── index.ts │ │ ├── components │ │ │ ├── entry-card │ │ │ │ ├── entry-card.css │ │ │ │ └── readme.md │ │ │ ├── entry-list │ │ │ │ ├── entry-list.css │ │ │ │ ├── readme.md │ │ │ │ └── entry-list.tsx │ │ │ ├── simple-layout │ │ │ │ ├── simple-layout.css │ │ │ │ └── readme.md │ │ │ ├── utils │ │ │ │ ├── PadLeft.ts │ │ │ │ └── DateFormat.ts │ │ │ ├── quake-dashboard │ │ │ │ ├── quake-dashboard.css │ │ │ │ ├── readme.md │ │ │ │ ├── quake-core-wrapper.ts │ │ │ │ ├── quake-dashboard.spec.ts │ │ │ │ └── quake-dashboard.e2e.ts │ │ │ └── fetch-api │ │ │ │ └── readme.md │ │ └── index.html │ ├── .editorconfig │ ├── .prettierrc.json │ ├── .gitignore │ ├── tsconfig.json │ ├── stencil.config.ts │ ├── LICENSE │ └── package.json ├── quake-kbar │ ├── src │ │ ├── react-app-env.d.ts │ │ └── setupTests.ts │ ├── public │ │ ├── robots.txt │ │ ├── favicon.ico │ │ └── manifest.json │ ├── .editorconfig │ ├── config-overrides.js │ ├── .gitignore │ ├── tsconfig.json │ └── README.md ├── quake-render │ ├── src │ │ ├── index.ts │ │ ├── components │ │ │ ├── graph-bar │ │ │ │ ├── graph-bar.css │ │ │ │ └── readme.md │ │ │ ├── graph-line │ │ │ │ ├── graph-line.css │ │ │ │ └── readme.md │ │ │ ├── graph-transflow │ │ │ │ ├── graph-transflow.css │ │ │ │ ├── graph-transflow.tsx │ │ │ │ └── readme.md │ │ │ ├── embed-link │ │ │ │ ├── embed-link.css │ │ │ │ ├── test │ │ │ │ │ ├── embed-link.e2e.ts │ │ │ │ │ └── embed-link.spec.tsx │ │ │ │ ├── readme.md │ │ │ │ └── embed-link.tsx │ │ │ ├── graph-network │ │ │ │ ├── graph-network.css │ │ │ │ └── readme.md │ │ │ ├── data-grid │ │ │ │ ├── data-grid.css │ │ │ │ └── readme.md │ │ │ └── quake-render │ │ │ │ └── readme.md │ │ └── markdown │ │ │ ├── quake-down.spec.ts │ │ │ └── quake-down.type.ts │ ├── .editorconfig │ ├── .prettierrc.json │ ├── .gitignore │ ├── stencil.config.ts │ ├── readme.md │ ├── tsconfig.json │ ├── LICENSE │ └── package.json ├── type-creator │ ├── src │ │ ├── index.ts │ │ ├── components │ │ │ └── type-creator │ │ │ │ ├── readme.md │ │ │ │ └── type-creator.css │ │ ├── index.html │ │ └── components.d.ts │ ├── .editorconfig │ ├── .prettierrc.json │ ├── .gitignore │ ├── stencil.config.ts │ ├── tsconfig.json │ ├── LICENSE │ └── package.json ├── .editorconfig ├── .gitignore ├── package.json ├── nx.json └── transflow.lib.js ├── _fixtures ├── demo_quake │ ├── _quake │ │ ├── transfuncs.js │ │ ├── element-define.yml │ │ ├── references │ │ │ └── todo.yml │ │ └── dashboard.layout │ ├── todo │ │ ├── entry-node-info.yaml │ │ ├── entries.csv │ │ └── 0001-time-support.md │ ├── .quake.yaml │ └── entries-define.yaml ├── configs │ └── .quake.yaml ├── codegen │ ├── todos_element.js │ └── todos_blogs.js ├── transflows │ └── transflows.yaml └── import_test │ └── todo.json ├── quake_gui ├── .taurignore ├── .gitignore ├── src-tauri │ ├── build.rs │ ├── icons │ │ └── icon.png │ ├── .gitignore │ ├── src │ │ └── main.rs │ └── Cargo.toml ├── public │ └── yew.png ├── .vscode │ ├── settings.json │ └── extensions.json ├── src │ └── main.rs ├── Trunk.toml ├── index.html ├── README.md └── Cargo.toml ├── quake_tui ├── README.md ├── Cargo.toml └── src │ ├── ui.rs │ └── lib.rs ├── static_dump ├── transflow │ └── script │ │ └── custom_transfuncs.js ├── entry │ ├── defines │ └── todo │ │ └── 1 ├── action │ └── suggest ├── indexes │ └── todo │ │ └── search ├── references │ └── todo.json └── layout │ └── dashboard ├── .adr.json ├── libs ├── quake_processor │ ├── README.md │ ├── _fixtures │ │ └── Test_PDF.pdf │ ├── .gitignore │ ├── src │ │ ├── lib.rs │ │ ├── pdf_processor.rs │ │ └── process_engine.rs │ └── Cargo.toml ├── quake_importer │ ├── test_temp │ │ └── .gitignore │ ├── Cargo.toml │ ├── src │ │ └── onenote.rs │ └── README.md └── README.md ├── src ├── cli │ ├── helper │ │ ├── content_process.rs │ │ ├── mod.rs │ │ └── table_process.rs │ └── mod.rs ├── helper │ ├── exec_wrapper │ │ ├── mod.rs │ │ ├── editor_exec.rs │ │ └── exec_runner.rs │ └── mod.rs ├── usecases │ ├── mod.rs │ └── suggest_usecases.rs └── server │ └── layout_api.rs ├── quake_log ├── src │ └── lib.rs └── Cargo.toml ├── quake_gui_old ├── src │ ├── main.rs │ └── lib.rs ├── README.md └── Cargo.toml ├── quake_wasm ├── README.md ├── Cargo.toml └── demo │ └── index.html ├── rust-toolchain.toml ├── nix_config ├── shell.nix ├── flake.nix └── flake.lock ├── .quake.yaml ├── .gitignore ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── web.yml │ ├── lint.yml │ └── build.yml ├── LICENSE └── justfile /docs/search.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quake_core/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/_plugins/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quake_webapp/packages/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quake_webapp/packages/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_fixtures/demo_quake/_quake/transfuncs.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quake_webapp/packages/calendar/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quake_webapp/packages/timeline/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quake_webapp/packages/quake-viewer/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/_quake/references/code.yml: -------------------------------------------------------------------------------- 1 | --- 2 | {} 3 | -------------------------------------------------------------------------------- /examples/_quake/references/roadmap.yml: -------------------------------------------------------------------------------- 1 | --- 2 | {} 3 | -------------------------------------------------------------------------------- /examples/_quake/references/spike.yml: -------------------------------------------------------------------------------- 1 | --- 2 | {} 3 | -------------------------------------------------------------------------------- /examples/_quake/references/todo.yml: -------------------------------------------------------------------------------- 1 | --- 2 | {} 3 | -------------------------------------------------------------------------------- /examples/_quake/references/yiki.yml: -------------------------------------------------------------------------------- 1 | --- 2 | {} 3 | -------------------------------------------------------------------------------- /quake_gui/.taurignore: -------------------------------------------------------------------------------- 1 | /src 2 | /public 3 | /Cargo.toml -------------------------------------------------------------------------------- /quake_tui/README.md: -------------------------------------------------------------------------------- 1 | # Quake TUI 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static_dump/transflow/script/custom_transfuncs.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/_quake/references/bookmark.yml: -------------------------------------------------------------------------------- 1 | --- 2 | {} 3 | -------------------------------------------------------------------------------- /examples/code/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 3 3 | -------------------------------------------------------------------------------- /examples/graph/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 1 3 | -------------------------------------------------------------------------------- /examples/issue/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 1 3 | -------------------------------------------------------------------------------- /examples/papers/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 2 3 | -------------------------------------------------------------------------------- /examples/roadmap/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 1 3 | -------------------------------------------------------------------------------- /examples/spike/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 4 3 | -------------------------------------------------------------------------------- /examples/story/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 42 3 | -------------------------------------------------------------------------------- /examples/todo/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 1 3 | -------------------------------------------------------------------------------- /examples/yiki/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 2 3 | -------------------------------------------------------------------------------- /quake_webapp/.npmrc: -------------------------------------------------------------------------------- 1 | strict-peer-dependencies=false 2 | -------------------------------------------------------------------------------- /examples/_quake/references/framework_doc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | {} 3 | -------------------------------------------------------------------------------- /examples/bookmark/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 3 3 | -------------------------------------------------------------------------------- /examples/quake_book/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 8 3 | -------------------------------------------------------------------------------- /examples/testcases/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 2 3 | -------------------------------------------------------------------------------- /quake_gui/.gitignore: -------------------------------------------------------------------------------- 1 | /dist/ 2 | /target/ 3 | /Cargo.lock 4 | -------------------------------------------------------------------------------- /.adr.json: -------------------------------------------------------------------------------- 1 | {"language":"en","path":"docs/adr/","prefix":"","digits":4} -------------------------------------------------------------------------------- /_fixtures/demo_quake/todo/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 1 3 | -------------------------------------------------------------------------------- /examples/framework_doc/entry-node-info.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | index: 1 3 | -------------------------------------------------------------------------------- /libs/quake_processor/README.md: -------------------------------------------------------------------------------- 1 | # Processor 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /quake_webapp/tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": {} 3 | } -------------------------------------------------------------------------------- /src/cli/helper/content_process.rs: -------------------------------------------------------------------------------- 1 | pub struct FileContentProcess {} 2 | -------------------------------------------------------------------------------- /libs/quake_importer/test_temp/.gitignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | !.gitignore 3 | 4 | -------------------------------------------------------------------------------- /quake_log/src/lib.rs: -------------------------------------------------------------------------------- 1 | trait Logger { 2 | fn info(_str: String) {} 3 | } 4 | -------------------------------------------------------------------------------- /src/cli/helper/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod content_process; 2 | pub mod table_process; 3 | -------------------------------------------------------------------------------- /docs/concepts/components.csv: -------------------------------------------------------------------------------- 1 | type,code,description,notes 2 | 数据表格化,table_data,, 3 | -------------------------------------------------------------------------------- /quake_gui/src-tauri/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | tauri_build::build() 3 | } 4 | -------------------------------------------------------------------------------- /quake_gui_old/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | // launch(); 3 | () 4 | } 5 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/src/types.ts: -------------------------------------------------------------------------------- 1 | export type TocMenuItem = { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /quake_webapp/quake-editor/src/types.ts: -------------------------------------------------------------------------------- 1 | export type TocMenuItem = { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/index.ts: -------------------------------------------------------------------------------- 1 | export { Components, JSX } from './components'; 2 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /quake_webapp/quake-editor/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /quake_webapp/quake-kbar/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/index.ts: -------------------------------------------------------------------------------- 1 | export { Components, JSX } from './components'; 2 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/src/index.ts: -------------------------------------------------------------------------------- 1 | export { Components, JSX } from './components'; 2 | -------------------------------------------------------------------------------- /quake_gui/public/yew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phodal/quake/HEAD/quake_gui/public/yew.png -------------------------------------------------------------------------------- /quake_webapp/packages/calendar/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /quake_webapp/packages/timeline/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/components/entry-card/entry-card.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/components/entry-list/entry-list.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /quake_webapp/packages/quake-viewer/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /quake_gui/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "emmet.includeLanguages": { 3 | "rust": "html" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /quake_wasm/README.md: -------------------------------------------------------------------------------- 1 | # Rust WASM 2 | 3 | > provide Quake core API for Web api in Web. 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/graph-bar/graph-bar.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/graph-line/graph-line.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /src/helper/exec_wrapper/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod editor_exec; 2 | mod exec_runner; 3 | pub(crate) mod meili_exec; 4 | -------------------------------------------------------------------------------- /quake_core/src/markdown/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod entry_reference; 2 | pub mod md_processor; 3 | pub mod references; 4 | -------------------------------------------------------------------------------- /quake_core/src/parser/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod ast; 2 | pub mod errors; 3 | pub mod quake; 4 | pub mod quake_parser; 5 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/components/simple-layout/simple-layout.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /quake_gui/src-tauri/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phodal/quake/HEAD/quake_gui/src-tauri/icons/icon.png -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/graph-transflow/graph-transflow.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /quake_gui/src-tauri/.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /quake_webapp/quake-editor/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /quake_webapp/quake-kbar/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /src/helper/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod entry_watcher; 2 | pub mod exec_wrapper; 3 | pub mod search_config; 4 | pub mod watcher_rule; 5 | -------------------------------------------------------------------------------- /quake_gui/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] 3 | } 4 | -------------------------------------------------------------------------------- /quake_gui/src/main.rs: -------------------------------------------------------------------------------- 1 | mod app; 2 | 3 | use app::App; 4 | 5 | fn main() { 6 | yew::Renderer::::new().render(); 7 | } 8 | -------------------------------------------------------------------------------- /quake_webapp/quake-kbar/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phodal/quake/HEAD/quake_webapp/quake-kbar/public/favicon.ico -------------------------------------------------------------------------------- /_fixtures/demo_quake/.quake.yaml: -------------------------------------------------------------------------------- 1 | workspace: "." 2 | search_url: "http://127.0.0.1:7700" 3 | server_location: "dist" 4 | editor: vim 5 | -------------------------------------------------------------------------------- /examples/roadmap/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","created_date","updated_date" 2 | 1,"first mvp","2021-12-07 21:19:14","2021-12-07 21:19:14" 3 | -------------------------------------------------------------------------------- /libs/quake_processor/_fixtures/Test_PDF.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phodal/quake/HEAD/libs/quake_processor/_fixtures/Test_PDF.pdf -------------------------------------------------------------------------------- /quake_webapp/quake-board/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phodal/quake/HEAD/quake_webapp/quake-board/public/favicon.ico -------------------------------------------------------------------------------- /quake_webapp/quake-editor/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phodal/quake/HEAD/quake_webapp/quake-editor/public/favicon.ico -------------------------------------------------------------------------------- /quake_core/src/transflow/mod.rs: -------------------------------------------------------------------------------- 1 | pub use flow::Transflow; 2 | 3 | pub mod element_define; 4 | pub mod flow; 5 | pub mod js_flow_codegen; 6 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/embed-link/embed-link.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | background: rgb(244,244,244); 4 | } 5 | -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "stable" 3 | components = ["rustfmt", "clippy", "llvm-tools-preview"] 4 | profile = "minimal" 5 | -------------------------------------------------------------------------------- /libs/quake_processor/.gitignore: -------------------------------------------------------------------------------- 1 | _fixtures/oopsla16-spreadsheet.pdf 2 | _fixtures/samples.pdf 3 | samples.txt 4 | _fixtures/polaris.pdf 5 | *.txt 6 | -------------------------------------------------------------------------------- /libs/quake_processor/src/lib.rs: -------------------------------------------------------------------------------- 1 | extern crate lopdf; 2 | extern crate pdf_extract; 3 | 4 | pub mod pdf_processor; 5 | pub mod process_engine; 6 | -------------------------------------------------------------------------------- /docs/concepts/tech-spec.csv: -------------------------------------------------------------------------------- 1 | type,code,description,notes 2 | 托盘,tray,在系统的状态栏中可访问系统的状态, 3 | 搜索框,search_box,用于搜索功能, 4 | 守护进程,daemon,后台运行, 5 | 分词,participle,, -------------------------------------------------------------------------------- /examples/todo/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","author","created_date","updated_date" 2 | 1,"time support","","2021-11-24 19:14:10","2021-11-24 19:14:10" 3 | -------------------------------------------------------------------------------- /_fixtures/configs/.quake.yaml: -------------------------------------------------------------------------------- 1 | workspace: "test_dir" 2 | search_url: "http://127.0.0.1:7700" 3 | server_location: "quake_webapp" 4 | editor: 5 | port: 9999 6 | -------------------------------------------------------------------------------- /_fixtures/demo_quake/todo/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","author","created_date","updated_date" 2 | 1,"time support","","2021-11-24 19:14:10","2021-11-24 19:14:10" 3 | -------------------------------------------------------------------------------- /quake_core/src/helper/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod file_filter; 2 | pub mod quake_time; 3 | 4 | pub use file_filter::filter_by_prefix; 5 | pub use quake_time::date_now; 6 | -------------------------------------------------------------------------------- /examples/graph/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","file","created_date","updated_date" 2 | 1,"init board data","board/0001.json","2022-01-14 08:32:51","2022-01-14 08:32:51" 3 | -------------------------------------------------------------------------------- /examples/framework_doc/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","created_date","updated_date","category" 2 | 1,"meilisearch","2021-12-07 21:18:03","2021-12-07 21:18:03","search engine" 3 | -------------------------------------------------------------------------------- /quake_core/src/usecases/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod entry_define_usecases; 2 | pub mod entry_usecases; 3 | pub mod entrysets; 4 | pub mod flow_usecases; 5 | pub mod layout_usecases; 6 | -------------------------------------------------------------------------------- /quake_gui_old/README.md: -------------------------------------------------------------------------------- 1 | # Quake gui 2 | 3 | ## Technical Spike 4 | 5 | - React integration: [dioxus-react-example](https://github.com/Eliot00/dioxus-react-example) 6 | -------------------------------------------------------------------------------- /src/usecases/mod.rs: -------------------------------------------------------------------------------- 1 | pub(crate) mod generate_usecases; 2 | pub(crate) mod processor_usecases; 3 | pub(crate) mod reference_usecases; 4 | pub(crate) mod suggest_usecases; 5 | -------------------------------------------------------------------------------- /quake_webapp/quake-editor/README.md: -------------------------------------------------------------------------------- 1 | # Editor 2 | 3 | to webcomponents: https://levelup.gitconnected.com/convert-existing-react-components-intowebcomponents-2b33b842ff9a 4 | 5 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/graph-network/graph-network.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | 5 | .chart { 6 | width: 500px; 7 | height: 500px; 8 | } 9 | -------------------------------------------------------------------------------- /examples/yiki/0002-知识管理元框架.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 知识管理元框架 3 | author: Phodal HUANG 4 | created_date: 2021-11-30 20:25:23 5 | updated_date: 2021-12-01 11:08:40 6 | --- 7 | 8 | 允许自定义字段 9 | -------------------------------------------------------------------------------- /static_dump/entry/defines: -------------------------------------------------------------------------------- 1 | {"entries":[{"type":"todo","display":"","properties":[{"title":"Title"},{"author":"String"},{"content":"Body"},{"created_date":"Date"},{"updated_date":"Date"}]}]} -------------------------------------------------------------------------------- /quake_gui/Trunk.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "./index.html" 3 | 4 | [watch] 5 | ignore = ["./src-tauri"] 6 | 7 | [serve] 8 | address = "127.0.0.1" 9 | port = 1420 10 | open = false 11 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # Docs 2 | 3 | ## AppFlowy.IO 4 | 5 | ⭐️ The Open Source Notion Alternative ⭐️ 6 | 7 | [https://github.com/AppFlowy-IO/appflowy](https://github.com/AppFlowy-IO/appflowy) 8 | 9 | -------------------------------------------------------------------------------- /examples/story/0010-crawl-links.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: crawl links 3 | author: 4 | status: Spike 5 | priority: Low 6 | created_date: 2021-12-03 13:02:42 7 | updated_date: 2021-12-03 13:02:42 8 | --- 9 | -------------------------------------------------------------------------------- /examples/todo/0001-time-support.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: time support 3 | author: 4 | content: 5 | created_date: 2021-11-24 19:14:10 6 | updated_date: 2021-11-24 19:14:10 7 | --- 8 | 9 | ahaha 10 | -------------------------------------------------------------------------------- /examples/yiki/0001-概念知识容量.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 概念知识容量表 3 | author: Phodal HUANG 4 | created_date: 2021-11-25 10:14:26 5 | updated_date: 2021-11-25 10:14:26 6 | --- 7 | 8 | 一个概念下,所能承载的知识量是有限的,所以要继续往下拆分。 9 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/components/utils/PadLeft.ts: -------------------------------------------------------------------------------- 1 | function padLeft(nr, n = 4, str) { 2 | return Array(n - String(nr).length + 1).join(str || '0') + nr; 3 | } 4 | 5 | export default padLeft; 6 | -------------------------------------------------------------------------------- /examples/testcases/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","created_date","updated_date" 2 | 1,"pagelink","2021-12-14 12:56:27","2021-12-14 12:56:27" 3 | 2,"test embed links html","2021-12-14 17:15:36","2021-12-14 17:15:36" 4 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/components/utils/DateFormat.ts: -------------------------------------------------------------------------------- 1 | import dayjs from "dayjs"; 2 | 3 | function format(str) { 4 | return dayjs(str * 1000).format('YYYY-MM-DD'); 5 | } 6 | 7 | export default format; 8 | -------------------------------------------------------------------------------- /examples/papers/0002-workflow-engine-spike.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: workflow engine spike 3 | file: pdca/Presto_SQL_on_Everything.pdf 4 | created_date: 2021-12-30 21:21:25 5 | updated_date: 2021-12-30 21:21:25 6 | --- 7 | -------------------------------------------------------------------------------- /static_dump/action/suggest: -------------------------------------------------------------------------------- 1 | {"entries":[{"type":"todo","display":"","properties":[{"title":"Title"},{"author":"String"},{"content":"Body"},{"created_date":"Date"},{"updated_date":"Date"}]}],"actions":["add","edit","show"]} -------------------------------------------------------------------------------- /static_dump/entry/todo/1: -------------------------------------------------------------------------------- 1 | {"title":"time support","author":"","created_date":"1637781250","updated_date":"1637781250","type":"todo","id":1,"content":"\n\nahaha\n\n[[todo:0001 \"links\"]]\n\n[[note:0002#Demo \"title\"]]\n"} -------------------------------------------------------------------------------- /examples/story/0015-dockerfile-for-auto-deploy.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: dockerfile for auto deploy 3 | author: 4 | status: Todo 5 | priority: Low 6 | created_date: 2021-12-04 20:09:31 7 | updated_date: 2021-12-04 20:09:31 8 | --- 9 | -------------------------------------------------------------------------------- /examples/yiki/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","author","created_date","updated_date" 2 | 1,"概念知识容量表","Phodal HUANG","2021-11-25 10:14:26","2021-11-25 10:14:26" 3 | 2,"知识管理元框架","Phodal HUANG","2021-11-30 20:25:23","2021-12-01 11:08:40" 4 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/data-grid/data-grid.css: -------------------------------------------------------------------------------- 1 | @import '~ag-grid-community/dist/styles/ag-grid.css'; 2 | @import '~ag-grid-community/dist/styles/ag-theme-alpine.css'; 3 | 4 | :host { 5 | display: block; 6 | } 7 | -------------------------------------------------------------------------------- /static_dump/indexes/todo/search: -------------------------------------------------------------------------------- 1 | [{"title":"time support","author":"","created_date":"1637781250","updated_date":"1637781250","type":"todo","id":1,"content":"\n\nahaha\n\n[[todo:0001 \"links\"]]\n\n[[note:0002#Demo \"title\"]]\n"}] -------------------------------------------------------------------------------- /examples/_quake/references/story.yml: -------------------------------------------------------------------------------- 1 | --- 2 | "0003": 3 | source_type: story 4 | source_id: "0003" 5 | source_title: page link support 6 | references: 7 | - entry_type: "" 8 | entry_id: "" 9 | entry_title: "" 10 | -------------------------------------------------------------------------------- /examples/spike/0002-crawl-github-project-info.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: crawl GitHub project info 3 | author: 4 | content: 5 | done_by: 6 | created_date: 2021-12-02 10:21:37 7 | updated_date: 2021-12-02 10:21:37 8 | --- 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/story/0014-watch-dir-&-feed-to-searchengine.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: watch dir & feed to searchengine 3 | author: Phodal 4 | status: Done 5 | priority: High 6 | created_date: 2021-12-04 15:19:45 7 | updated_date: 2021-12-04 15:19:45 8 | --- 9 | -------------------------------------------------------------------------------- /examples/_quake/references/testcases.yml: -------------------------------------------------------------------------------- 1 | --- 2 | "0001": 3 | source_type: testcases 4 | source_id: "0001" 5 | source_title: pagelink 6 | references: 7 | - entry_type: issue 8 | entry_id: "0001" 9 | entry_title: demo 10 | -------------------------------------------------------------------------------- /examples/story/0008-add-images-support.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: add images support 3 | author: 4 | status: Todo 5 | priority: Low 6 | created_date: 2021-12-03 13:01:43 7 | updated_date: 2021-12-03 13:01:43 8 | --- 9 | 10 | 11 | as title 12 | 13 | -------------------------------------------------------------------------------- /examples/story/0013-infinite-scroll-for-dashboard.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Infinite Scroll for Dashboard 3 | author: 4 | status: Done 5 | priority: High 6 | created_date: 2021-12-04 14:46:38 7 | updated_date: 2021-12-04 14:46:38 8 | --- 9 | 10 | -------------------------------------------------------------------------------- /examples/quake_book/0008-quake-server-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: quake server api 3 | created_date: 2022-01-23 13:02:50 4 | updated_date: 2022-01-23 13:02:50 5 | order: 6 | author: 7 | --- 8 | 9 | 10 | API: 11 | 12 | /entry/defines 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/story/0023-create-quake-loging-attribute.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: create quake loging attribute 3 | author: 4 | status: Doing 5 | priority: Low 6 | created_date: 2021-12-14 08:19:59 7 | updated_date: 2021-12-14 08:19:59 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/components/entry-list/readme.md: -------------------------------------------------------------------------------- 1 | # entry-list 2 | 3 | 4 | 5 | 6 | 7 | 8 | ---------------------------------------------- 9 | 10 | *Built with [StencilJS](https://stenciljs.com/)* 11 | -------------------------------------------------------------------------------- /quake_core/README.md: -------------------------------------------------------------------------------- 1 | # Transflow 2 | 3 | 4 | # Chart 5 | 6 | 7 | ### One 8 | 9 | chart 10 | .from('blog', 'todo') // source 11 | .select('') 12 | .chart('bar') 13 | .config(~json~) // optional 14 | 15 | ### Multiple 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /examples/issue/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","assignee","created_by","status","description","attachements","link","created_date","updated_date","priority" 2 | 1,"more content for search results","","Phodal","","","","","2021-12-09 15:25:33","2021-12-09 15:25:33","Low" 3 | -------------------------------------------------------------------------------- /examples/story/0011-custom-path-for-entry.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: custom path for entry 3 | author: 4 | status: Todo 5 | priority: Low 6 | created_date: 2021-12-03 16:49:36 7 | updated_date: 2021-12-03 16:49:36 8 | --- 9 | 10 | add config to entries define. 11 | -------------------------------------------------------------------------------- /static_dump/references/todo.json: -------------------------------------------------------------------------------- 1 | {"0001":{"source_type":"todo","source_id":"0001","source_title":"time support","references":[{"entry_type":"todo","entry_id":"0001","entry_title":"links"},{"entry_type":"note","entry_id":"0002","entry_title":"title","section":"Demo"}]}} -------------------------------------------------------------------------------- /examples/story/0021-make-transflow-in-auto-suggest-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: make transflow in auto_suggest api 3 | author: 4 | status: Spike 5 | priority: Low 6 | created_date: 2021-12-08 23:39:40 7 | updated_date: 2021-12-08 23:39:40 8 | --- 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /_fixtures/demo_quake/_quake/element-define.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: quake-calendar 3 | events: [] 4 | attributes: 5 | - name: data 6 | data_properties: 7 | - title: String 8 | - content: String 9 | - created_date: String 10 | - updated_date: String 11 | -------------------------------------------------------------------------------- /_fixtures/demo_quake/todo/0001-time-support.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: time support 3 | author: 4 | content: 5 | created_date: 2021-11-24 19:14:10 6 | updated_date: 2021-11-24 19:14:10 7 | --- 8 | 9 | ahaha 10 | 11 | [[todo:0001 "links"]] 12 | 13 | [[note:0002#Demo "title"]] 14 | -------------------------------------------------------------------------------- /examples/story/0004-flowy-item.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: flowy item 3 | author: 4 | status: Done 5 | priority: Low 6 | created_date: 2021-12-02 17:07:58 7 | updated_date: 2021-12-02 17:34:49 8 | --- 9 | 10 | # show items 11 | 12 | 13 | ```javascript 14 | ``` 15 | 16 | 17 | -------------------------------------------------------------------------------- /examples/story/0005-navigator-for-webapp.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: navigator for webapp 3 | author: 4 | status: Todo 5 | priority: Low 6 | created_date: 2021-12-02 19:45:54 7 | updated_date: 2021-12-02 19:45:54 8 | --- 9 | 10 | replace current home with new UI 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/story/0038-thinking-in-remove-of-entry.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: thinking in remove of entry 3 | author: 4 | status: Spike 5 | priority: Low 6 | created_date: 2022-01-03 10:53:19 7 | updated_date: 2022-01-03 10:53:19 8 | --- 9 | 10 | update index rules? 11 | 12 | 13 | -------------------------------------------------------------------------------- /nix_config/shell.nix: -------------------------------------------------------------------------------- 1 | { pkgs ? import {} }: 2 | 3 | pkgs.mkShell { 4 | buildInputs = with pkgs; [ 5 | pkg-config 6 | openssl 7 | glib 8 | gdk-pixbuf 9 | libsoup 10 | gtk3 11 | webkitgtk 12 | libappindicator 13 | ]; 14 | } 15 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/docs/README.md: -------------------------------------------------------------------------------- 1 | # Spike 2 | 3 | ## Draw.io 4 | 5 | draw.io decode: [https://jgraph.github.io/drawio-tools/tools/convert.html](https://jgraph.github.io/drawio-tools/tools/convert.html) 6 | 7 | sample see in: [draw_io_sample.xml](./draw_io_sample.xml) 8 | -------------------------------------------------------------------------------- /examples/_quake/references/issue.yml: -------------------------------------------------------------------------------- 1 | --- 2 | "0001": 3 | source_type: issue 4 | source_id: "0001" 5 | source_title: more content for search results 6 | references: 7 | - entry_type: framework_doc 8 | entry_id: "0001" 9 | entry_title: meilisearch doc 10 | -------------------------------------------------------------------------------- /examples/code/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","created_date","updated_date" 2 | 1,"Phodal.com Process","2021-12-02 20:06:20","2021-12-02 20:06:20" 3 | 2,"ledge usage","2021-12-02 20:06:20","2021-12-02 20:06:20" 4 | 3,"pulldown markdown processor","2021-12-07 21:16:28","2021-12-07 21:16:28" 5 | -------------------------------------------------------------------------------- /quake_gui/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Tauri + Yew App 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /_fixtures/demo_quake/entries-define.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | entries: 3 | - type: todo 4 | display: "" 5 | properties: 6 | - title: Title 7 | - author: String 8 | - content: Body 9 | - created_date: Date 10 | - updated_date: Date 11 | actions: ~ 12 | -------------------------------------------------------------------------------- /examples/testcases/0001-pagelink.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: pagelink 3 | created_date: 2021-12-14 12:56:27 4 | updated_date: 2021-12-14 12:56:27 5 | --- 6 | 7 | 普通的跳转 8 | 9 | some_link [[issue:0001 "demo"]] fdas 10 | 11 | 这是一个新的套娃。 12 | 13 | ![[framework_doc:0001 "demo"]] 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/adr/0014-sql-for-query.md: -------------------------------------------------------------------------------- 1 | # 14. sql for query 2 | 3 | Date: 2021-11-29 4 | 5 | ## Status 6 | 7 | 2021-11-29 proposed 8 | 9 | ## Context 10 | 11 | Context here... 12 | 13 | ## Decision 14 | 15 | Decision here... 16 | 17 | ## Consequences 18 | 19 | Consequences here... 20 | -------------------------------------------------------------------------------- /examples/story/0018-tql-for-search-query.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: tql for search query 3 | author: 4 | status: Spike 5 | priority: Low 6 | created_date: 2021-12-05 16:53:58 7 | updated_date: 2021-12-05 16:53:58 8 | --- 9 | 10 | 11 | create a simple Query for custom search 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /libs/README.md: -------------------------------------------------------------------------------- 1 | # Handling Documents Processing 2 | 3 | ## Docx to TXT 4 | 5 | GitHub: https://github.com/anvie/dotext 6 | 7 | ## PDF to TXT 8 | 9 | GitHub: https://github.com/jrmuizel/pdf-extract 10 | 11 | ## Media File 12 | 13 | GitHub: https://github.com/zmwangx/metadata 14 | 15 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /quake_webapp/quake-kbar/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /quake_webapp/quake-editor/src/setupTests.ts: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /docs/adr/0017-notion-blockmap-render.md: -------------------------------------------------------------------------------- 1 | # 17. notion blockmap render 2 | 3 | Date: 2021-11-30 4 | 5 | ## Status 6 | 7 | 2021-11-30 proposed 8 | 9 | ## Context 10 | 11 | Context here... 12 | 13 | ## Decision 14 | 15 | Decision here... 16 | 17 | ## Consequences 18 | 19 | Consequences here... 20 | -------------------------------------------------------------------------------- /docs/adr/0019-freeboard-with-mxgraph.md: -------------------------------------------------------------------------------- 1 | # 19. freeboard with mxgraph 2 | 3 | Date: 2021-11-30 4 | 5 | ## Status 6 | 7 | 2021-11-30 proposed 8 | 9 | ## Context 10 | 11 | Context here... 12 | 13 | ## Decision 14 | 15 | Decision here... 16 | 17 | ## Consequences 18 | 19 | Consequences here... 20 | -------------------------------------------------------------------------------- /examples/story/0007-migration-.quake.yaml-to-quake.toml.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: migration Quake.toml to .quake.yaml 3 | author: 4 | status: Done 5 | priority: High 6 | created_date: 2021-12-02 23:42:57 7 | updated_date: 2021-12-02 23:42:57 8 | --- 9 | 10 | as you know, we have to differing config 11 | 12 | -------------------------------------------------------------------------------- /examples/story/0003-page-link-support.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: page link support 3 | author: 4 | status: Done 5 | priority: Medium 6 | created_date: 2021-12-02 14:40:59 7 | updated_date: 2021-12-02 14:40:59 8 | --- 9 | 10 | such as page link in Notion: `[[]]` 11 | 12 | some_link [[issue:0001-demo]] fdas 13 | -------------------------------------------------------------------------------- /examples/story/0012-replace-search-api-with-entries-list-csv.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: replace search api with entries list csv 3 | author: 4 | status: Done 5 | priority: Low 6 | created_date: 2021-12-03 16:56:51 7 | updated_date: 2021-12-03 16:56:51 8 | --- 9 | 10 | create simple json builder from csv 11 | 12 | -------------------------------------------------------------------------------- /.quake.yaml: -------------------------------------------------------------------------------- 1 | workspace: "examples" 2 | search_url: "http://127.0.0.1:7700" 3 | server_location: "quake_webapp" 4 | editor: vim 5 | port: 9999 6 | app_debug_level: debug 7 | 8 | # aut feed changes 9 | auto_feed: true 10 | 11 | components: 12 | quake_editor: 13 | autosave: 14 | interval: 3000 # ms 15 | -------------------------------------------------------------------------------- /docs/adr/0007-quake-server-for-gui-&-tui.md: -------------------------------------------------------------------------------- 1 | # 7. quake server for gui & tui 2 | 3 | Date: 2021-11-21 4 | 5 | ## Status 6 | 7 | 2021-11-21 proposed 8 | 9 | ## Context 10 | 11 | Context here... 12 | 13 | ## Decision 14 | 15 | Decision here... 16 | 17 | ## Consequences 18 | 19 | Consequences here... 20 | -------------------------------------------------------------------------------- /examples/spike/0003-webcomponents-for-react-components.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: webcomponents for react components 3 | author: 4 | done_by: 5 | created_date: 2021-12-02 14:50:31 6 | updated_date: 2021-12-02 14:50:31 7 | --- 8 | 9 | such as: 10 | 11 | - https://github.com/Silind-Software/direflow 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/story/0041-build-check-for-startup.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: build check for startup 3 | author: 4 | status: Spike 5 | priority: Low 6 | created_date: 2022-01-19 23:38:44 7 | updated_date: 2022-01-19 23:38:44 8 | --- 9 | 10 | generate hash changes for last files, and check new hash for startup 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/adr/0008-entrysets-for-entry-log-info.md: -------------------------------------------------------------------------------- 1 | # 8. entrysets for entry log info 2 | 3 | Date: 2021-11-22 4 | 5 | ## Status 6 | 7 | 2021-11-22 proposed 8 | 9 | ## Context 10 | 11 | Context here... 12 | 13 | ## Decision 14 | 15 | Decision here... 16 | 17 | ## Consequences 18 | 19 | Consequences here... 20 | -------------------------------------------------------------------------------- /docs/adr/0016-frontmatter-editor-for-fe.md: -------------------------------------------------------------------------------- 1 | # 16. frontmatter editor for fe 2 | 3 | Date: 2021-11-30 4 | 5 | ## Status 6 | 7 | 2021-11-30 proposed 8 | 9 | ## Context 10 | 11 | low code editor by field 12 | 13 | ## Decision 14 | 15 | Decision here... 16 | 17 | ## Consequences 18 | 19 | Consequences here... 20 | -------------------------------------------------------------------------------- /examples/quake_book/0005-custom-quake-component.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Custom Quake component 3 | created_date: 2021-12-12 23:31:29 4 | updated_date: 2021-12-12 23:31:29 5 | order: 6 | author: 7 | --- 8 | 9 | 10 | ## React 11 | 12 | 13 | ## Angular 14 | 15 | 16 | ## Vue 17 | 18 | 19 | ## Stencil.js 20 | 21 | -------------------------------------------------------------------------------- /examples/spike/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","author","done_by","created_date","updated_date" 2 | 1,"PDF to txt","","","2021-12-02 10:16:34","2021-12-02 10:16:34" 3 | 2,"crawl GitHub project info","","","2021-12-02 10:21:37","2021-12-02 10:21:37" 4 | 3,"webcomponents for react components","","","2021-12-02 14:50:31","2021-12-02 14:50:31" 5 | -------------------------------------------------------------------------------- /_fixtures/demo_quake/_quake/references/todo.yml: -------------------------------------------------------------------------------- 1 | 0001: 2 | source_type: todo 3 | source_id: 0001 4 | source_title: time support 5 | references: 6 | - entry_type: todo 7 | entry_id: 0001 8 | entry_title: links 9 | - entry_type: note 10 | entry_id: 0002 11 | entry_title: title 12 | section: Demo 13 | -------------------------------------------------------------------------------- /docs/adr/0021-quake-init-with-install-meilisearch.md: -------------------------------------------------------------------------------- 1 | # 21. quake init with install meilisearch 2 | 3 | Date: 2021-12-01 4 | 5 | ## Status 6 | 7 | 2021-12-01 proposed 8 | 9 | ## Context 10 | 11 | Context here... 12 | 13 | ## Decision 14 | 15 | Decision here... 16 | 17 | ## Consequences 18 | 19 | Consequences here... 20 | -------------------------------------------------------------------------------- /docs/adr/0002-quick-engine.md: -------------------------------------------------------------------------------- 1 | # 2. quick engine 2 | 3 | Date: 2021-11-19 4 | 5 | ## Status 6 | 7 | 2021-11-19 proposed 8 | 9 | ## Context 10 | 11 | - 自定义数据格式的「构型结构」(configurational structure)功能。 12 | - 自定义执行动作的脚本引擎。 13 | 14 | ## Decision 15 | 16 | Decision here... 17 | 18 | ## Consequences 19 | 20 | Consequences here... 21 | -------------------------------------------------------------------------------- /docs/adr/0018-calendar-view-api.md: -------------------------------------------------------------------------------- 1 | # 18. calendar view api 2 | 3 | Date: 2021-11-30 4 | 5 | ## Status 6 | 7 | 2021-11-30 proposed 8 | 9 | ## Context 10 | 11 | Data search API by days 12 | 13 | all days in one date. 14 | 15 | ## Decision 16 | 17 | Decision here... 18 | 19 | ## Consequences 20 | 21 | Consequences here... 22 | -------------------------------------------------------------------------------- /examples/bookmark/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","created_date","updated_date","tag","author" 2 | 1,"The Infinite Game","2021-12-15 19:54:55","2021-12-15 19:54:55","","" 3 | 2,"Designing Data-Intensive Applications","data","","2021-12-15 19:54:55","2021-12-15 19:54:55" 4 | 3,"biz visual analysis","2021-12-25 15:16:05","2021-12-25 15:16:05","","" 5 | -------------------------------------------------------------------------------- /examples/story/0006-monorep-with-nxjs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: monorep with nxjs 3 | author: 4 | status: Doing 5 | priority: Low 6 | created_date: 2021-12-02 21:50:45 7 | updated_date: 2021-12-02 21:50:45 8 | --- 9 | 10 | 11 | simple: [https://nx.dev/l/a/getting-started/nx-setup](https://nx.dev/l/a/getting-started/nx-setup) 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/story/0027-create-web-componet-core-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: create web component core api 3 | author: 4 | status: Spike 5 | priority: Low 6 | created_date: 2021-12-16 09:15:39 7 | updated_date: 2021-12-22 08:18:24 8 | --- 9 | 10 | such as: 11 | 12 | - http services as data 13 | - fetch next services 14 | - as a slot 15 | 16 | -------------------------------------------------------------------------------- /quake_webapp/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /examples/papers/entries.csv: -------------------------------------------------------------------------------- 1 | "id","title","file","created_date","updated_date" 2 | 1,"A System for Query, Analysis and Visualization of Multi-dimensional Relational Databases","pdca/polaris.pdf","2021-12-30 21:11:19","2021-12-30 21:11:19" 3 | 2,"workflow engine spike",docs/Presto_SQL_on_Everything.pdf,"2021-12-30 21:21:25","2021-12-30 21:21:25" 4 | -------------------------------------------------------------------------------- /static_dump/layout/dashboard: -------------------------------------------------------------------------------- 1 | {"name":"Dashboard","rows":[{"columns":[{"name":"Calendar","flow":"show_calendar","width":12,"height":0,"component_type":"flow"}]},{"columns":[{"name":"Network","flow":"graph-network","width":4,"height":0,"component_type":"native"},{"name":"Timeline","flow":"show_timeline","width":8,"height":0,"component_type":"flow"}]}]} -------------------------------------------------------------------------------- /examples/papers/0001-a-system-for-query-analysis-and-visualization-of-multi-dimensional-relational-databases.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: A System for Query, Analysis and Visualization of Multi-dimensional Relational Databases 3 | file: "pdca/polaris.pdf" 4 | created_date: 2021-12-30 21:11:19 5 | updated_date: 2021-12-30 21:11:19 6 | --- 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /quake_webapp/quake-kbar/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /quake_webapp/quake-editor/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /docs/adr/0009-indexmap-replace-hashmap-for-order.md: -------------------------------------------------------------------------------- 1 | # 9. indexmap replace hashmap for order 2 | 3 | Date: 2021-11-24 4 | 5 | ## Status 6 | 7 | 2021-11-24 proposed 8 | 9 | 2021-11-24 accepted 10 | 11 | ## Context 12 | 13 | Context here... 14 | 15 | ## Decision 16 | 17 | Decision here... 18 | 19 | ## Consequences 20 | 21 | Consequences here... 22 | -------------------------------------------------------------------------------- /docs/adr/0023-contract-design-for-flow.md: -------------------------------------------------------------------------------- 1 | # 23. contract design for flow 2 | 3 | Date: 2021-12-08 4 | 5 | ## Status 6 | 7 | 2021-12-08 proposed 8 | 9 | ## Context 10 | 11 | need to check actions value: 12 | 13 | in post, pre conditon 14 | 15 | ## Decision 16 | 17 | Decision here... 18 | 19 | ## Consequences 20 | 21 | Consequences here... 22 | -------------------------------------------------------------------------------- /quake_core/src/errors.rs: -------------------------------------------------------------------------------- 1 | use std::error::Error; 2 | use std::fmt; 3 | 4 | #[derive(Debug)] 5 | pub struct QuakeError(pub String); 6 | 7 | impl fmt::Display for QuakeError { 8 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 9 | write!(f, "There is an error: {}", self.0) 10 | } 11 | } 12 | 13 | impl Error for QuakeError {} 14 | -------------------------------------------------------------------------------- /quake_webapp/packages/calendar/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /quake_webapp/packages/quake-viewer/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /quake_webapp/packages/timeline/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "bracketSpacing": true, 4 | "jsxBracketSameLine": false, 5 | "jsxSingleQuote": false, 6 | "quoteProps": "consistent", 7 | "printWidth": 180, 8 | "semi": true, 9 | "singleQuote": true, 10 | "tabWidth": 2, 11 | "trailingComma": "all", 12 | "useTabs": false 13 | } 14 | -------------------------------------------------------------------------------- /docs/adr/0010-level-for-directory.md: -------------------------------------------------------------------------------- 1 | # 10. level for directory 2 | 3 | Date: 2021-11-24 4 | 5 | ## Status 6 | 7 | 2021-11-24 proposed 8 | 9 | ## Context 10 | 11 | Level for large projects: 12 | 13 | - topic 14 | - epic 15 | - theme 16 | - story 17 | 18 | ## Decision 19 | 20 | Decision here... 21 | 22 | ## Consequences 23 | 24 | Consequences here... 25 | -------------------------------------------------------------------------------- /examples/testcases/0002-test-embed-links-html.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: test embed links html 3 | created_date: 2021-12-14 17:15:36 4 | updated_date: 2021-12-14 17:15:36 5 | --- 6 | 7 | 示例: 8 | 9 | ```html 10 | 11 | ``` 12 | 13 | 结果: 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "bracketSpacing": true, 4 | "jsxBracketSameLine": false, 5 | "jsxSingleQuote": false, 6 | "quoteProps": "consistent", 7 | "printWidth": 180, 8 | "semi": true, 9 | "singleQuote": true, 10 | "tabWidth": 2, 11 | "trailingComma": "all", 12 | "useTabs": false 13 | } 14 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "bracketSpacing": true, 4 | "jsxBracketSameLine": false, 5 | "jsxSingleQuote": false, 6 | "quoteProps": "consistent", 7 | "printWidth": 180, 8 | "semi": true, 9 | "singleQuote": true, 10 | "tabWidth": 2, 11 | "trailingComma": "all", 12 | "useTabs": false 13 | } 14 | -------------------------------------------------------------------------------- /examples/story/0029-deploy-to-github-pages-as-demo.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: deploy to GitHub pages as demo. 3 | author: 4 | status: Done 5 | priority: Low 6 | created_date: 2021-12-16 14:23:48 7 | updated_date: 2021-12-22 08:18:24 8 | --- 9 | 10 | 11 | 1. compile `core/parser` to web assembly 12 | 2. `` for online deploy 13 | 3. convert data to json files. 14 | 15 | -------------------------------------------------------------------------------- /quake_gui/README.md: -------------------------------------------------------------------------------- 1 | # Tauri + Yew 2 | 3 | This template should help get you started developing with Tauri and Yew. 4 | 5 | ## Recommended IDE Setup 6 | 7 | [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer). 8 | -------------------------------------------------------------------------------- /examples/_quake/references/quake_book.yml: -------------------------------------------------------------------------------- 1 | --- 2 | "0007": 3 | source_type: quake_book 4 | source_id: "0007" 5 | source_title: "Quake's markdown syntax" 6 | references: 7 | - entry_type: note 8 | entry_id: "0001" 9 | entry_title: markdown-syntax 10 | - entry_type: note 11 | entry_id: "0002" 12 | entry_title: title 13 | section: demo 14 | -------------------------------------------------------------------------------- /examples/code/0001-phodal-com-process.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Phodal.com Process 3 | created_date: 2021-12-02 20:06:20 4 | updated_date: 2021-12-02 20:06:20 5 | --- 6 | 7 | ```javascript 8 | let text = ""; 9 | $("h2.mdl-card__title-text > a").each(function(index, link) { 10 | text += `[${link.innerText}](${link.href}) \n\n` 11 | }); 12 | 13 | console.log(text); 14 | ``` 15 | 16 | -------------------------------------------------------------------------------- /docs/adr/0011-search-engine.md: -------------------------------------------------------------------------------- 1 | # 11. search engine 2 | 3 | Date: 2021-11-27 4 | 5 | ## Status 6 | 7 | 2021-11-27 proposed 8 | 9 | ## Context 10 | 11 | Context here... 12 | 13 | ## Decision 14 | 15 | Search Engine support: 16 | 17 | - [https://github.com/meilisearch/MeiliSearch](https://github.com/meilisearch/MeiliSearch) 18 | 19 | ## Consequences 20 | 21 | Consequences here... 22 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/components/entry-list/entry-list.tsx: -------------------------------------------------------------------------------- 1 | import { Component, Host, h } from '@stencil/core'; 2 | 3 | @Component({ 4 | tag: 'entry-list', 5 | styleUrl: 'entry-list.css', 6 | shadow: true, 7 | }) 8 | export class EntryList { 9 | 10 | render() { 11 | return ( 12 | 13 | 14 | 15 | ); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /docs/adr/0003-script-language.md: -------------------------------------------------------------------------------- 1 | # 3. script language 2 | 3 | Date: 2021-11-19 4 | 5 | ## Status 6 | 7 | 2021-11-19 proposed 8 | 9 | ## Context 10 | 11 | libs: 12 | 13 | - TypeScript by [Deno](https://github.com/denoland/deno) 14 | - Lua by [hlua](https://github.com/tomaka/hlua) 15 | 16 | ## Decision 17 | 18 | Decision here... 19 | 20 | ## Consequences 21 | 22 | Consequences here... 23 | -------------------------------------------------------------------------------- /examples/_quake/dashboard.layout: -------------------------------------------------------------------------------- 1 | layout Dashboard { 2 | --------------------------------------------------------------- 3 | | Calendar(flow("show_calendar"), 12x5) | 4 | --------------------------------------------------------------- 5 | | Network(flow("show_network"), 4x) | Timeline(flow("show_timeline"), 8x4) | 6 | --------------------------------------------------------------- 7 | } -------------------------------------------------------------------------------- /quake_webapp/.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | www/ 3 | loader/ 4 | 5 | *~ 6 | *.sw[mnpcod] 7 | *.log 8 | *.lock 9 | *.tmp 10 | *.tmp.* 11 | log.txt 12 | *.sublime-project 13 | *.sublime-workspace 14 | 15 | .stencil/ 16 | .idea/ 17 | .vscode/ 18 | .sass-cache/ 19 | .versions/ 20 | node_modules/ 21 | $RECYCLE.BIN/ 22 | 23 | .DS_Store 24 | Thumbs.db 25 | UserInterfaceState.xcuserstate 26 | .env 27 | offline 28 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | www/ 3 | loader/ 4 | 5 | *~ 6 | *.sw[mnpcod] 7 | *.log 8 | *.lock 9 | *.tmp 10 | *.tmp.* 11 | log.txt 12 | *.sublime-project 13 | *.sublime-workspace 14 | 15 | .stencil/ 16 | .idea/ 17 | .vscode/ 18 | .sass-cache/ 19 | .versions/ 20 | node_modules/ 21 | $RECYCLE.BIN/ 22 | 23 | .DS_Store 24 | Thumbs.db 25 | UserInterfaceState.xcuserstate 26 | .env 27 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | www/ 3 | loader/ 4 | 5 | *~ 6 | *.sw[mnpcod] 7 | *.log 8 | *.lock 9 | *.tmp 10 | *.tmp.* 11 | log.txt 12 | *.sublime-project 13 | *.sublime-workspace 14 | 15 | .stencil/ 16 | .idea/ 17 | .vscode/ 18 | .sass-cache/ 19 | .versions/ 20 | node_modules/ 21 | $RECYCLE.BIN/ 22 | 23 | .DS_Store 24 | Thumbs.db 25 | UserInterfaceState.xcuserstate 26 | .env 27 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | www/ 3 | loader/ 4 | 5 | *~ 6 | *.sw[mnpcod] 7 | *.log 8 | *.lock 9 | *.tmp 10 | *.tmp.* 11 | log.txt 12 | *.sublime-project 13 | *.sublime-workspace 14 | 15 | .stencil/ 16 | .idea/ 17 | .vscode/ 18 | .sass-cache/ 19 | .versions/ 20 | node_modules/ 21 | $RECYCLE.BIN/ 22 | 23 | .DS_Store 24 | Thumbs.db 25 | UserInterfaceState.xcuserstate 26 | .env 27 | -------------------------------------------------------------------------------- /_fixtures/demo_quake/_quake/dashboard.layout: -------------------------------------------------------------------------------- 1 | layout Dashboard { 2 | --------------------------------------------------------------- 3 | | Calendar(flow("show_calendar"), 12x) | 4 | --------------------------------------------------------------- 5 | | Network(, 4x) | Timeline(flow("show_timeline"), 8x) | 6 | --------------------------------------------------------------- 7 | } -------------------------------------------------------------------------------- /docs/adr/0006-custom-editor.md: -------------------------------------------------------------------------------- 1 | # 6. custom editor 2 | 3 | Date: 2021-11-21 4 | 5 | ## Status 6 | 7 | 2021-11-21 proposed 8 | 9 | 2021-11-24 accepted 10 | 11 | ## Context 12 | 13 | for mvp, we don't have time to develop a editor, so in this version, we can use a third party editor like in `git`. 14 | 15 | ## Decision 16 | 17 | Decision here... 18 | 19 | ## Consequences 20 | 21 | Consequences here... 22 | -------------------------------------------------------------------------------- /src/helper/exec_wrapper/editor_exec.rs: -------------------------------------------------------------------------------- 1 | use crate::helper::exec_wrapper::exec_runner; 2 | use std::error::Error; 3 | 4 | pub fn edit_file(editor: String, file: String) -> Result<(), Box> { 5 | if editor == "~" || editor.is_empty() { 6 | return Ok(()); 7 | } 8 | 9 | let cmd = format!("{:} {:?}", editor, file); 10 | exec_runner::cmd_runner(cmd)?; 11 | 12 | Ok(()) 13 | } 14 | -------------------------------------------------------------------------------- /examples/story/0032-quake-links-as-a-entry-type-for-data.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: quake links as a entry_type for data 3 | author: 4 | status: Doing 5 | priority: Low 6 | created_date: 2021-12-22 08:19:59 7 | updated_date: 2021-12-22 08:19:59 8 | --- 9 | 10 | all references can be call in transflow, such as: 11 | 12 | ``` 13 | from(rest("http://127.0.0.1:9999/reference/todo")).to() 14 | ``` 15 | 16 | -------------------------------------------------------------------------------- /quake_core/_fixtures/transflow/show_calendar.code: -------------------------------------------------------------------------------- 1 | const tl_show_calendar = async (context, commands) => { 2 | const el = document.createElement('quake-calendar'); 3 | 4 | let todos = await Quake.query('todo'); 5 | 6 | let blogs = await Quake.query('blog'); 7 | 8 | let data = from_todo_blog_to_quake_calendar(todos, blogs); 9 | el.setAttribute('data', JSON.stringify(data)); 10 | 11 | return el; 12 | } 13 | -------------------------------------------------------------------------------- /quake_core/src/quake_config.rs: -------------------------------------------------------------------------------- 1 | /// load from `.quake` 2 | #[derive(Debug, Serialize, Deserialize, Default)] 3 | pub struct QuakeConfig { 4 | // set default editor 5 | pub editor: String, 6 | pub workspace: String, 7 | pub search_url: String, 8 | pub server_location: String, 9 | // pub debug_level: String, 10 | #[serde(default)] 11 | pub auto_feed: bool, 12 | pub port: u32, 13 | } 14 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/graph-transflow/graph-transflow.tsx: -------------------------------------------------------------------------------- 1 | import { Component, Host, h } from '@stencil/core'; 2 | 3 | @Component({ 4 | tag: 'graph-transflow', 5 | styleUrl: 'graph-transflow.css', 6 | shadow: true, 7 | }) 8 | export class GraphTransflow { 9 | 10 | render() { 11 | return ( 12 | 13 | 14 | 15 | ); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /quake_core/src/entry/mod.rs: -------------------------------------------------------------------------------- 1 | use indexmap::IndexMap; 2 | 3 | pub use entry_define::EntryDefine; 4 | pub use entry_defines::EntryDefines; 5 | pub use entry_node_info::EntryNodeInfo; 6 | 7 | pub mod entry_by_path; 8 | pub mod entry_define; 9 | pub mod entry_defines; 10 | pub mod entry_file; 11 | pub mod entry_node_info; 12 | pub mod entry_paths; 13 | pub mod slug; 14 | 15 | pub type PropMap = IndexMap; 16 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/embed-link/test/embed-link.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('embed-link', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('embed-link'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /examples/issue/0001-more-content-for-search-results.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: more content for search results 3 | assignee: 4 | created_by: Phodal 5 | status: 6 | description: 7 | attachements: 8 | link: 9 | created_date: 2021-12-09 15:25:33 10 | updated_date: 2021-12-09 15:25:33 11 | priority: Low 12 | --- 13 | 14 | see in [[framework_doc:0001 "meilisearch doc"]] for more 15 | 16 | a ![[testcases:0001 "pagelink"]] sample 17 | 18 | 19 | -------------------------------------------------------------------------------- /quake_core/src/lib.rs: -------------------------------------------------------------------------------- 1 | extern crate pest; 2 | #[macro_use] 3 | extern crate pest_derive; 4 | extern crate serde; 5 | #[macro_use] 6 | extern crate serde_derive; 7 | 8 | pub use parser::quake; 9 | pub use quake_config::QuakeConfig; 10 | 11 | pub mod entry; 12 | pub mod errors; 13 | pub mod helper; 14 | pub mod markdown; 15 | pub mod meta; 16 | pub mod parser; 17 | pub mod quake_config; 18 | pub mod transflow; 19 | pub mod usecases; 20 | -------------------------------------------------------------------------------- /quake_webapp/quake-kbar/config-overrides.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | webpack: function(config, env) { 3 | config.optimization.splitChunks = { 4 | cacheGroups: { 5 | default: false 6 | } 7 | }; 8 | 9 | config.output = { 10 | ...config.output, 11 | filename: `static/quake-kbar.min.js`, 12 | }; 13 | 14 | config.optimization.runtimeChunk = false; 15 | return config; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/story/0016-timeline-for-annual-review.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: timeline for annual review 3 | author: Phodal 4 | status: Done 5 | priority: Low 6 | created_date: 2021-12-04 23:33:09 7 | updated_date: 2021-12-04 23:33:09 8 | --- 9 | 10 | refs library: 11 | 12 | overview by points 13 | 14 | - https://github.com/prabhuignoto/react-chrono 15 | 16 | with calendar: 17 | 18 | - https://github.com/namespace-ee/react-calendar-timeline 19 | 20 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/config-overrides.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | webpack: function(config, env) { 3 | config.optimization.splitChunks = { 4 | cacheGroups: { 5 | default: false 6 | } 7 | }; 8 | 9 | config.output = { 10 | ...config.output, 11 | filename: `static/quake-board.min.js`, 12 | }; 13 | 14 | config.optimization.runtimeChunk = false; 15 | return config; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /quake_webapp/quake-editor/config-overrides.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | webpack: function(config, env) { 3 | config.optimization.splitChunks = { 4 | cacheGroups: { 5 | default: false 6 | } 7 | }; 8 | 9 | config.output = { 10 | ...config.output, 11 | filename: `static/quake-editor.min.js`, 12 | }; 13 | 14 | config.optimization.runtimeChunk = false; 15 | return config; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .idea 3 | .local 4 | dev.db 5 | phodal.dev 6 | examples/blog/* 7 | examples/notes/* 8 | examples/microsoft_todo/* 9 | examples/onenote/* 10 | examples/papers/pdca 11 | .DS_Store 12 | libs/quake_importer/scripts/readnotes/* 13 | dbs/NoteStore.sqlite 14 | dbs/NoteStore.sqlite-shm 15 | dbs/NoteStore.sqlite-wal 16 | dbs 17 | dump.json 18 | quake_webapp/temp 19 | test_dir 20 | pagedump 21 | static_dump 22 | examples/demo_papers 23 | -------------------------------------------------------------------------------- /examples/_quake/element-define.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: quake-calendar 3 | events: [] 4 | attributes: 5 | - name: data, 6 | data_properties: 7 | - title: String 8 | - content: String 9 | - created_date: String 10 | - updated_date: String 11 | - name: quake-timeline 12 | events: [] 13 | attributes: 14 | - name: data, 15 | data_properties: 16 | - title: String 17 | - content: String 18 | - date: String 19 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/src/components/type-creator/readme.md: -------------------------------------------------------------------------------- 1 | # my-component 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Events 9 | 10 | | Event | Description | Type | 11 | | ----------- | ----------- | ------------------ | 12 | | `saveProps` | | `CustomEvent` | 13 | 14 | 15 | ---------------------------------------------- 16 | 17 | *Built with [StencilJS](https://stenciljs.com/)* 18 | -------------------------------------------------------------------------------- /quake_webapp/packages/calendar/config-overrides.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = { 3 | webpack: function(config, env) { 4 | config.optimization.splitChunks = { 5 | cacheGroups: { 6 | default: false 7 | } 8 | }; 9 | 10 | config.output = { 11 | ...config.output, 12 | filename: `static/quake-calendar.min.js`, 13 | }; 14 | 15 | config.optimization.runtimeChunk = false; 16 | return config; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F41E Bug report" 3 | about: Create a report about something that is not working 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### Describe the bug 11 | A clear and concise description of what the bug is. 12 | 13 | ### Steps to reproduce (please include code) 14 | 15 | 16 | ### Environment 17 | - quake version: 18 | - Rust version: 19 | - OS: [e.g. OSX 10.13.4, Windows 10] 20 | -------------------------------------------------------------------------------- /examples/story/0042-transflow-support-for-password-manager.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: transflow support for password manager 3 | author: 4 | status: Spike 5 | priority: Low 6 | created_date: 2022-01-21 11:01:55 7 | updated_date: 2022-01-21 11:01:55 8 | --- 9 | 10 | 11 | ``` 12 | from('password').filter('phodal').to(pycopy) 13 | ``` 14 | 15 | todo: 16 | 17 | - add filter for content only item or default to content 18 | - enable to target be a function 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/story/0030-dump-data-for-github-pages.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: dump data for github pages 3 | author: 4 | status: Done 5 | priority: Low 6 | created_date: 2021-12-18 23:28:14 7 | updated_date: 2021-12-22 08:18:24 8 | --- 9 | 10 | // 1. dump entries config; 11 | dump_entries_define(); 12 | // 2. dump quake information; 13 | dump_transflow(); 14 | dump_layout(); 15 | dump_links(); 16 | // 3. export all entry_type data to json 17 | dump_entries_data(); 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/adr/0004-front-matter-design.md: -------------------------------------------------------------------------------- 1 | # 4. Front Matter Design 2 | 3 | Date: 2021-11-20 4 | 5 | ## Status 6 | 7 | 2021-11-20 proposed 8 | 9 | 2021-11-24 accepted 10 | 11 | ## Context 12 | 13 | use markdown to simplify notes for items. 14 | 15 | - Jekyll Front Matter. sample: [https://jekyllrb.com/docs/front-matter/](https://jekyllrb.com/docs/front-matter/) 16 | 17 | ## Decision 18 | 19 | Decision here... 20 | 21 | ## Consequences 22 | 23 | Consequences here... 24 | -------------------------------------------------------------------------------- /examples/story/0002-quake-render-for-entry.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Quake render for Entry 3 | author: 4 | status: Done 5 | priority: Medium 6 | created_date: 2021-12-02 14:39:04 7 | updated_date: 2021-12-02 14:39:04 8 | --- 9 | 10 | for examples: 11 | 12 | React Notion Render: 13 | 14 | - [https://github.com/splitbee/react-notion](https://github.com/splitbee/react-notion) 15 | - [https://github.com/NotionX/react-notion-x](https://github.com/NotionX/react-notion-x) 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/adr/0020-flowy-view-for-ideas.md: -------------------------------------------------------------------------------- 1 | # 20. flowy view for ideas 2 | 3 | Date: 2021-12-01 4 | 5 | ## Status 6 | 7 | 2021-12-01 proposed 8 | 9 | ## Context 10 | 11 | samples: [https://roadmap.meilisearch.com/tabs/5-ideas](https://roadmap.meilisearch.com/tabs/5-ideas) 12 | 13 | custom flow stage 14 | - view 15 | - rule 16 | 17 | first examples: blogs status change 18 | 19 | ## Decision 20 | 21 | Decision here... 22 | 23 | ## Consequences 24 | 25 | Consequences here... 26 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | package-lock.json 25 | dist/ 26 | -------------------------------------------------------------------------------- /quake_webapp/quake-editor/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | package-lock.json 25 | dist/ 26 | -------------------------------------------------------------------------------- /quake_webapp/quake-kbar/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | package-lock.json 25 | dist/ 26 | -------------------------------------------------------------------------------- /src/cli/mod.rs: -------------------------------------------------------------------------------- 1 | use std::error::Error; 2 | 3 | use quake_core::quake::QuakeActionNode; 4 | use quake_core::QuakeConfig; 5 | 6 | pub mod entry_action; 7 | pub mod helper; 8 | pub mod quake_action; 9 | 10 | pub fn action(expr: QuakeActionNode, conf: QuakeConfig) -> Result<(), Box> { 11 | match expr.entry.as_str() { 12 | "quake" => quake_action::quake_action(expr.action, &conf), 13 | _ => entry_action::entry_action(&expr, conf), 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/story/0034-element-define-support-for-transflow-inheritance.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: element define support for transflow inheritance 3 | author: 4 | status: Done 5 | priority: Low 6 | created_date: 2021-12-25 17:16:33 7 | updated_date: 2021-12-25 17:16:33 8 | --- 9 | 10 | 11 | Samples 12 | 13 | ```yaml 14 | - name: quake-calendar 15 | properties: 16 | - title: String 17 | - content: String 18 | - created_date: String 19 | - updated_date: String 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /quake_webapp/packages/calendar/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | package-lock.json 25 | dist/ 26 | -------------------------------------------------------------------------------- /quake_webapp/packages/timeline/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | package-lock.json 25 | dist/ 26 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/src/components/base-model/DiamondPortModel.ts: -------------------------------------------------------------------------------- 1 | import {DefaultLinkModel, LinkModel, PortModel, PortModelAlignment} from '@projectstorm/react-diagrams'; 2 | 3 | export class DiamondPortModel extends PortModel { 4 | constructor(alignment: PortModelAlignment) { 5 | super({ 6 | type: 'diamond', 7 | name: alignment, 8 | alignment: alignment 9 | }); 10 | } 11 | 12 | createLinkModel(): LinkModel { 13 | return new DefaultLinkModel(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/src/components/quake-dashboard/quake-dashboard.css: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | height: 100%; 4 | overflow: hidden; 5 | } 6 | 7 | .dark-button { 8 | --background: #000; 9 | } 10 | 11 | #submit-button { 12 | display: none; 13 | } 14 | 15 | #search-form { 16 | width: 80%; 17 | margin-bottom: 0; 18 | } 19 | 20 | ion-icon { 21 | font-size: 24px; 22 | padding: 4px; 23 | float: right; 24 | } 25 | 26 | ion-icon:hover { 27 | cursor: pointer; 28 | } 29 | -------------------------------------------------------------------------------- /nix_config/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "my rust dev shell"; 3 | 4 | inputs = { 5 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 | flake-utils.url = "github:numtide/flake-utils"; 7 | }; 8 | 9 | outputs = { self, nixpkgs, flake-utils }: 10 | flake-utils.lib.eachDefaultSystem 11 | (system: 12 | let pkgs = nixpkgs.legacyPackages.${system}; in 13 | { 14 | devShell = import ./shell.nix { inherit pkgs; }; 15 | } 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /_fixtures/codegen/todos_element.js: -------------------------------------------------------------------------------- 1 | const tl_show_timeline = async (context, commands) => { 2 | const el = document.createElement('quake-calendar-timeline'); 3 | 4 | let todos = await Quake.query('todo'); 5 | let blogs = await Quake.query('blog'); 6 | let data = from_todo_blog_to_quake_calendar(todos, blogs); 7 | 8 | el.setAttribute('entries', JSON.stringify({ 9 | items: ['blog', 'todo'] 10 | })); 11 | el.setAttribute('data', JSON.stringify(data)); 12 | 13 | return el; 14 | } 15 | 16 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/src/components/type-creator/type-creator.css: -------------------------------------------------------------------------------- 1 | @import "~@quakeworks/form-js/dist/assets/dragula.css"; 2 | @import "~@quakeworks/form-js/dist/assets/form-js-editor.css"; 3 | @import "~@quakeworks/form-js/dist/assets/form-js.css"; 4 | 5 | :host { 6 | display: block; 7 | height: 100%; 8 | } 9 | 10 | .type-creator_form { 11 | height: calc(100% - 56px) !important; 12 | } 13 | 14 | .type-creator_submit { 15 | position: fixed; 16 | right: 10px; 17 | bottom: 10px; 18 | } 19 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/stencil.config.ts: -------------------------------------------------------------------------------- 1 | import { Config } from '@stencil/core'; 2 | 3 | export const config: Config = { 4 | namespace: 'type-creator', 5 | outputTargets: [ 6 | { 7 | type: 'dist', 8 | esmLoaderPath: '../loader', 9 | }, 10 | { 11 | type: 'dist-custom-elements', 12 | }, 13 | { 14 | type: 'docs-readme', 15 | }, 16 | { 17 | type: 'www', 18 | serviceWorker: null, // disable service workers 19 | }, 20 | ], 21 | }; 22 | -------------------------------------------------------------------------------- /quake_webapp/packages/quake-viewer/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | package-lock.json 25 | dist/ 26 | public/volcano.pdf 27 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/graph-transflow/readme.md: -------------------------------------------------------------------------------- 1 | # graph-transflow 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Dependencies 9 | 10 | ### Used by 11 | 12 | - [quake-render](../quake-render) 13 | 14 | ### Graph 15 | ```mermaid 16 | graph TD; 17 | quake-render --> graph-transflow 18 | style graph-transflow fill:#f9f,stroke:#333,stroke-width:4px 19 | ``` 20 | 21 | ---------------------------------------------- 22 | 23 | *Built with [StencilJS](https://stenciljs.com/)* 24 | -------------------------------------------------------------------------------- /quake_core/src/usecases/layout_usecases.rs: -------------------------------------------------------------------------------- 1 | use std::error::Error; 2 | use std::fs; 3 | use std::path::PathBuf; 4 | 5 | use crate::entry::entry_paths::EntryPaths; 6 | use crate::quake::SimpleLayout; 7 | 8 | pub fn dump_dashboard_layout(path: PathBuf) -> Result> { 9 | let path = path 10 | .join(EntryPaths::quake()) 11 | .join(EntryPaths::dashboard_layout()); 12 | 13 | let content = fs::read_to_string(path)?; 14 | SimpleLayout::from_text(content.as_str()) 15 | } 16 | -------------------------------------------------------------------------------- /docs/adr/0005-content-&-structure-separate.md: -------------------------------------------------------------------------------- 1 | # 5. content & structure separate 2 | 3 | Date: 2021-11-21 4 | 5 | ## Status 6 | 7 | 2021-11-21 proposed 8 | 9 | ## Context 10 | 11 | As a Git-base database, we proposed content & content's structure separate. For example, in book review, we can separate: 12 | 13 | - front matter. In any format, such as json, yaml or database 14 | - content file. `markdown` format 15 | 16 | ## Decision 17 | 18 | Decision here... 19 | 20 | ## Consequences 21 | 22 | Consequences here... 23 | -------------------------------------------------------------------------------- /quake_core/src/usecases/entry_define_usecases.rs: -------------------------------------------------------------------------------- 1 | use crate::entry::{entry_defines, EntryDefine}; 2 | use std::path::Path; 3 | 4 | pub fn find_entry_define(target_entry: &str, path: &Path) -> EntryDefine { 5 | let entries: Vec = entry_defines::from_path(path) 6 | .into_iter() 7 | .filter(|define| define.entry_type.eq(target_entry)) 8 | .collect(); 9 | 10 | if entries.is_empty() { 11 | EntryDefine::default() 12 | } else { 13 | entries[0].clone() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/story/0020-search-rule-'filterableattributes'-by-entry-type.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: search rule 'filterableAttributes' by entry type 3 | author: 4 | status: Done 5 | priority: Low 6 | created_date: 2021-12-08 10:46:31 7 | updated_date: 2021-12-08 10:46:31 8 | --- 9 | 10 | when feed settings to project, we need to load entry_defines, add `filterableAttributes` for display 11 | 12 | in default, it can be : 13 | 14 | ```json 15 | "filterableAttributes": [ 16 | "created_date", 17 | "updated_date" 18 | ] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/stencil.config.ts: -------------------------------------------------------------------------------- 1 | import { Config } from '@stencil/core'; 2 | 3 | export const config: Config = { 4 | namespace: 'quake-render', 5 | testing: { 6 | 7 | }, 8 | outputTargets: [ 9 | { 10 | type: 'dist', 11 | esmLoaderPath: '../loader', 12 | }, 13 | { 14 | type: 'dist-custom-elements-bundle', 15 | }, 16 | { 17 | type: 'docs-readme', 18 | }, 19 | { 20 | type: 'www', 21 | serviceWorker: null, // disable service workers 22 | }, 23 | ], 24 | }; 25 | -------------------------------------------------------------------------------- /src/helper/exec_wrapper/exec_runner.rs: -------------------------------------------------------------------------------- 1 | use std::error::Error; 2 | use std::process::Command; 3 | 4 | pub fn cmd_runner(editor_cmd: String) -> Result<(), Box> { 5 | if cfg!(target_os = "windows") { 6 | Command::new("cmd") 7 | .args(["/C", editor_cmd.as_str()]) 8 | .spawn()? 9 | .wait()?; 10 | } else { 11 | Command::new("sh") 12 | .arg("-c") 13 | .arg(editor_cmd) 14 | .spawn()? 15 | .wait()?; 16 | }; 17 | 18 | Ok(()) 19 | } 20 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/src/components/graph-network/readme.md: -------------------------------------------------------------------------------- 1 | # quake-graph 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | -------- | --------- | ----------- | ----- | ------------- | 12 | | `config` | `config` | | `any` | `{}` | 13 | | `data` | `data` | | `any` | `defaultData` | 14 | 15 | 16 | ---------------------------------------------- 17 | 18 | *Built with [StencilJS](https://stenciljs.com/)* 19 | -------------------------------------------------------------------------------- /libs/quake_processor/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "quake_processor" 3 | version = "0.4.0" 4 | edition = "2018" 5 | authors = ["Phodal HUANG "] 6 | description = """ 7 | Simple knowledge management tool for geek. 8 | """ 9 | documentation = "https://github.com/phodal/quake" 10 | repository = "https://github.com/phodal/quake" 11 | readme = "README.md" 12 | license = "MIT" 13 | exclude = ["_fixtures/*"] 14 | autoexamples = true 15 | keywords = ["knowledge", "dashboard"] 16 | 17 | [dependencies] 18 | pdf-extract = "0.6.3" 19 | lopdf = "0.26" 20 | -------------------------------------------------------------------------------- /examples/roadmap/0001-first-mvp.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: first mvp 3 | created_date: 2021-12-07 21:19:14 4 | updated_date: 2021-12-07 21:19:14 5 | --- 6 | 7 | 8 | - [x] 导入 9 | - [x] Django/Mezzanine 10 | - [x] Apple Notes 11 | - [x] Microsoft Todo 12 | - [x] Microsoft Onenote 13 | - [x] 自定义条目类型 14 | - [x] CRUD 15 | - [x] dynamic update entries-define 16 | - [x] CLI 交互与列表呈现 17 | - [ ] MVP API 设计 18 | - [x] Web Server 19 | - [ ] ~~GraphQL~~ 20 | - [x] 基于 Git 的数据存储 21 | - [x] Search anywhere 22 | - [x] search frameworks 23 | - [x] auto suggest 24 | 25 | -------------------------------------------------------------------------------- /quake_gui/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "quake_gui" 3 | version = "0.0.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | [dependencies] 8 | serde-wasm-bindgen = "0.4.3" 9 | js-sys = "0.3.59" 10 | serde = { version = "1.0.140", features = ["derive"] } 11 | wasm-bindgen = { version = "0.2.82", features = ["serde-serialize"] } 12 | wasm-bindgen-futures = "0.4.32" 13 | web-sys = "0.3.59" 14 | yew = { version="0.20.0", features = ["csr"] } 15 | 16 | #[workspace] 17 | #members = ["src-tauri"] 18 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/src/components/SimplePortFactory.ts: -------------------------------------------------------------------------------- 1 | import { DiagramEngine, PortModel } from '@projectstorm/react-diagrams'; 2 | import { AbstractModelFactory } from '@projectstorm/react-canvas-core'; 3 | 4 | export class SimplePortFactory extends AbstractModelFactory { 5 | cb: (initialConfig?: any) => PortModel; 6 | 7 | constructor(type: string, cb: (initialConfig?: any) => PortModel) { 8 | super(type); 9 | this.cb = cb; 10 | } 11 | 12 | generateModel(event: any): PortModel { 13 | return this.cb(event.initialConfig); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/readme.md: -------------------------------------------------------------------------------- 1 | # Quake Render 2 | 3 | - [x] Heading 4 | - [x] Paragraph 5 | - [x] BlockQuote 6 | - [x] HR 7 | - [x] BR 8 | - [x] Table 9 | - [x] Code 10 | - [x] List 11 | - [x] Flat List 12 | - [x] recursion List 13 | - [x] Admonition 14 | - [x] Page Link 15 | - [ ] Normal Chart 16 | - [ ] Bar Chart 17 | - ... 18 | - [ ] Advanced Chart 19 | - [ ] Map 20 | - [ ] Mindmap 21 | - [ ] Heatmap 22 | - [ ] fishbone 23 | - [ ] tech-radar 24 | - [ ] pipeline 25 | - [ ] mermaid 26 | - [ ] custom component 27 | - [ ] StepLine 28 | - [ ] TableStep 29 | -------------------------------------------------------------------------------- /examples/story/0025-chinese-table-of-content-parser.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Chinese table of content parser 3 | author: 4 | status: Spike 5 | priority: Low 6 | created_date: 2021-12-15 20:05:10 7 | updated_date: 2021-12-15 20:05:10 8 | --- 9 | 10 | 解析中文目录,形成思维导图? 11 | 12 | 使用的 tag ``@book-toc` 13 | 14 | 示例: 15 | 16 | ``` 17 | 第一部分 数据系统基础 18 | 第1章 可靠、可扩展与可维护的应用系统 ................... 11 19 | 认识数据系统 ...........................................12 20 | 可靠性 ..................................................14 21 | 可扩展性 ................................................18 22 | ``` 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /libs/quake_importer/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "quake_importer" 3 | version = "0.1.0" 4 | edition = "2018" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | quake_core = { path = "../../quake_core", version = "0.5.0" } 10 | 11 | clap = { version = "4.0.18", features = ["derive"] } 12 | 13 | quake_microsoft_todo = "0.1.1" 14 | 15 | serde = { version = "1.0", features = ["derive"] } 16 | serde_json = "1.0" 17 | 18 | [dependencies.rusqlite] 19 | version = "0.25.3" 20 | features = ["bundled"] 21 | 22 | -------------------------------------------------------------------------------- /quake_core/_fixtures/transflow/get_todos_blogs_with_filter_map_param.code: -------------------------------------------------------------------------------- 1 | function from_todo_blog_to_quake_calendar(todos, blogs) { 2 | let results = []; 3 | for (let todo of todos) { 4 | results.push({ 5 | type: "todo", 6 | title: todo.title, 7 | content: todo.content 8 | }) 9 | } 10 | for (let blog of blogs) { 11 | results.push({ 12 | type: "blog", 13 | title: blog.title, 14 | content: blog.content.split("。") 15 | }) 16 | } 17 | results = results.concat(todos); 18 | results = results.concat(blogs); 19 | return results; 20 | } 21 | -------------------------------------------------------------------------------- /quake_gui/src-tauri/src/main.rs: -------------------------------------------------------------------------------- 1 | #![cfg_attr( 2 | all(not(debug_assertions), target_os = "windows"), 3 | windows_subsystem = "windows" 4 | )] 5 | 6 | // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command 7 | #[tauri::command] 8 | fn greet(name: &str) -> String { 9 | format!("Hello, {}! You've been greeted from Rust!", name) 10 | } 11 | 12 | fn main() { 13 | tauri::Builder::default() 14 | .invoke_handler(tauri::generate_handler![greet]) 15 | .run(tauri::generate_context!()) 16 | .expect("error while running tauri application"); 17 | } 18 | -------------------------------------------------------------------------------- /quake_core/_fixtures/transflow/get_todos_blogs_with_filter.code: -------------------------------------------------------------------------------- 1 | const tl_show_calendar = async (context, commands) => { 2 | const el = document.createElement('quake-calendar'); 3 | 4 | let todos = await Quake.query('todo', '', { 5 | filter: 'created_date > 1609459200 and created_date < 1640908800' 6 | }); 7 | 8 | let blogs = await Quake.query('blog', '', { 9 | filter: 'created_date > 1609459200 and created_date < 1640908800' 10 | }); 11 | 12 | let data = from_todo_blog_to_quake_calendar(todos, blogs); 13 | el.setAttribute('data', JSON.stringify(data)); 14 | 15 | return el; 16 | } 17 | -------------------------------------------------------------------------------- /quake_webapp/dashboard/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowSyntheticDefaultImports": true, 4 | "allowUnreachableCode": false, 5 | "declaration": false, 6 | "experimentalDecorators": true, 7 | "lib": [ 8 | "dom", 9 | "es2017" 10 | ], 11 | "moduleResolution": "node", 12 | "module": "esnext", 13 | "target": "es2017", 14 | "noUnusedLocals": true, 15 | "noUnusedParameters": true, 16 | "jsx": "react", 17 | "jsxFactory": "h" 18 | }, 19 | "include": [ 20 | "src" 21 | ], 22 | "exclude": [ 23 | "node_modules" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /quake_webapp/quake-render/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowSyntheticDefaultImports": true, 4 | "allowUnreachableCode": false, 5 | "declaration": false, 6 | "experimentalDecorators": true, 7 | "lib": [ 8 | "dom", 9 | "es2017" 10 | ], 11 | "moduleResolution": "node", 12 | "module": "esnext", 13 | "target": "es2017", 14 | "noUnusedLocals": true, 15 | "noUnusedParameters": true, 16 | "jsx": "react", 17 | "jsxFactory": "h" 18 | }, 19 | "include": [ 20 | "src" 21 | ], 22 | "exclude": [ 23 | "node_modules" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowSyntheticDefaultImports": true, 4 | "allowUnreachableCode": false, 5 | "declaration": false, 6 | "experimentalDecorators": true, 7 | "lib": [ 8 | "dom", 9 | "es2017" 10 | ], 11 | "moduleResolution": "node", 12 | "module": "esnext", 13 | "target": "es2017", 14 | "noUnusedLocals": true, 15 | "noUnusedParameters": true, 16 | "jsx": "react", 17 | "jsxFactory": "h" 18 | }, 19 | "include": [ 20 | "src" 21 | ], 22 | "exclude": [ 23 | "node_modules" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /quake_log/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "quake_log" 3 | version = "0.5.0" 4 | edition = "2021" 5 | authors = ["Inherd Group "] 6 | description = """ 7 | Simple knowledge management tool for geek. 8 | """ 9 | documentation = "https://github.com/phodal/quake" 10 | repository = "https://github.com/phodal/quake" 11 | readme = "README.md" 12 | license = "MIT" 13 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 14 | 15 | [dependencies] 16 | wasm-bindgen = "0.2" 17 | 18 | serde = "1.0" 19 | serde_json = "1.0" 20 | 21 | [lib] 22 | crate-type = ["cdylib"] 23 | -------------------------------------------------------------------------------- /quake_webapp/type-creator/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Stencil Component Starter 7 | 8 | 9 | 10 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /_fixtures/codegen/todos_blogs.js: -------------------------------------------------------------------------------- 1 | function from_todo_blog_to_quake_calendar_timeline(todos, blogs) { 2 | let results = []; 3 | for (let todo of todos) { 4 | results.push({ 5 | type: "todo", 6 | title: todo.title, 7 | content: todo.content, 8 | start_time: todo.created_date, 9 | end_time: todo.updated_date 10 | }) 11 | } 12 | 13 | for (let blog of blogs) { 14 | results.push({ 15 | type: "blog", 16 | title: blog.title, 17 | content: blog.content, 18 | start_time: blog.created_date, 19 | end_time: blog.updated_date 20 | }) 21 | } 22 | return results; 23 | } 24 | -------------------------------------------------------------------------------- /quake_webapp/quake-board/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /quake_webapp/quake-kbar/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /examples/story/0001-typeform-for-entry-field.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Typeform for entry field 3 | author: 4 | status: Spike 5 | priority: Medium 6 | created_date: 2021-12-02 14:35:50 7 | updated_date: 2021-12-02 14:35:50 8 | --- 9 | 10 | entry field (from entries-define.yaml) to form for web 11 | 12 | field example 13 | 14 | ```yaml 15 | fields: 16 | - title: Title 17 | - author: String 18 | - content: Body 19 | - status: Flow 20 | - priority: Flow 21 | - created_date: Date 22 | - updated_date: Date 23 | ``` 24 | 25 | library such as: 26 | 27 | - https://github.com/formium/formik 28 | - https://github.com/unform/unform 29 | 30 | 31 | -------------------------------------------------------------------------------- /examples/story/0031-heading-support-for-pagelink.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: heading support for pagelink 3 | author: 4 | status: Done 5 | priority: Low 6 | created_date: 2021-12-20 23:08:57 7 | updated_date: 2021-12-22 08:18:24 8 | --- 9 | 10 | refs samples: 11 | 12 | ```rust 13 | ^(?P[^#|]+)??(#(?P
.+?))??(\|(?P