✍️ Secure markdown platform for authorship assurance, built with Nuxt, Vue, TypeScript, shadcn/ui, Tailwind, KaTeX, and Markdown-it, featuring cryptographic SHA-256 verification.
- 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.
Clone the repo, install deps, and boot the dev server:
git clone https://github.com/KurutoDenzeru/ChainPaper.git
cd ChainPaper
bun install
bun run devOpen http://localhost:3000 to view the app.
bun run build
bun startThe editor is componentized under app/components. Key areas to customize are:
app/
components/
layout/
EditorToolbar.vue # Main editing toolbar
MenuBar.vue # Menu bar with formatting/insert options
StickyFooter.vue # Dock/status bar and controls
dialogs/ # Dialog components (About, Export, etc)
composables/ # Reusable logic (useDocument, useSeo, ...)
lib/ # Utility and formatting helpers
pages/
index.vue # App entry page, composes layouts and editor
stores/ # Pinia stores (editorMode, markdownDoc)
public/
OpenGraph.webp # Social preview image
robots.txt # Crawler rules
server/
api/
upload.post.ts # File upload API route
types/ # TypeScript type declarations
Contributions are always welcome, whether you’re fixing bugs, improving docs, or shipping new features that make the project better for everyone.
Check out Contributing.md to learn how to get started and follow the recommended workflow.
This project is released under the MIT License, giving you the freedom to use, modify, and distribute the code with minimal restrictions.
For the full legal text, see the MIT file.
