Zurück zum Ranking

joemccann/dillinger

TypeScriptdillinger.io

The last Markdown editor, ever.

markdowneditorideblogbloggingwritingnodejsnodejavascriptmd
Sterne-Wachstum
Sterne
8.3k
Forks
1.2k
Wochenwachstum
Issues
136
5k
Nov. 2011Sept. 2016Aug. 2021Juli 2026
Artefaktenpmnpm install dillinger
README

Dillinger Banner

Dillinger

The last Markdown editor you'll ever need.

A modern, cloud-native Markdown editor built on Next.js — designed for speed, focus, and seamless sync.

Get Started · Features · Integrations · Deploy


✨ Why Dillinger

Most markdown editors are either:

  • bloated
  • offline-only
  • or lack serious developer ergonomics

Dillinger fixes that.

It combines:

  • ⚡ VS Code-grade editing
  • ☁️ Native cloud storage
  • 🧘 Distraction-free UX
  • 🔄 Real-time rendering

⚡ Quick Start

npm install
npm run dev

Open → http://localhost:3000


🧱 Requirements

  • Node.js 18+
  • npm / yarn / pnpm / bun

🚀 Features

Editor Experience

  • Monaco Editor (VS Code core)
  • Syntax highlighting for Markdown
  • Image paste support

Live Workflow

  • Real-time preview
  • Scroll sync
  • Instant feedback loop

Focus Mode

  • Zen Mode (Cmd/Ctrl + Shift + Z)
  • Fullscreen, distraction-free writing

File Handling

  • Drag & drop .md, .txt, .markdown
  • Auto-save (local persistence)

Export

  • Markdown
  • HTML
  • PDF

Cloud Integrations

  • GitHub
  • Google Drive
  • Dropbox
  • OneDrive
  • Bitbucket

🔐 Environment Setup

Create:

.env.local

Template

# Google Drive
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=http://localhost:3000/api/google-drive/callback

# OneDrive
ONEDRIVE_CLIENT_ID=
ONEDRIVE_CLIENT_SECRET=
ONEDRIVE_REDIRECT_URI=http://localhost:3000/api/onedrive/callback

# Bitbucket
BITBUCKET_CLIENT_ID=
BITBUCKET_CLIENT_SECRET=
BITBUCKET_REDIRECT_URI=http://localhost:3000/api/bitbucket/callback

# GitHub
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_REDIRECT_URI=http://localhost:3000/api/github/callback

# Dropbox
DROPBOX_CLIENT_ID=
DROPBOX_CLIENT_SECRET=
DROPBOX_REDIRECT_URI=http://localhost:3000/api/dropbox/callback

☁️ Cloud Integrations

Each provider requires OAuth configuration.

Google Drive

  • Enable Drive API
  • Create OAuth credentials
  • Redirect:
/api/google-drive/callback

OneDrive

  • Azure App Registration

  • Permissions:

    • Files.ReadWrite
    • User.Read

Bitbucket

  • OAuth consumer
  • Repo read/write access

GitHub

  • OAuth App
  • Callback:
/api/github/callback

Dropbox

  • Scoped app

  • Enable:

    • files.metadata.read
    • files.content.write

🚢 Deployment

Update all OAuth callbacks:

https://yourdomain.com/api/{provider}/callback

Then:

npm run build
npm start

🏗 Tech Stack

Layer Technology
Framework Next.js 14
Editor Monaco
Styling Tailwind CSS
State Zustand
Icons Lucide

📦 Scripts

npm run dev              # Start dev server
npm run build            # Production build
npm start                # Start production server
npm run lint             # ESLint
npm run test             # Unit + E2E tests
npm run test:unit        # Vitest unit/integration tests
npm run test:watch       # Vitest watch mode
npm run test:e2e         # Playwright E2E tests
npm run test:e2e:headed  # E2E in visible browser
npm run verify           # Lint + typecheck + all tests

🧪 Testing

294 unit/integration tests (Vitest) + 39 E2E tests (Playwright) with 98% code coverage.

npm run test:unit                # Run all unit tests
npx vitest run --coverage        # With coverage report
npm run test:e2e:headed          # E2E in visible browser

Tests live in tests/ organized by type: lib/, store/, hooks/, components/, routes/, and e2e/.


🧭 Philosophy

Dillinger is built around a simple idea:

Writing tools should disappear.

No friction. No clutter. Just flow.


🤝 Contributing

PRs welcome. Open an issue first for major changes.


📄 License

MIT

Ähnliche Repositories
microsoft/markitdown

Python tool for converting files and office documents to Markdown.

PythonPyPIMIT Licenselangchainopenai
168k12.1k
firecrawl/firecrawl

The API to search, scrape, and interact with the web at scale. 🔥

TypeScriptnpmGNU Affero General Public License v3.0aicrawler
firecrawl.dev
154.1k8.8k
toeverything/AFFiNE

There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

TypeScriptnpmOthereditorcrdt
affine.pro
70.7k5.1k
docling-project/docling

Get your documents ready for gen AI

PythonPyPIMIT Licenseaiconvert
docling-project.github.io/docling
63.6k4.5k
usememos/memos

Open-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours.

GoGo ModulesMIT Licensereactgo
usememos.com
61.7k4.6k
marktext/marktext

📝A simple and elegant markdown editor, available for Linux, macOS and Windows.

TypeScriptnpmMIT Licensemacostypewriter-mode
marktext.me
59k4.4k
Textualize/rich

Rich is a Python library for rich text and beautiful formatting in the terminal.

PythonPyPIMIT Licensepythonpython3
rich.readthedocs.io/en/latest/
56.9k2.3k
prettier/prettier

Prettier is an opinionated code formatter.

JavaScriptnpmMIT Licenseformatterprinter
prettier.io
52.1k4.9k
jekyll/jekyll

:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby

RubyRubyGemsMIT Licenserubyjekyll
jekyllrb.com
51.6k10.3k
slidevjs/slidev

Presentation Slides for Developers

TypeScriptnpmMIT Licenseslidespresentation
sli.dev
47.8k2.1k
GitHubDaily/GitHubDaily

坚持分享 GitHub 上高质量、有趣实用的开源技术教程、开发者工具、编程网站、技术资讯。A list cool, interesting projects of GitHub.

githubopen-source
githubdaily.com
47.1k4.7k
jgm/pandoc

Universal markup converter

HaskellGNU General Public License v2.0pandochaskell
pandoc.org
45.5k3.9k