A powerful, feature-rich document editor built with modern web technologies. Create, edit, and format documents with professional-grade tools, featuring a beautiful interface and seamless export capabilities.
- Headings & Paragraphs: Support for H1-H4 headings with proper hierarchy
- Text Formatting: Bold, italic, underline, superscript, and subscript
- Font Customization: Multiple font families (System, Serif, Monospace) and sizes (12px-48px)
- Line Spacing: Adjustable line height options (1, 1.15, 1.5, 2)
- Lists: Bullet and ordered lists with proper nesting and indentation
- Colors: Text color and background highlighting with color picker
- Indentation: Custom indent system for paragraphs and headings
- Keyboard Shortcuts: Ctrl/Cmd + B/I/U for quick formatting
- Export Capabilities:
- PDF export using html2pdf.js
- Word document export (.doc format)
- Theme Support: Beautiful dark/light mode with system preference detection
- Responsive Design: Mobile-friendly interface
- Accessibility: ARIA labels and keyboard navigation support
- Modern Stack: Next.js 15, React 18, TypeScript
- Rich Editor: TipTap with custom extensions
- UI Components: Radix UI primitives with shadcn/ui
- Styling: Tailwind CSS with OKLCH color system
- Performance: Optimized with dynamic imports and proper SSR handling
- Node.js 18+
- bun
-
Clone the repository
git clone https://github.com/yourusername/document-editor-with-tip-mukutap.git cd document-editor-with-tip-mukutap -
Install dependencies
bun install
-
Run the development server
bun run dev
-
Open your browser Navigate to http://localhost:3000
βββ app/
β βββ (editor)/
β β βββ editor-client.tsx # Client-side editor wrapper
β β βββ page.tsx # Main editor page
β βββ layout.tsx # Root layout with navbar/footer
β βββ globals.css # Global styles with design tokens
βββ components/
β βββ editor/
β β βββ rich-editor.tsx # Main TipTap editor component
β β βββ toolbar.tsx # Comprehensive toolbar
β β βββ tiptap-extensions.ts # Custom extensions
β βββ navbar.tsx # Custom navigation bar
β βββ footer.tsx # Footer component
β βββ theme-provider.tsx # Theme context provider
β βββ theme-toggle.tsx # Dark/light mode toggle
β βββ ui/ # shadcn/ui components
βββ lib/
β βββ utils.ts # Utility functions
βββ public/ # Static assets
The project uses a custom design system with OKLCH color space for better color consistency. You can customize colors in app/globals.css:
:root {
--background: oklch(1 0 0);
--foreground: oklch(0.145 0 0);
/* ... more color tokens */
}Create custom TipTap extensions in components/editor/tiptap-extensions.ts:
import { Extension } from "@tiptap/core"
export const CustomExtension = Extension.create({
name: "customExtension",
// Your extension logic here
})The project uses Tailwind CSS with custom design tokens. Components are styled using the cn() utility function for conditional classes.
- Push your code to GitHub
- Connect your repository to Vercel
- Deploy with zero configuration
The project can be deployed to any platform that supports Next.js:
- Netlify
- AWS Amplify
- Railway
- DigitalOcean App Platform
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
# Run tests (when implemented)
npm run test
# Run tests in watch mode
npm run test:watchimport { RichEditor } from '@/components/editor/rich-editor'
// Basic usage
<RichEditor />import { IndentExtension, LineHeightExtension } from '@/components/editor/tiptap-extensions'
// Use in editor configuration
const editor = useEditor({
extensions: [
StarterKit,
IndentExtension,
LineHeightExtension,
],
})We welcome contributions! Please see our Contributing Guide for details on how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
- TipTap - The headless editor framework
- Next.js - The React framework
- Radix UI - Accessible UI primitives
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Beautifully designed components
- π§ Email: support@docueditpro.com
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
Made with β€οΈ using Next.js & TipTap
Β© 2025 DocuEdit Pro. All rights reserved.