✍️ Secure markdown platform for authorship assurance, crafted with Nuxt, Pinia, Tailwind, and Shadcn, featuring cryptographic verification using SHA-256.
- Real-time Markdown Editing: Live preview of markdown content as you type with instant rendering.
- Authorship Verification: Built-in cryptographic proofs to verify document contributors and maintain an immutable history.
- Advanced Formatting: Support for superscript, subscript, math expressions (KaTeX), tables, lists, and text alignment.
- Rich Media Insertion: Insert emojis, tables, horizontal lines, footnotes, and code blocks with customizable options.
- Responsive Design: Optimized for desktops, tablets, and mobile devices with adaptive layouts.
- Export Options: Generate documents with proper formatting and verification metadata.
- Open Source: Free to use and contribute to, built with modern web technologies.
- Nuxt.js: Vue framework for building performant full-stack applications.
- Vue 3: Progressive JavaScript framework with Composition API.
- TypeScript: Typed JavaScript for better development experience.
- Shadcn Vue: Re-usable components built using Radix Vue and Tailwind.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
- KaTeX: Fast math typesetting for rendering mathematical expressions.
- Markdown-it: Flexible markdown parser with plugins.
git clone https://github.com/KurutoDenzeru/ChainPaper.git
cd ChainPaper# With npm
yarn install
# or
npm install
# or
bun installnpm run dev
# or
yarn dev
# or
bun run devOpen http://localhost:3000 to view the app.
npm run build
npm startThe main editor configuration lives in the /layouts folder under app/components. Key layout files:
/layouts/EditorToolbar.vue— Main editing toolbar with formatting options. (app/components/layout/EditorToolbar.vue)/layouts/MenuBar.vue— Menu bar with advanced formatting and insert options. (app/components/layout/MenuBar.vue)/layouts/StickyFooter.vue— Sticky footer / status bar and related controls. (app/components/layout/StickyFooter.vue)
The primary page that composes these layouts is:
/pages/index.vue— App entry page that integrates the layouts and editor UI. (app/pages/index.vue)
Contributions are always welcome!
See Contributing.md for ways to get started.
