Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 62 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,70 @@
<p align="center">
<img src="build/icon.png" width="128" height="128" alt="TypeOpen logo" />
<img src="build/icon.png" width="112" height="112" alt="TypeOpen app icon" />
</p>

# TypeOpen

TypeOpen is a TriHerm Labs open-source desktop Markdown editor for macOS focused on a clean live editing workflow: write Markdown while seeing a rendered document, switch to source when needed, navigate a folder/outline, and export to common document formats.
**A lightweight, open-source Markdown editor for macOS.**

[![Download latest DMG](https://img.shields.io/badge/Download-Latest%20DMG-111111?style=for-the-badge&logo=apple&logoColor=white)](https://github.com/TriHerm/TypeOpen/releases/latest)
Write in a live, formatted Markdown editor, switch to the source whenever you need full control, and navigate your documents without leaving your writing flow. TypeOpen is an independent, Typora-style Markdown editor for Apple Silicon Macs, built with Swift/AppKit, WKWebView and a React/Lexical editing surface.

The default macOS build uses a small Swift/AppKit shell with the system WKWebView rather than bundling Chromium. This keeps the application in the same lightweight architectural class as native WebKit editors while preserving TypeOpen's React/Lexical editor surface.
[![Download TypeOpen for macOS](https://img.shields.io/badge/Download-TypeOpen%20for%20macOS-111111?style=for-the-badge&logo=apple&logoColor=white)](https://github.com/TriHerm/TypeOpen/releases/latest)
[![Homebrew](https://img.shields.io/badge/Homebrew-Install-FBB040?style=for-the-badge&logo=homebrew&logoColor=000000)](#install-with-homebrew)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue?style=for-the-badge)](LICENSE)

This project is an independent clean-room implementation. It does not contain Typora source code, decompiled function bodies, icons, themes, license/update mechanisms, or proprietary assets. REA was used locally to inventory user-visible behavior from a legally supplied application bundle; the reference application and raw REA evidence are explicitly excluded from Git and release artifacts.
## See TypeOpen in action

## Current capabilities
<p align="center">
<a href="https://github.com/TriHerm/TypeOpen/releases/download/v0.1.7/TypeOpen-Demo-Landscape.mp4">
<img src="docs/assets/typeopen-demo-cover.jpg" alt="TypeOpen Markdown editor demonstration: formatted Markdown document with headings and lists" width="960" />
</a>
</p>

<p align="center">
<a href="https://github.com/TriHerm/TypeOpen/releases/download/v0.1.7/TypeOpen-Demo-Landscape.mp4"><strong>Watch the 30-second demo (landscape)</strong></a>
· <a href="https://github.com/TriHerm/TypeOpen/releases/download/v0.1.7/TypeOpen-Demo-Portrait.mp4">Vertical demo</a>
</p>

## The writing workflow

<table>
<tr>
<td width="33%" align="center"><img src="docs/assets/typeopen-live-markdown.jpg" alt="Live Markdown editing in TypeOpen" /><strong>Live Markdown</strong></td>
<td width="33%" align="center"><img src="docs/assets/typeopen-source-mode.jpg" alt="Markdown source editing in TypeOpen" /><strong>Source Mode</strong></td>
<td width="33%" align="center"><img src="docs/assets/typeopen-outline.jpg" alt="Document outline navigation in TypeOpen" /><strong>Document Outline</strong></td>
</tr>
</table>

TypeOpen keeps your documents in Markdown: write with formatted headings, lists, tables, links, images and code; switch to raw source when needed; or jump between sections with a navigable outline. The current native macOS distribution uses Swift/AppKit with WKWebView on Apple Silicon, not bundled Chromium.

The images above are frames from the TypeOpen product demo. TypeOpen is developed independently and is **not affiliated with Typora**. For supported features and known gaps, see the [feature and compatibility matrix](docs/PARITY_MATRIX.md).

## Install with Homebrew

Homebrew is the recommended installation path for TypeOpen on Apple Silicon Macs:

```bash
brew install --cask triherm/tap/typeopen
```

The Cask is maintained in the public [`TriHerm/homebrew-tap`](https://github.com/TriHerm/homebrew-tap) repository and tracks the matching immutable GitHub release artifact.

TypeOpen is currently ad-hoc signed and not notarized. Homebrew keeps macOS quarantine enabled, so Gatekeeper may block the first launch. If you trust the release, open TypeOpen once and approve it through **System Settings → Privacy & Security → Open Anyway**.

You can also download the current Apple Silicon DMG directly from [GitHub Releases](https://github.com/TriHerm/TypeOpen/releases/latest).

## Requirements

- macOS 13 or newer.
- Apple Silicon (`arm64`) for the current public release.
- Optional: Pandoc 2+ for advanced import/export formats.

For development from source, use Node.js 22.12+, npm 11+, and Xcode Command Line Tools with `swiftc`.

## Full feature list

<details>
<summary>Expand supported editor, navigation, formatting, and export features</summary>

- Live WYSIWYG Markdown editing with Markdown as the persisted format.
- Source Code Mode backed by CodeMirror.
Expand Down Expand Up @@ -49,29 +101,13 @@ This project is an independent clean-room implementation. It does not contain Ty
- DOCX, ODT, RTF, EPUB, LaTeX and MediaWiki export when Pandoc is installed.
- Import of supported Pandoc document formats into Markdown when Pandoc is installed.

See [`docs/PARITY_MATRIX.md`](docs/PARITY_MATRIX.md) for the exact feature/evidence status and known gaps.

## Install with Homebrew

Homebrew is the recommended installation path for TypeOpen on Apple Silicon Macs:
</details>

```bash
brew install --cask triherm/tap/typeopen
```

The Cask is maintained in the public [`TriHerm/homebrew-tap`](https://github.com/TriHerm/homebrew-tap) repository and tracks the matching immutable GitHub release artifact.

TypeOpen is currently ad-hoc signed and not notarized. Homebrew keeps macOS quarantine enabled, so Gatekeeper may block the first launch. If you trust the release, open TypeOpen once and approve it through **System Settings → Privacy & Security → Open Anyway**.

You can also download the current Apple Silicon DMG directly from [GitHub Releases](https://github.com/TriHerm/TypeOpen/releases/latest).

## Requirements
See [`docs/PARITY_MATRIX.md`](docs/PARITY_MATRIX.md) for the exact feature/evidence status and known gaps.

- macOS 13 or newer.
- Apple Silicon (`arm64`) for the current public release.
- Optional: Pandoc 2+ for advanced import/export formats.
## Feedback and contributions

For development from source, use Node.js 22.12+, npm 11+, and Xcode Command Line Tools with `swiftc`.
Found an issue or want to suggest a feature? Use [GitHub Issues](https://github.com/TriHerm/TypeOpen/issues). Contributions are welcome; read [CONTRIBUTING.md](CONTRIBUTING.md) and the [architecture notes](docs/ARCHITECTURE.md) before making changes.

## Development

Expand Down
Binary file added docs/assets/typeopen-demo-cover.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/typeopen-live-markdown.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/typeopen-outline.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/typeopen-social-preview.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/typeopen-source-mode.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
"@vitejs/plugin-react": "^6.1.2",
"concurrently": "^10.0.6",
"cross-env": "^10.1.0",
"dompurify": "^3.4.16",
"dompurify": "^3.4.17",
"electron": "^44.7.0",
"electron-builder": "^26.15.3",
"flowchart.js": "^1.18.0",
Expand Down
Loading