How shd101wyy/crossnote works
Crossnote is a Markdown notebook engine and local preview/export application. The main workflow is to initialize a notebook over note directories, parse and render a note through its Markdown engine, then preview or export it; the CLI also offers a live multi-root server and a read-only wiki snapshot. The graph includes documented rendering, notebook-navigation, and server-app capabilities. Some subsystem links are based on README descriptions and directory structure because their implementation was not sampled.
Main entry points: markdown-engine/index.ts Markdown engine · notebook/index.ts Notebook index · wiki/index.ts Wiki builder · serve/index.ts Preview server
Components 19
Entry points
- CLI commands
src/cli/index.ts - Library API
src/index.ts
Notebook and rendering
- Notebook index
src/notebook/index.ts - Markdown engine
src/markdown-engine/index.ts - Markdown transform
src/markdown-engine/transformer.ts - Markdown extensions
src/custom-markdown-it-features - Render enhancers
src/render-enhancers - Diagram renderers
src/renderers - Code chunks
src/code-chunk/code-chunk.ts - Search and links
src/notebook/search.ts
Preview and export
- Preview interface
src/webview/preview.tsx - Preview interactions
src/webview/containers/preview.ts - Export converters
src/converters
Serve and wiki
- Preview server
src/serve/index.ts - Serve app
src/server-app/App.tsx - Wiki builder
src/wiki/index.ts
Other components
- Note author
- Browser
- Note files
Connections 24
- Note author → CLI commands: runs command
- Note author → Library API: uses API
- CLI commands → Preview server: starts server
- CLI commands → Wiki builder: builds snapshot
- Library API → Notebook index: initializes
- Notebook index → Note files: reads notes
- Notebook index → Markdown engine: creates engine
- Notebook index → Search and links: indexes notes
- Markdown engine → Markdown transform: transforms text
- Markdown transform → Markdown extensions: uses extensions
- Markdown engine → Render enhancers: enhances output
- Markdown engine → Diagram renderers: renders diagrams
- Markdown engine → Code chunks: processes chunks
- Markdown engine → Preview interface: provides preview
- Markdown engine → Export converters: exports content
- Preview interface → Preview interactions: handles interactions
- Preview server → Notebook index: creates notebooks
- Preview server → Serve app: serves app
- Preview server → Note files: serves files
- Serve app → Browser: renders interface
- Wiki builder → Notebook index: creates notebooks
- Wiki builder → Markdown engine: renders notes
- Wiki builder → Note files: reads note files
- Wiki builder → Browser: produces HTML