Back to projects
May 2025
3 min read

ChainPaper - Trustless Whitepaper

✍️ Secure markdown platform for authorship assurance, crafted with Nuxt, Tailwind, and Shadcn for instant preview and modern usability.

coverImage


✨ 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

1. Clone the repository

git clone https://github.com/KurutoDenzeru/ChainPaper.git
cd ChainPaper

2. Install dependencies

# With npm
yarn install
# or
npm install
# or
bun install

3. Run the development server

npm run dev
# or
yarn dev
# or
bun run dev

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


📦 Build for Production

npm run build
npm 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.