Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/sureshamal/markview/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites

Before you begin developing MarkView, ensure you have the following tools installed:

Node.js & Bun

Required for running the Next.js frontend and managing JavaScript dependencies

Rust & Cargo

Required for building the Tauri backend and Rust components

Tauri CLI

Build tools and dependencies for compiling Tauri applications

Platform Tools

OS-specific build dependencies (see platform notes below)

Platform-Specific Dependencies

Install Xcode Command Line Tools:
xcode-select --install

Getting Started

1

Clone the repository

git clone https://github.com/sureshamal/markview.git
cd markview
2

Install dependencies

MarkView uses Bun as the package manager for optimal performance:
bun install
This will install all frontend dependencies defined in package.json, including:
  • Next.js 16.1.6 (React 19.2.3)
  • Tauri plugins (dialog, fs, window)
  • Markdown rendering libraries (react-markdown, remark-gfm, rehype-raw)
  • UI dependencies (lucide-react, react-syntax-highlighter)
3

Run development server

Start the development server with hot-reloading:
bun run tauri dev
This command will:
  1. Start the Next.js dev server on http://localhost:3000
  2. Build the Rust backend
  3. Launch the Tauri desktop window
The first build may take several minutes as Cargo compiles all Rust dependencies.
4

Verify the setup

Once the application launches, verify:
  • The window opens with the MarkView interface
  • You can drag and drop markdown files
  • File and folder upload buttons work
  • Theme switching functions correctly (Alt+T)

Available Scripts

MarkView provides the following npm scripts defined in package.json:
bun run tauri dev

Script Descriptions

ScriptCommandDescription
devnext devRuns Next.js development server only (without Tauri)
buildnext buildBuilds Next.js for production (static export)
startnext startStarts production Next.js server (not used in Tauri)
linteslintRuns ESLint for code quality
tauritauriDirect access to Tauri CLI commands

Troubleshooting

If you encounter Rust compilation errors:
  1. Verify Rust version meets minimum requirement (1.77.2+):
    rustc --version
    
  2. Update Rust to the latest stable version:
    rustup update stable
    
  3. Clean the build cache:
    cd src-tauri
    cargo clean
    cd ..
    
If port 3000 is already occupied:
  1. Kill the process using port 3000
  2. Or modify the dev URL in src-tauri/tauri.conf.json:
    "devUrl": "http://localhost:3001"
    
  3. Update the Next.js port in package.json:
    "dev": "next dev -p 3001"
    
If you see WebView2 errors on Windows:Download and install the WebView2 Runtime
If you prefer npm or yarn instead of bun:
# Using npm
npm install
npm run tauri dev

# Using yarn
yarn install
yarn tauri dev
Update the beforeDevCommand and beforeBuildCommand in src-tauri/tauri.conf.json to use your package manager.
For development, you can disable code signing:
  1. Add to src-tauri/tauri.conf.json under bundle:
    "macOS": {
      "signingIdentity": null
    }
    

Development Tools

Browser DevTools

Access browser DevTools in the Tauri window:
  • macOS: Cmd+Option+I
  • Windows/Linux: Ctrl+Shift+I

Rust Console Output

View Rust backend logs in the terminal where you ran bun run tauri dev.

TypeScript Type Checking

Run TypeScript compiler in watch mode:
tsc --watch --noEmit

Next Steps

Architecture Overview

Learn about MarkView’s technical architecture

Building for Production

Build and distribute MarkView binaries