v0.1.1 - Initial implementation of Markleon VSCode extension
Status: Completed
Date: 2026-07-07
Goal
Build a VSCode extension that provides live, server-less markdown preview with toggleable blog-provider rendering flavors (Zenn and Qiita). Both providers use markdown-it with custom plugins and inline CSS for a lightweight, fast bundle.
Summary of Changes
- VSCode extension scaffold: package.json manifest, tsconfig, esbuild bundler, launch config
- Provider interface and registry pattern for extensible markdown renderers
- Zenn provider: markdown-it with
:::message,:::message alert,:::details Title,lang:filenamecode blocks - Qiita provider: markdown-it with
:::note info/warn/alert,lang:filenamecode blocks - WebviewPanel manager with toolbar dropdown for provider switching
- Debounced live preview on text change with last-editor tracking for focus resilience
- Insert Note Block command that adapts to active provider
- Inline CSS with
var(--vscode-*)for theme awareness - 264KB bundle (no heavy dependencies like shiki/cheerio/sanitize-html)
Files Modified
src/extension.ts- Extension entry point, registers 3 commandssrc/types.ts- Provider interface and message typessrc/providers/zenn.ts- Zenn markdown renderer with inline CSSsrc/providers/qiita.ts- Qiita markdown renderer with inline CSSsrc/providers/registry.ts- Provider registrysrc/webview/panel-manager.ts- WebviewPanel lifecycle and content updatessrc/webview/html-template.ts- Webview HTML with CSP, toolbar, message handlingsrc/commands/insert-note.ts- Insert Note Block commandsrc/util/debounce.ts- Debounce utility
Breaking Changes
None (initial implementation)
Deprecations
None