This repository is a Text Editor made using React library Tiptap
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.
undefinedClone the repositoryundefined
git clone https://github.com/yourusername/document-editor-with-tip-mukutap.git
cd document-editor-with-tip-mukutap
undefinedInstall dependenciesundefined
bun install
undefinedRun the development serverundefined
bun run dev
undefinedOpen your browserundefined
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.
The project can be deployed to any platform that supports Next.js:
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:watch
import { 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.
Made with β€οΈ using Next.js & TipTap
Β© 2025 DocuEdit Pro. All rights reserved.