# obgnail/typora_plugin: a feature pack that hijacks Typora's Electron runtime

> The plugin installs by replacing Typora's window.html and injecting scripts into the Electron renderer. That is why it works on Windows and Linux only, and why every Typora update is a risk.

**obgnail/typora_plugin** — Typora Plugin. Feature Enhancement Tool | Typora 插件，功能增强工具

- Repository: https://github.com/obgnail/typora_plugin
- Stars: 4,647 · Forks: 256
- Language: JavaScript
- License: MIT
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/obgnail-typora-plugin

## What obgnail/typora_plugin adds to Typora, and who it is for

Typora is a Markdown editor with a fixed feature set. The repository obgnail/typora_plugin is a feature enhancement tool that adds the things Typora does not ship: a window tab bar, a multi-field file searcher, slash commands, a command palette, table filtering and sorting, mouse gestures, a templater, and integrations for ECharts, Chart.js, DrawIO, PlantUML, Marp, WaveDrom, abc.js and tui.calendar. The README organizes these into four groups: Navigation and Management, Enhance Editing, Component, and View and Theme. Each entry in the tables carries a default column, and a cross mark means the plugin is off until enabled. That default column is the practical starting point, because a fresh install does not turn on everything at once.

The audience is narrow and specific. This is for people who already use Typora as their main Markdown editor and want it to behave more like an IDE: tabs, a file search across a workspace, folding for paragraphs, lists and tables, and diagram rendering inside the document. Someone who does not use Typora has no reason to install it, since the whole project is a modification of Typora's own runtime.

## How the hijack works: window.html, injected scripts and the plugin directory

The repository's topics include electron, hijacking, nodejs and scripts, and that is an accurate description of the mechanism. Typora is an Electron application, and an Electron application renders its interface from an HTML file. The installer replaces Typora's window.html with a version that loads the project's own scripts, so the plugin code runs inside the same renderer process as the editor and can reach the DOM, the menus and the file system APIs that Typora itself uses.

Everything lives under the plugin/ directory at the top level of the repository. The README's badge labels the implementation "Native", which in this context means the plugins are written against Typora's own internals rather than against a published extension API. The repository also carries a develop/ directory, a hint that plugin authors are expected to work inside the same layout. The consequence of the design is direct: because the code attaches to Typora's internal structures, a Typora release that renames or restructures those internals can break plugins without any change in this repository. That is the trade-off the project accepts in exchange for capabilities a sandboxed extension API would not allow.

## Installing obgnail/typora_plugin and enabling a first plugin

The README links its how-to-use section from the platform badge, and it documents two installation methods, one of them labelled automatic. Since I have not run the installer, treat the following as a reading of the README rather than a transcript of a session. The first step is to get the code or the release archive. The releases page carries 1.19.7 from 2026-09-16, with 1.19.6 and 1.19.5 before it, so a tagged archive is available if you prefer not to clone the default branch, which is master.

If you clone instead of downloading an archive, the repository is a plain Git checkout:

```bash
git clone https://github.com/obgnail/typora_plugin.git
cd typora_plugin
```

The how-to-use section then describes the automatic method, which is the path most users take because it performs the window.html replacement for you. After installation, the plugins do not all appear at once. The README's tables mark most entries as enabled by default and a smaller set, including bookmark, cursor_history, collapse_paragraph, collapse_list, collapse_table, mouse_gestures, pie_menu, datatables, export_enhance, html_editor, assets_storage, cipher, repository, ripgrep and asset_root_redirect, with a cross. Those are the ones you turn on yourself. The preferences plugin is the global configuration panel and is on by default, so it is the place to look first:

```bash
# after installation, open Typora and use the preferences plugin
# to enable one of the plugins marked with a cross in the README
```

What you should see is Typora starting normally but with additional entries in its menu and, for the plugins you enable, new UI such as a tab bar or a right-side outline. If Typora starts without them, the window.html replacement did not take effect, which is the failure mode the next section covers.

## The Typora update problem and other limits of a renderer hijack

The clearest limitation is stated by the project's own plugin list. There is an updater plugin described as one-click plugin update, and its existence tells you something: the installation is not permanent. When Typora updates itself, it can overwrite window.html and the injected scripts disappear. The updater plugin is the project's answer, and it implies a maintenance rhythm where you reapply the plugin after Typora moves.

Platform support is the second limit. The README badge lists Windows and Linux only. There is no macOS entry, and the related search phrase about Typora plugin on mac does not change that. If you work on macOS, this project is the wrong tool, regardless of which features you wanted.

Third, the plugin surface is large. The README lists dozens of plugins across four categories, and the default column shows that a meaningful number ship disabled. A large surface built on internal APIs means more places for a Typora change to break something, and it also means the configuration panel is not optional reading. Finally, the project has no homepage field, so the README and the repository itself are the documentation. There is a DeepWiki badge in the README, which points at a generated documentation site rather than a hand-written manual.

## How it differs from Typora-community-plugin

