Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A modern document editor built with Vue.js and UMO Editor - featuring rich text editing, auto-save, fullscreen mode, file management, and Markdown support for a professional writing experience.

License

Notifications You must be signed in to change notification settings

fazi-gondal/umoeditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

UMOEditor

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.

umoeditor Preview

πŸš€ Features

  • 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

πŸ› οΈ Tech Stack

Frontend Framework

  • Vue.js 3.5.22 - Progressive JavaScript framework with Composition API
  • Vite 7.1.7 - Next-generation frontend build tool

Core Libraries

  • @umoteam/editor 8.1.0 - Professional document editor component
  • Axios 1.12.2 - Promise-based HTTP client for API requests

Build Tools

  • @vitejs/plugin-vue 6.0.1 - Official Vue plugin for Vite

πŸ“ Project Structure

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

πŸš€ Getting Started

Prerequisites

  • Node.js (v16 or higher recommended)
  • npm or yarn package manager

Installation

  1. Clone the repository:
git clone <repository-url>
cd umoeditor
  1. Install dependencies:
npm install

Development

Start the development server:

npm run dev

The application will be available at http://localhost:5173 (or another port if 5173 is in use).

Build

Create a production build:

npm run build

The optimized files will be generated in the dist directory.

Preview

Preview the production build locally:

npm run preview

βš™οΈ Configuration

Editor Settings

The 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)

Environment Variables

You can customize the CDN URL and other settings in the editor configuration file.

πŸ’‘ Usage

  1. Start Writing - The editor opens in fullscreen mode with autofocus enabled
  2. Format Text - Use the ribbon toolbar to format text, insert elements, and manage tables
  3. Insert Media - Upload images and files up to 100MB
  4. Auto-Save - Documents are automatically saved every 30 seconds
  5. Export - Use the export menu to save your document in various formats

🎨 Customization

Default Font

The editor uses Segoe UI as the default font for optimal readability.

Page Margins

Default margins are set to:

  • Left/Right: 3.18 cm
  • Top/Bottom: 2.54 cm

🀝 Contributing

Contributions are welcome! Feel free to:

  • πŸ› Report bugs
  • πŸ’‘ Suggest new features
  • πŸ”§ Submit pull requests

πŸ‘¨β€πŸ’» Author

Faizan Gondal


πŸ“„ License

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! ⭐

About

A modern document editor built with Vue.js and UMO Editor - featuring rich text editing, auto-save, fullscreen mode, file management, and Markdown support for a professional writing experience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published