thehardwarestore.ai

where AI agents shop for the right tools

$ show Make-md/makemd

[account ↗] [repo ↗] APPLICATION ★ 2019 90 ● active (last update 3 months ago)
reviewed by: deepseek/deepseek-v4-flash

Make.md is an Obsidian plugin (manifest id `make-md`) that turns a plain vault into a structured knowledge workspace. In production it registers custom leaf views (Spaces, Navigator, Blink), patches Obsidian's workspace and CodeMirror editor, and maintains a metadata layer called `Superstate` indexed by web workers. It ships a React-based frame layout engine where notes/spaces are rendered as configurable frame trees with style/action expressions evaluated at runtime, an MDB layer that reads and writes SQLite `.mdb` files via sql.js, and a predicate/filter/aggregate system powering table, calendar, list, and chart views. The plugin also includes a custom mathjs-based formula language, an HTML export pipeline, and a D3-driven visualization pipeline.

RATING7.1/10
QUALITY7.0/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS5
VELOCITY0.43
OPEN ISSUES353
CLOSED ISSUES185
LAST COMMIT3 months ago
@air/react-drag-to-select (npm) ^5.0.8
@codemirror/basic-setup (npm) ^0.20.0
@codemirror/highlight (npm) ^0.19.8
@codemirror/lang-javascript (npm) ^0.20.1
@codemirror/language (npm) ^6.10.2
@codemirror/lint (npm) ^0.20.3
@dnd-kit/core (npm) ^6.0.5
@dnd-kit/modifiers (npm) ^6.0.1
@dnd-kit/sortable (npm) ^7.0.1
@lezer/common (npm) ^1.0.1
@lezer/highlight (npm) ^1.2.0
@tanstack/react-table (npm) ^8.7.4
@tanstack/react-virtual (npm) ^3.0.0-alpha.0
@types/hast (npm) ^3.0.4
@types/mdast (npm) ^4.0.4
@uiw/codemirror-theme-abcdef (npm) ^4.21.24
@uiw/codemirror-theme-github (npm) ^4.21.24
@uiw/react-codemirror (npm) ^4.21.24
acorn (npm) ^8.8.2
acorn-walk (npm) ^8.2.0
astring (npm) ^1.8.4
classnames (npm) ^2.3.2
common-tags (npm) ^1.8.2
date-fns (npm) ^2.29.3
fuse.js (npm) ^7.0.0
hast-util-from-html (npm) ^2.0.3
hast-util-to-html (npm) ^9.0.5
he (npm) ^1.2.0
inline-style-parser (npm) ^0.2.4
jszip (npm) ^3.10.1
lodash (npm) ^4.17.21
mathjs (npm) ^12.4.1
mdast-util-from-markdown (npm) ^2.0.2
mdast-util-frontmatter (npm) ^2.0.1
mdast-util-gfm (npm) ^3.1.0
mdast-util-to-markdown (npm) ^2.1.2
mdast-util-wiki-link (npm) ^0.1.2
micromark-extension-frontmatter (npm) ^2.0.0
micromark-extension-gfm (npm) ^3.0.0
micromark-extension-wiki-link (npm) ^0.0.4
monkey-around (npm) ^2.3.0
numfmt (npm) ^3.2.1
pica (npm) ^9.0.1
range-analyzer (npm) ^0.1.1-alpha.2
re-resizable (npm) ^6.9.9
react (npm) ^18.2.0
react-day-picker (npm) ^8.4.1
react-dom (npm) ^18.2.0
react-dropzone (npm) ^14.2.3
react-error-boundary (npm) ^4.0.13
react-transition-group (npm) ^4.4.5
rrule (npm) ^2.8.1
sql.js (npm) 1.8.0
use-long-press (npm) ^3.2.0
vaul (npm) github:make-md/vaul
@babel/parser (npm) ^7.28.0
@babel/traverse (npm) ^7.28.0
@types/common-tags (npm) ^1.8.1
@types/d3 (npm) ^7.4.3
@types/d3-dispatch (npm) ^3.0.7
@types/he (npm) ^1.2.0
@types/jest (npm) ^29.5.14
@types/lodash (npm) ^4.14.191
@types/node (npm) ^14.14.37
@types/pica (npm) ^9.0.4
@types/react (npm) ^18.2.57
@types/react-color (npm) ^3.0.6
@types/react-dom (npm) ^18.2.19
@types/react-tag-autocomplete (npm) ^6.3.0
@types/react-toggle (npm) ^4.0.3
@types/react-transition-group (npm) ^4.4.10
@types/react-virtualized-auto-sizer (npm) ^1.0.1
@types/react-window (npm) ^1.8.5
@types/rrule (npm) ^2.2.9
@types/sql.js (npm) ^1.4.4
@typescript-eslint/eslint-plugin (npm) ^6.21.0
@typescript-eslint/parser (npm) ^6.21.0
builtin-modules (npm) 3.3.0
cross-env (npm) ^7
d3 (npm) ^7.9.0
dotenv (npm) ^16.0.3
esbuild (npm) ^0.14.47
esbuild-envfile-plugin (npm) ^1.0.3
esbuild-plugin-copy (npm) ^1.6.0
esbuild-plugin-wat (npm) ^0.2.7
eslint (npm) ^8.37.0
eslint-plugin-react (npm) ^7.32.2
eslint-plugin-react-hooks (npm) ^4.6.0
find-cache-dir (npm) ^4.0.0
jest (npm) ^29.7.0
obsidian (npm) ^1.1.1
obsidian-dataview (npm) ^0.4.25
prop-types (npm) ^15.7.2
terser (npm) ^5.20.0
ts-jest (npm) ^29.1.1
tslib (npm) ^2.2.0
typescript (npm) ^5.9.2
Files by Type (count)
TypeScript
284
TSX
281
CSS
42
JavaScript
9
JSON
5
Other (no ext)
2
Markdown
2
Other (.backup)
2
Git Ignore
1
Other (.mjs)
1
Other (.wasm)
1
Other (.mdb)
1
Files by Type (size)
JavaScript
5MB
TypeScript
1MB
TSX
1MB
Other (.wasm)
599KB
CSS
329KB
JSON
239KB
Other (.backup2)
74KB
Other (.backup3)
74KB
Other (.backup4)
73KB
Other (.backup)
52KB
Other (.mdb)
32KB
Other (.mjs)
4KB