The related searches include Typora-community-plugin, and the contrast is the useful comparison. Typora-community-plugin is a plugin system with its own marketplace model, where plugins are packaged and installed through that system. obgnail/typora_plugin takes the other route: it does not provide a marketplace, and the README's plugin tables are a fixed catalogue that ships with the repository. You enable what is listed, and the list is maintained by the project rather than by third parties publishing packages.

The practical difference is what you get out of the box. This project bundles components such as ECharts, DrawIO, PlantUML, Marp, WaveDrom and tui.calendar directly, which means the diagram and chart tooling is part of the install rather than a separate plugin you go find. The cost is that the catalogue is the ceiling. If a feature is not in the README's tables, this project is not the place to get it, and the marketplace model is. That is a genuine fork in approach, not a matter of one being newer.

## Maintenance, licensing and the upgrade cost you should budget for

The repository is not archived, and the last push was on 2026-09-22, one day before today's date, with releases 1.19.7 on 2026-09-16, 1.19.6 on 2026-09-11 and 1.19.5 on 2026-09-03. That is a steady release cadence, and the version numbers suggest small increments rather than large breaking jumps, though the README does not state a compatibility policy for Typora versions.

The licence is MIT, per the LICENSE file at the top level and the README badge. MIT is permissive: you can use, modify and redistribute the code, including in commercial settings, provided the copyright notice and permission notice are preserved. That is the standard reading of the licence text, not legal advice, and anyone redistributing a modified copy should read the LICENSE file themselves. One licensing note specific to this project: it bundles or integrates third-party components such as ECharts, Chart.js, DrawIO, PlantUML, Marp, abc.js, WaveDrom and tui.calendar, and each of those carries its own licence. The repository's MIT licence covers the plugin code, and the README does not enumerate the licences of the integrated components, so that is something to check before shipping a build.

The upgrade cost is the window.html replacement. Every Typora update is a moment where the injection can be undone, so the realistic maintenance budget is not the plugin's own release cadence but Typora's.

## Who should install this, and what to check before you do

Install it if you write in Typora on Windows or Linux and the missing features are the ones costing you time: tabs, workspace-wide search, folding, a command palette, or rendering ECharts and PlantUML diagrams in the document. The breadth of the README's plugin tables means most of the common gaps are covered by something already in the repository, and the preferences plugin gives you one place to turn them on.

Skip it on macOS. Skip it if you want a plugin ecosystem that third parties can publish into, since that is the marketplace model rather than this one. Skip it if a broken editor after a Typora update would be more disruptive than the features are worth, because that failure mode is inherent to replacing window.html.

Before installing, read the how-to-use section of the README and identify which of the two methods, automatic or manual, matches your platform. Then check the release page for 1.19.7 and decide between the tagged archive and a clone of master. The single thing to verify on your own machine is whether your Typora installation still exposes window.html where the installer expects it, because everything else in this project depends on that one file being replaceable.

## Conclusion

Adopt it if you write in Typora on Windows or Linux and want the features Typora does not ship, such as the command palette, the workspace manager or the component plugins for ECharts, DrawIO and PlantUML, and if you are comfortable with an installer that overwrites window.html. Do not adopt it on macOS, where the README lists no support, and do not adopt it if you depend on Typora's own updater, because the project's updater plugin exists precisely because the hijack can be overwritten. Before installing, read the how-to-use section of the README and confirm which of the two installation methods it offers for your platform, then check the release page for 1.19.7. The thing to verify first is whether your Typora build still exposes window.html at the path the installer expects.

## FAQ

### How do I install obgnail/typora_plugin?

The README documents two installation methods, one of them labelled automatic, and links them from the platform badge. You can also clone the repository from GitHub and follow the how-to-use section. The installer replaces Typora's window.html so the plugin scripts load in the renderer.

### Does obgnail/typora_plugin work on macOS?

The README's platform badge lists Windows and Linux only, with no macOS entry. If you work on macOS, the project does not claim support for it.

### Why do the plugins disappear after I update Typora?

The installation works by replacing Typora's window.html, so a Typora update can overwrite the injected scripts. The project ships an updater plugin, described as one-click plugin update, which is the intended way to reapply things.

### Is obgnail/typora_plugin free and open source?

Yes. The repository carries an MIT licence, and the README shows a licence badge pointing at the LICENSE file. Note that the project also integrates third-party components such as ECharts, DrawIO and PlantUML, whose own licences are not enumerated in the README.

### How is obgnail/typora_plugin different from Typora-community-plugin?

Typora-community-plugin is a plugin system with a marketplace model, while obgnail/typora_plugin ships a fixed catalogue of plugins inside the repository. This project bundles components such as ECharts, DrawIO, PlantUML and Marp directly rather than having you install them as separate packages.

## Sources

- [Issues](https://github.com/obgnail/typora_plugin/issues)
- [License: MIT](https://github.com/obgnail/typora_plugin/blob/master/LICENSE)
- [obgnail/typora_plugin on GitHub](https://github.com/obgnail/typora_plugin)
- [README](https://github.com/obgnail/typora_plugin/blob/master/README.md)
- [Releases](https://github.com/obgnail/typora_plugin/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/obgnail-typora-plugin
