vccs
Vue 3용 차트 컴포넌트 모음, Recharts에서 포팅
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Eine Desktop-Anwendung für macOS und Linux, die Seiten aus Notion holt und daraus Diagramme zeichnet: Mermaid aus eigenen Vorlagen, ein Fluss entlang der Nachfolger und eine Metro-Karte auf einer Zeitachse. Die Daten liegen danach lokal in SQLite — gezeichnet wird ohne Netz. Dieselbe Fachlogik bedient ein Kommandozeilenwerkzeug: `vizu-notion render fahrplan` liefert denselben Mermaid-Text, den das Fenster anzeigt. Vorhandene .mmd-Vorlagen und eine sources.json lassen sich einlesen und laufen unverändert weiter (template import, source import).README 전문 보기 ↗
Eine Desktop-Anwendung für macOS und Linux, die Seiten aus Notion holt und daraus Diagramme zeichnet: Mermaid aus eigenen Vorlagen, ein Fluss entlang der Nachfolger und eine Metro-Karte auf einer Zeitachse. Die Daten liegen danach lokal in SQLite — gezeichnet wird ohne Netz.
Dieselbe Fachlogik bedient ein Kommandozeilenwerkzeug: vizu-notion render fahrplan liefert denselben Mermaid-Text, den das Fenster anzeigt.
Vorhandene .mmd-Vorlagen und eine sources.json lassen sich einlesen und
laufen unverändert weiter (template import, source import).
Voraussetzungen: rustup, Node.js 22,
just (brew install just oder
cargo install just). Unter Linux zusätzlich die WebKitGTK-Pakete:
sudo apt install libwebkit2gtk-4.1-dev libxdo-dev libssl-dev \
libayatana-appindicator3-dev librsvg2-dev build-essential
(Fedora, Arch und andere: Tauri-Voraussetzungen.)
just setup # npm-Pakete, Werkzeuge, einmal durchbauen
just dev # Anwendung starten, lädt bei Änderungen neu
Beim ersten Start führt die Anwendung durch die vier Schritte: Token, Quelle, Abruf, Diagramm.
Für die Quelle genügt der Link zur Datenbank: in Notion oben rechts ••• → „Link kopieren" und im Quellen-Dialog einfügen. Die Anwendung holt dann von selbst die Spalten und schlägt die Zuordnung vor. Die Kennung allein geht auch.
| Quellen | Eine Notion-Datenbank unter einem Namen, mit einer Zuordnung: welche Spalte ist title, date, next, tag … Der Vorschlag dafür kommt aus den Spalten selbst. |
| Abrufen | Alle Seiten samt Relationen, mit Takt und Wiederholung bei 429. Das Ergebnis bleibt in SQLite; Zeichnen braucht danach kein Netz. |
| Mermaid | Eigene Vorlagen mit Handlebars, Beispiele und Spickzettel im Editor, Vorschau beim Tippen. |
| Fluss | Ohne Vorlage: Knoten und Pfeile entlang der Rolle next, angeordnet in core. |
| Metro-Karte | Zeitachse aus date, Linien entlang next, Bänder aus tag, mit Abzweigungen und Umsteigestationen. |
| Filtern | Einzelne Seiten ausblenden, „nur Verwandte" zeigen, je Quelle aufklappen. |
| Ansichten | Das Eingestellte — Diagramm, ausgeblendete Seiten — unter einem Namen sichern und wieder öffnen. |
| Ausgeben | SVG speichern; auf der Kommandozeile Mermaid-Text oder JSON. |
Dieselbe Anwendung, dieselbe Datenbank:
just cli token set # Token speichern
just cli source add Projekte --database <LINK> --auto # Link aus Notion, Zuordnung vorschlagen lassen
just cli fetch # von Notion holen
just cli render fahrplan # Mermaid-Text auf stdout
just cli metro Projekte --json | jq '.lines | length'
just cli view list # gespeicherte Ansichten
Wo die Datenbank liegt, sagt just cli paths. Ohne die echten Daten
anzufassen: just dev-sandbox und just sandbox source list.
Alle Befehle, Rückgabewerte und das JSON-Format: docs/CLI.md.
crates/
├── core/ ← FACHLOGIK. Kennt weder clap noch tauri noch stdout.
│ ├── migrations/ Nummerierte SQL-Dateien, ins Binary einkompiliert
│ ├── src/source.rs Quellen, Zuordnung, Vorschlag aus den Spalten
│ ├── src/notion/ Notion-API: Transport, Takt, Modelle
│ ├── src/fetch.rs Abrufen, zwischenspeichern, Schema ansehen
│ ├── src/secret.rs Der Notion-Token
│ ├── src/template/ Mermaid aus Vorlagen, mit Handlebars
│ ├── src/flow.rs Flussdiagramm: Graph und Anordnung
│ ├── src/metro.rs Metro-Karte: Ketten, Zeitachse, Bänder
│ ├── src/view.rs Gespeicherte Ansichten
│ ├── src/hidden.rs Versteckte Diagramme
│ ├── src/paths.rs Die einzige Stelle mit macOS/Linux-Unterschieden
│ └── tests/layering.rs Der Wächter über die Schichtregel (Rust + TypeScript)
│
├── cli/ ← Kommandozeile `vizu-notion`. Dünn.
│
└── desktop/ ← Tauri-Schale. Dünn.
├── tauri.conf.json Fenster, CSP, Bündel
├── capabilities/ Was das Fenster darf
├── src/commands.rs Die IPC-Befehle
├── tests/ipc_contract.rs Befehle ohne Fenster aufrufen; Rust ↔ api.ts
└── tests/bindings.rs Erzeugt ui/src/bindings.ts
ui/src/
├── api.ts ← Die EINZIGE Stelle, die mit Rust spricht
├── bindings.ts Erzeugt aus Rust — nicht von Hand ändern
├── App.tsx Zustand, ruft api
├── components/ Zeichnen nur: Diagramme, Listen, Dialoge
├── lib/mermaid.ts Mermaid, nachgeladen
├── theme.css Die EINZIGE Datei mit Farben
└── app.css Aufbau und Abstände
Rechnen tut core, zeichnen tut ui: Auch die Anordnung von Fluss und
Metro-Karte kommt aus Rust, damit Fenster und Kommandozeile nicht
auseinanderlaufen können.
just bundle # macOS: .app + .dmg Linux: .deb + .AppImage
just bundle-macos-universal # Apple Silicon + Intel in einem Bündel
just package-cli # die Kommandozeile als Tarball
Ergebnisse unter target/release/bundle/ bzw. dist/.
Fertige Pakete entstehen von selbst: Ein Versionsschild (git tag v0.2.0 && git push --tags) lässt GitHub Actions auf macOS und Linux bauen und hängt
.dmg, .deb, .AppImage und den CLI-Tarball an einen Release-Entwurf. Sie
sind nicht signiert — macOS meldet deshalb beim ersten Start „beschädigt",
was xattr -dr com.apple.quarantine "/Applications/Vizu Notion.app" aufhebt.
Alles dazu: docs/RELEASE.md.
just check # rustfmt, Clippy, Biome, tsc, alle Tests, cargo deny, npm audit
Warnungen sind Fehler. Die Regeln des Projekts stehen in CLAUDE.md — sie gelten für Menschen wie für KI-Assistenten.
Entstanden aus dem Kit vibe-starter-tauri. Verbesserungen von dort holt man einzeln:
git remote add kit https://github.com/kleineLoesungen/vibe-starter-tauri
git fetch kit && git log --oneline kit/main
git cherry-pick <sha>
| Datei | Inhalt |
|---|---|
| CLAUDE.md | Die Regeln. Tauri-2-Fallstricke, Notion-Eigenheiten, Schichtregel |
| docs/UMSETZUNG.md | Der Plan: Phasen, Entscheidungen, Herkunft der Vorlagensprache |
| docs/CLI.md | Befehle, Rückgabewerte, JSON-Format |
| docs/ARCHITECTURE.md | Warum die Schichten so geschnitten sind, wie die IPC-Grenze aussieht |
| docs/RECIPES.md | npm-Paket einbinden, neuer Befehl, neue Ressource, Plugin, Hintergrundarbeit |
| docs/DESIGN.md | Aussehen ändern, Farbmarken, Symbole |
| docs/RELEASE.md | Bündeln, signieren, notarisieren, veröffentlichen |