How victor3spoir/mdvault works
MDVault is a GitHub-backed Markdown CMS: a writer manages articles, short-form posts, custom Vault content, and media through the CMS; saves and publishing become repository commits, leaving portable Markdown and assets for downstream site consumers. The map includes the documented dashboard, settings, filtering, rich editing, translation, and private-media capabilities. The README and tree support the product boundaries and persistence flow; sampled source confirms the CMS shell, router, GitHub client, and repository-path validation, but not detailed handler-to-server wiring, so those links are kept at subsystem level.
Main entry points: route.tsx CMS shell · content-store.server.ts Shared content store · articles Articles · media Media library
Components 20
Workspace
- CMS shell
mdvault/src/routes/cms/route.tsx - Dashboard
mdvault/src/features/dashboard - Command palette
mdvault/src/components/command-palette.tsx - Settings
mdvault/src/features/settings
Content authoring
- Articles
mdvault/src/features/articles - Rich editor
mdvault/src/features/articles/components/editor/rich-text-editor.tsx - Plain-text posts
mdvault/src/features/posts - Custom Vault types
mdvault/src/features/vault - Content rendering
mdvault/src/features/content/components/markdown-content.tsx
Media and assets
- Media library
mdvault/src/features/media - Media proxy
mdvault/src/routes/api/media.tsx - Private media delivery
mdvault/src/lib/server/media-cache.server.ts
Content services
- Shared content store
mdvault/src/features/content/content-store.server.ts - GitHub file access
mdvault/src/lib/server/github-files.server.ts - GitHub client
mdvault/src/integrations/github/github-client.server.ts - Path validation
mdvault/src/lib/repository-path.ts
Git persistence
- Content repository
Other components
- Content writer
- GitHub API
- Static site or app
Connections 26
- Content writer → CMS shell: uses
- CMS shell → Dashboard: routes to
- CMS shell → Articles: routes to
- CMS shell → Plain-text posts: routes to
- CMS shell → Custom Vault types: routes to
- CMS shell → Media library: routes to
- CMS shell → Settings: routes to
- CMS shell → Command palette: mounts
- Articles → Rich editor: edits with
- Articles → Content rendering: previews with
- Plain-text posts → Content rendering: renders with
- Custom Vault types → Content rendering: renders with
- Articles → Shared content store: reads and writes
- Plain-text posts → Shared content store: reads and writes
- Custom Vault types → Shared content store: reads and writes
- Dashboard → Shared content store: reads activity
- Media library → Shared content store: checks references
- Media library → Media proxy: requests private media
- Media proxy → Private media delivery: serves through
- Shared content store → GitHub file access: reads and commits
- Media library → GitHub file access: manages assets
- GitHub file access → GitHub client: uses
- GitHub client → GitHub API: calls
- GitHub API → Content repository: reads and commits
- GitHub file access → Path validation: validates paths
- Static site or app → Content repository: reads Markdown and media