Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glow

A native macOS Markdown viewer built with SwiftUI. Open a folder, browse your files, and read rendered Markdown — no editing, no bloat.

macOS 26+ Swift 6 License

Features

  • Folder-based browsing — Open any folder and navigate its Markdown files in a sidebar tree
  • Search — Filter files by name across all subdirectories
  • Flat list mode — Toggle between tree hierarchy and a flat file list with relative paths
  • Recents — Quick access to your last 5 opened files
  • Live reload — Files and directories are watched for changes and update automatically
  • Table of contents — Jump to any heading with Cmd+T
  • Syntax highlighting — Code blocks rendered with configurable themes
  • Reading metrics — Word count and estimated reading time in the toolbar
  • Drag and drop — Drop a folder onto the window to open it
  • Customizable — Font size, code theme, and light/dark/system appearance in Settings

Requirements

  • macOS 26.0 or later
  • Xcode 26.2 (to build from source)
  • XcodeGen (brew install xcodegen)

Build

git clone https://github.com/mrishwajeetsingh/glow.git
cd glow
xcodegen generate
open Glow.xcodeproj

Then hit Cmd+R in Xcode.

Install

To run Glow without Xcode open:

  1. In Xcode, select Product > Archive
  2. In the Organizer, click Distribute App > Direct Distribution
  3. Export the .app and drag it to /Applications

Or build from the command line:

xcodebuild build -project Glow.xcodeproj -scheme Glow -configuration Release -destination "platform=macOS"

The built app is at DerivedData/Glow-*/Build/Products/Release/Glow.app.

Usage

Action Shortcut
Open folder Cmd+O
Table of contents Cmd+T
Settings Cmd+,
Search files Type in sidebar search field
Toggle flat/tree view Sidebar toolbar button

Open a folder containing .md, .markdown, .mdown, or .mkd files. Click any file in the sidebar to view it. The viewer re-renders automatically when files change on disk.

Architecture

SwiftUI Views  ->  @Observable ViewModels  ->  Services  ->  Models
Layer Files
App GlowApp.swift, ContentView.swift
Models AppState.swift, FileNode.swift
ViewModels DocumentViewModel.swift
Services FileWatcher.swift
Views FileTreeView.swift, MarkdownDetailView.swift, TOCPopoverView.swift, SettingsView.swift

Built with Swift 6 strict concurrency. All state management uses @Observable and @MainActor.

Dependencies

Package Purpose
swift-markdown AST parsing, heading extraction
MarkdownUI Markdown rendering
HighlightSwift Code syntax highlighting
NetworkImage Image loading

Privacy & Security

  • Sandboxed — App Sandbox enabled with read-only access to user-selected files only
  • No network — Fully offline, no telemetry, no analytics
  • URL filtering — Only https and http links are openable
  • Symlink safe — Directory traversal via symlinks is blocked

License

MIT

About

A beautiful native macOS Markdown viewer with liquid glass design

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages