Back to projects
May 2025
3 min read

ChainPaper - Trustless Whitepaper

✍️ Secure markdown platform for authorship assurance, crafted with Nuxt, Pinia, Tailwind, and Shadcn, featuring cryptographic verification using SHA-256.
ChainPaper - Trustless Whitepaper

☁️ Deploy your own


✨ Features

  • 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.

🛠️ Tech Stack

  • 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.

🚀 Getting Started

Clone the repo, install deps, and boot the dev server:

git clone https://github.com/KurutoDenzeru/ChainPaper.git
cd ChainPaper
bun install
bun run dev

Open http://localhost:3000 to view the app.

📦 Build for Production

bun run build
bun start

⚙️ Configuration

The main editor configuration lives in the /layouts folder under app/components. Key layout files:

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)

Contributing

Contributions are always welcome!

See Contributing.md for ways to get started.