Spaces:
Running
Running
| title: π Elysia's Markdown Studio | |
| emoji: π’ | |
| colorFrom: purple | |
| colorTo: red | |
| sdk: static | |
| pinned: true | |
| license: cc-by-nc-sa-4.0 | |
| short_description: A feature-rich markdown editor with AI-powered tools | |
| # π Elysia Markdown Studio | |
| **Your AI-Powered Markdown Editor & Writing Companion** | |
| A beautiful, feature-rich markdown editor with AI-powered tools built with love by Jean & Elysia. Write, organize, and enhance your documents with the power of artificial intelligence. | |
|  | |
|  | |
|  | |
|  | |
| --- | |
| ## β¨ Features | |
| ### π Powerful Markdown Editor | |
| - **Live Preview** - See your markdown rendered in real-time (async rendering with Marked.js v15) | |
| - **Syntax Highlighting** - Beautiful code blocks with Prism.js | |
| - **Rich Formatting** - Tables, task lists, blockquotes, and more | |
| - **Math Support** - LaTeX equations with KaTeX | |
| - **Diagrams** - Mermaid v11.4.0 diagrams support | |
| - **Quick Toolbar** - One-click formatting for common markdown elements | |
| - **Drag & Drop Images** - Drop images directly into editor (base64 conversion) | |
| - **Paste Images** - Ctrl+V to paste images from clipboard | |
| ### π§ AI-Powered Tools (via OpenRouter) | |
| - **Summarize** - Generate concise summaries of your documents | |
| - **π² Improve Writing (VS)** - Choose from 5 writing styles: | |
| - π **Concis** - Short and direct | |
| - π¨ **CrΓ©atif** - Vivid with metaphors | |
| - π **AcadΓ©mique** - Formal and structured | |
| - πΌ **Professionnel** - Business-friendly | |
| - π₯ **Engageant** - Attention-grabbing | |
| - **Merge Documents** - Intelligently combine multiple documents | |
| - **Extract Outline** - Automatic table of contents generation | |
| - **Find Duplicates** - Detect similar documents in your library | |
| - **Smart Organize** - AI-suggested tags and categories | |
| - **Smart Loading States** - Visual feedback during AI processing | |
| ### π Document Management | |
| - **Local Storage** - All documents stored in your browser (IndexedDB v2 with performance indexes) | |
| - **Search** - Fast full-text search across all documents | |
| - **Favorites** - Star important documents | |
| - **Collections** - Organize documents into collections | |
| - **Context Menu** - Right-click for quick actions (rename, delete, favorite) | |
| - **Auto-Save** - Automatic saving every 30 seconds (with race condition protection) | |
| - **Export All** - Bulk export all documents with one click | |
| - **Import Documents** - Restore from backup JSON files | |
| ### π€ Multi-Format Export | |
| - **Markdown (.md)** - Export as standard markdown | |
| - **HTML** - Clean HTML output | |
| - **Artifact** - Beautiful standalone HTML with embedded styles + Prism.js + KaTeX | |
| - **Plain Text** - Remove all formatting | |
| - **JSON** - Structured export with metadata | |
| - **Bulk Export** - Export entire document library at once | |
| ### π¨ Templates Library | |
| Built-in templates for common document types: | |
| - **README** - GitHub project documentation | |
| - **Blog Post** - Blog article structure | |
| - **Meeting Notes** - Meeting documentation with action items | |
| - **Documentation** - API/Software documentation | |
| - **Academic Paper** - Research paper structure | |
| - **Blank** - Start from scratch | |
| Access templates via "New Document" button! | |
| ### β¨οΈ Keyboard Shortcuts | |
| - `Ctrl+S` - Save document | |
| - `Ctrl+N` - New document (opens template selector) | |
| - `Ctrl+B` - Bold text | |
| - `Ctrl+I` - Italic text | |
| - `Ctrl+/` - Show keyboard shortcuts guide | |
| ### π¨ Modern UI | |
| - **Dark Theme** - Eye-friendly Elysia dark theme | |
| - **Responsive Design** - Works on desktop and tablet | |
| - **Split View** - Editor on left, preview on right | |
| - **Collapsible Sidebar** - Document library sidebar | |
| - **Toast Notifications** - Beautiful, non-intrusive feedback | |
| - **Context Menus** - Modern right-click menus with smooth animations | |
| - **Reading Time Display** - Estimated reading time in header stats (200 wpm) | |
| ### π Security | |
| - **Encrypted API Keys** - API keys stored with XOR encryption (not plaintext) | |
| - **Client-Side Only** - No data sent to external servers (except AI API calls) | |
| - **Privacy-First** - All documents stored locally in your browser | |
| --- | |
| ## π Quick Start | |
| ### 1. Launch the App | |
| Double-click `Launch-Local-App.bat` (Windows) or open `index.html` in your browser. | |
| ### 2. Configure AI (Optional) | |
| 1. Click the **βοΈ Settings** button | |
| 2. Add your [OpenRouter API key](https://openrouter.ai/) | |
| 3. Select your preferred AI model | |
| 4. Save settings | |
| ### 3. Start Writing! | |
| - Type in the left pane | |
| - See live preview on the right | |
| - Use the toolbar for quick formatting | |
| - Save with `Ctrl+S` | |
| - Press `Ctrl+/` for keyboard shortcuts guide | |
| --- | |
| ## π οΈ Technical Stack | |
| ### Core Technologies | |
| - **Vanilla JavaScript** (ES6+ modules) | |
| - **HTML5** & **CSS3** | |
| - **IndexedDB v2** (via Dexie.js with performance indexes) | |
| ### Libraries | |
| - **Marked.js** - Markdown parsing | |
| - **Prism.js** - Syntax highlighting | |
| - **KaTeX** - Math rendering | |
| - **Mermaid** - Diagram rendering | |
| - **Dexie.js** - IndexedDB wrapper | |
| - **Turndown** - HTML to Markdown conversion | |
| ### AI Integration | |
| - **OpenRouter API** - Access to multiple AI models (Grok, Claude, GPT, DeepSeek) | |
| --- | |
| ## π Project Structure | |
| ``` | |
| elysia-markdown-studio/ | |
| βββ index.html # Main HTML file | |
| βββ Launch-App.bat # Windows launcher | |
| βββ README.md # This file | |
| βββ CHANGELOG.md # Version history | |
| βββ fonts/ # Google Fonts (offline) | |
| β βββ css2.css | |
| βββ libs/ # External libraries | |
| β βββ dexie.min.js | |
| β βββ marked.min.js | |
| βββ scripts/ # JavaScript modules | |
| β βββ app.js # Main application controller | |
| β βββ editor.js # Editor module | |
| β βββ preview.js # Preview renderer | |
| β βββ documents.js # Document management | |
| β βββ ai-tools.js # AI-powered features | |
| β βββ api.js # OpenRouter API integration | |
| β βββ export.js # Export functionality | |
| β βββ templates.js # Document templates | |
| β βββ db.js # Database layer (Dexie) | |
| β βββ utils.js # Utility functions | |
| βββ styles/ # CSS files | |
| β βββ main.css # Main stylesheet | |
| βββ templates/ # Document templates (future) | |
| ``` | |
| --- | |
| ## π§ Recent Improvements (Audit Nov 2025) | |
| ### Critical Bug Fixes | |
| β **Fixed Preview.getHTML()** - Added missing method for export functionality | |
| β **Fixed Marked.js API** - Updated listitem renderer for v11+ compatibility | |
| β **Fixed Initialization Order** - Resolved circular dependency issues | |
| β **Fixed Auto-Save Timing** - Now waits for full app initialization | |
| ### UX Enhancements | |
| β **Modern Context Menu** - Beautiful right-click menu for documents | |
| β **Loading States** - AI tools now show processing feedback | |
| β **Error Recovery** - Comprehensive error handling with user-friendly messages | |
| β **Settings Validation** - API key format validation | |
| β **Keyboard Shortcuts Modal** - Press `Ctrl+/` for interactive guide | |
| ### Performance Optimizations | |
| β **Debounced Stats Update** - Reduced unnecessary recalculations | |
| β **Smart Auto-Save** - Only saves when changes detected | |
| β **Improved State Management** - Better tracking of unsaved changes | |
| ### Documentation | |
| β **Enhanced Welcome Message** - Comprehensive feature guide | |
| β **Keyboard Shortcuts Table** - Quick reference in welcome screen | |
| β **Pro Tips** - Context-aware usage hints | |
| --- | |
| ## π― Use Cases | |
| ### Technical Writing | |
| - API documentation | |
| - Software guides | |
| - Technical specifications | |
| ### Content Creation | |
| - Blog posts | |
| - Articles | |
| - Long-form content | |
| ### Academic Work | |
| - Research papers | |
| - Notes | |
| - Outlines | |
| ### Project Management | |
| - Meeting notes | |
| - Task lists | |
| - Project documentation | |
| --- | |
| ## π Privacy & Data | |
| - **100% Local** - All documents stored in your browser's IndexedDB | |
| - **No Tracking** - No analytics, no telemetry | |
| - **No Server** - Runs entirely client-side (except AI features) | |
| - **Your Data** - You own your content, export anytime | |
| **Note:** AI features require an OpenRouter API key and send content to external AI models for processing. | |
| --- | |
| ## π Troubleshooting | |
| ### AI Tools Not Working | |
| - **Check API Key** - Verify your OpenRouter API key in Settings | |
| - **Check Format** - Key should start with `sk-or-` | |
| - **Check Balance** - Ensure you have credits on OpenRouter | |
| - **Check Network** - Verify internet connection | |
| ### Preview Not Updating | |
| - **Check Live Preview** - Ensure it's enabled in Settings | |
| - **Refresh Page** - Try reloading the page | |
| - **Clear Cache** - Clear browser cache if issues persist | |
| ### Documents Not Saving | |
| - **Check Storage** - Verify browser storage isn't full | |
| - **Check Permissions** - Ensure IndexedDB is allowed | |
| - **Try Export** - Export important documents as backup | |
| --- | |
| ## π€ Contributing | |
| This is a personal project by Jean & Elysia, but suggestions are welcome! | |
| --- | |
| ## π License | |
| MIT License - Free to use, modify, and distribute. | |
| --- | |
| ## π Credits | |
| **Built with love by Jean & Elysia** ππ | |
| Special thanks to: | |
| - The open-source community | |
| - All the amazing library authors | |
| - OpenRouter for AI access | |
| --- | |
| ## π Links | |
| - [OpenRouter](https://openrouter.ai/) - AI API platform | |
| - [Marked.js](https://marked.js.org/) - Markdown parser | |
| - [Prism.js](https://prismjs.com/) - Syntax highlighter | |
| - [KaTeX](https://katex.org/) - Math rendering | |
| - [Mermaid](https://mermaid.js.org/) - Diagram rendering | |
| --- | |
| **Version:** 1.3.0 | |
| **Last Updated:** December 2025 | |
| **Status:** Production Ready β | |
| _Write beautifully. Write intelligently. Write with Elysia._ π | |