polygonhunter_slashosaurus/CONTRIBUTING.md
polygonhunter 1765c958e8 Slashosaurus 0.1.0 — Notion-style slash menu with live block previews
- EditorSuggest-based trigger (line start / after whitespace, configurable
  character), fuzzy filtering over names and aliases
- Live preview tiles: all 13 callout types in theme colors, headings in
  their sizes, lists, table grid, code/math/mermaid chips
- Smart insert with {cursor} sentinel, selection wrapping (prefix, fence,
  inline), two-stage code-block language picker, Shift+Enter for foldable
  callouts, footnotes with auto-numbered definitions, user snippets
- Glass panel with gliding selection pill, mobile + reduced-motion aware
- Pure, vitest-covered core (46 tests); only Obsidian APIs ≤ 1.12
2026-07-17 09:44:12 +00:00

1.2 KiB

Contributing to Slashosaurus

Thanks for your interest! Issues and pull requests are welcome.

Bugs & ideas

Open an issue — a short description, your Obsidian version, your theme (previews are theme-sensitive), and what you typed help a lot.

Development setup

npm install
npm run dev     # watch build into test-vault/ (pjeby/hot-reload)
npm run test    # vitest over src/core
npm run build   # type-check + production bundle

Open test-vault/ in Obsidian to try your changes live (the hot-reload plugin picks up dev builds automatically). Playground.md, Wrap-Tests.md, and Fussnoten.md contain prepared scenarios.

Ground rules

  • Everything under src/core/ stays pure (no obsidian imports) and unit-tested — catalog, trigger, ranking, insert/wrap logic changes need a test.
  • The UI follows one principle: radically clean. The menu appears, delivers, disappears. If a change adds visible chrome, it probably needs rethinking.
  • Only public Obsidian APIs, and only APIs available in Obsidian 1.12 (@since tags in obsidian.d.ts are the source of truth).
  • Keep examples and fixtures fictional (no real names, vaults, or URLs).