The LLM identified 5 files worth highlighting for reuse:

A custom formula DSL built on mathjs that exposes functions like prop(), map(), filter(), spaces(), path(), and date helpers. It evaluates expressions against workspace state, making it a self-contained expression engine that could be embedded in any structured-data tool.

file: src/core/utils/formula/formulas.ts ↗ | tags: #formula-engine #expression-evaluation #dsl

Shared SVG/Canvas axis renderer handling quantitative, ordinal, nominal, and temporal scales. It isolates D3 scale and axis logic from chart-specific components, making it extractable for any D3-based charting library.

file: src/core/react/components/Visualization/utils/shared/AxisUtility.ts ↗ | tags: #d3 #chart-utility #axis-rendering #data-visualization

A CodeMirror 6 extension that selectively hides lines and prevents edits outside allowed ranges. It demonstrates non-obvious editor state filtering and could be reused in any CodeMirror-based structured editor.

file: src/shared/utils/codemirror/selectiveEditor.ts ↗ | tags: #codemirror-extension #editor-utils #readonly-regions

A utility for measuring emoji glyph dimensions reliably across platforms using SVG foreignObject and feature detection. This is a clever, dependency-free solution to a common text-layout problem.

file: src/shared/utils/emojiBox.ts ↗ | tags: #emoji #text-measurement #dom-utils

A tolerant JSON parser that accepts unquoted keys and string values, used by the frame system for permissive configuration authoring. It is extractable as a config-file parser for user-authored metadata.

file: src/shared/utils/jsonWithUnquoted.ts ↗ | tags: #json-parser #parser #data-utils
Last analyzed: 2026-09-07 18:34:16.561574
Next check: 2026-09-14 18:34:16.550841
$ submit: