explaingit

techjewel/mdread

14JavaScriptAudience · writerComplexity · 1/5LicenseSetup · easy

TLDR

A browser-based Markdown reader and editor that runs fully offline with no server, no account, and no data leaving your device.

Mindmap

mindmap
  root((mdread))
    What it does
      Read Markdown files
      Edit Markdown files
      Save to disk
    Features
      Table of contents
      Day and night themes
      PWA offline mode
    Tech Stack
      JavaScript
      Vite
      File System API
    Deployment
      Cloudflare Workers
      One click deploy
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Read and browse long Markdown documents in a formatted view with a scrollable table of contents and adjustable themes.

USE CASE 2

Edit Markdown files and save changes directly back to your disk without downloading a new copy, using Chrome or Edge.

USE CASE 3

Install as an offline-capable PWA so you can read and edit Markdown files without an internet connection.

USE CASE 4

Deploy your own private Markdown reader to Cloudflare Workers with a one-click GitHub deploy button.

Tech stack

JavaScriptViteES modulesProgressive Web AppCloudflare Workers

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

mdread is a browser-based reader and editor for Markdown files. It runs entirely in your browser with no server, no account, and no data leaving your device. You can drop a single file or an entire folder onto the page, read the content in a formatted view, make edits, and save or download the result. The live version is at mdread.app and it is open source under the MIT license. The reading experience is designed for long documents. It uses your operating system's built-in serif typeface rather than loading any web fonts, includes a table of contents with scroll tracking, and lets you switch between day, sepia, and night themes. You can also adjust text size, line width, and typeface style. The app can be installed as a progressive web app, meaning it works with no internet connection once the shell is cached in your browser. Editing is built into the same interface with three views: read-only, split, and full editor. On Chrome and Edge, the app uses a browser feature called the File System Access API to write changes directly back to the original file on your disk. In other browsers, edited files are downloaded as new copies instead. Searching across an open folder, keyboard shortcuts for common actions, and remembering your last folder and reading position are all included. Deployment is handled through Cloudflare. A one-click button clones the repository into your own GitHub account and deploys it automatically. From the command line, running npm install and then npm run deploy publishes the built app to a free Cloudflare Workers URL. No backend is needed because the app is entirely static HTML, JavaScript, and CSS built with Vite and plain ES modules. There is no analytics and no external network request at runtime, which means the privacy guarantee is structural, not just a policy.

Copy-paste prompts

Prompt 1
I want to host my own private Markdown reader using techjewel/mdread. Walk me through cloning the repo, running npm install, and deploying to Cloudflare Workers with npm run deploy.
Prompt 2
How does mdread use the File System Access API to write edited files directly back to the original file on disk in Chrome? Show me where that logic lives in the codebase.
Prompt 3
I want to add a new color theme to mdread alongside day, sepia, and night. Which files control the theme switching and what CSS variables do I need to define?
Prompt 4
Help me configure mdread as a Progressive Web App so it caches fully offline. What file handles the PWA shell caching and how do I verify it works without an internet connection?
Open on GitHub → Explain another repo

← techjewel on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.