|
|
--- |
|
|
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._ π |
|
|
|