A modern, feature-rich document editor built with Vue.js and the UMO Editor library. This application provides a professional writing experience with a comprehensive set of editing tools, document management, and auto-save functionality.
- Rich Text Editing - Full-featured WYSIWYG editor with support for text formatting, tables, and media
- Fullscreen Mode - Distraction-free writing experience with automatic fullscreen on launch
- Auto-Save - Automatic document saving every 30 seconds to prevent data loss
- File Management - Upload and manage images and files directly in the editor
- Markdown Support - Write in Markdown and see real-time rendering
- Spell Checking - Built-in spell checker for error-free content
- Multiple Layouts - Support for page and web layouts with customizable margins
- Toolbar Modes - Ribbon-style toolbar with organized menus (Base, Insert, Table, Tools, Page, Export)
- Responsive Design - Works seamlessly across different screen sizes
- Document Export - Export documents in various formats
- Customizable - Configurable editor settings and theme options
- Vue.js 3.5.22 - Progressive JavaScript framework with Composition API
- Vite 7.1.7 - Next-generation frontend build tool
- @umoteam/editor 8.1.0 - Professional document editor component
- Axios 1.12.2 - Promise-based HTTP client for API requests
- @vitejs/plugin-vue 6.0.1 - Official Vue plugin for Vite
umoeditor/
βββ public/
β βββ favicon.png # Application icon
βββ src/
β βββ assets/ # Static assets
β βββ components/
β β βββ Editor/
β β βββ UmoEditorWrapper.vue # UMO Editor wrapper component
β βββ composables/ # Vue composables for shared logic
β β βββ useEditor.js
β β βββ useFileUpload.js
β βββ config/
β β βββ editorConfig.js # Editor configuration settings
β βββ services/ # API and business logic services
β β βββ documentService.js
β β βββ fileService.js
β βββ utils/ # Utility functions
β βββ views/
β β βββ EditorView.vue # Main editor view
β βββ App.vue # Root component
β βββ main.js # Application entry point
β βββ style.css # Global styles
βββ index.html # HTML template
βββ package.json # Project dependencies
βββ vite.config.js # Vite configuration
- Node.js (v16 or higher recommended)
- npm or yarn package manager
- Clone the repository:
git clone <repository-url>
cd umoeditor- Install dependencies:
npm installStart the development server:
npm run devThe application will be available at http://localhost:5173 (or another port if 5173 is in use).
Create a production build:
npm run buildThe optimized files will be generated in the dist directory.
Preview the production build locally:
npm run previewThe editor can be configured through src/config/editorConfig.js. Key configuration options include:
- Locale & Theme - Language (en-US) and theme (light/dark)
- Toolbar - Customize toolbar menus and modes
- Page Settings - Margins, orientation, background, and watermarks
- Document - Auto-save interval, spell check, markdown support
- File Upload - Allowed file types and maximum file size (100MB)
You can customize the CDN URL and other settings in the editor configuration file.
- Start Writing - The editor opens in fullscreen mode with autofocus enabled
- Format Text - Use the ribbon toolbar to format text, insert elements, and manage tables
- Insert Media - Upload images and files up to 100MB
- Auto-Save - Documents are automatically saved every 30 seconds
- Export - Use the export menu to save your document in various formats
The editor uses Segoe UI as the default font for optimal readability.
Default margins are set to:
- Left/Right: 3.18 cm
- Top/Bottom: 2.54 cm
Contributions are welcome! Feel free to:
- π Report bugs
- π‘ Suggest new features
- π§ Submit pull requests
Faizan Gondal
- GitHub: @fazi-gondal
- Project: Umoeditor
This project is licensed under the MIT License - feel free to use it for personal or commercial projects.
Made with β€οΈ by Faizan Gondal
β If you find this project useful, please consider giving it a star on GitHub! β