# obgnail/typora_plugin

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/obgnail-typora-plugin).**

3,837 stars · 198 forks · JavaScript · mit

## Links

- GitHub: https://github.com/obgnail/typora_plugin
- awesome-repositories: https://awesome-repositories.com/repository/obgnail-typora-plugin.md

## Topics

`electron` `hijacking` `markdown` `nodejs` `plugin` `scripts` `typora` `typora-extension` `typora-plugin`

## Description

This project is a JavaScript-based plugin framework for the Typora markdown editor. It provides a development platform to integrate custom functional logic, UI elements, and keyboard shortcuts into the editor environment.

The framework distinguishes itself by offering a JSON-RPC remote interface, allowing external programs to control the editor and trigger plugin functions. It also includes a dedicated publishing system to export and upload markdown documents to external blogging platforms via API requests.

The project covers a wide range of capabilities, including editor workflow automation through command palettes and radial menus, markdown document formatting and syntax linting, and comprehensive asset management for media files. It also provides navigation enhancements such as tabbed window management and a secondary document outline, alongside high-performance text searching via ripgrep integration.

Configuration and user customizations are managed through TOML files.

## Tags

### Development Tools & Productivity

- [Plugin-Based Editor Frameworks](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-architectures/plugin-based-editor-frameworks.md) — Provides a JavaScript-based architectural framework for extending the Typora editor with custom logic and UI.
- [Editor Extensions](https://awesome-repositories.com/f/development-tools-productivity/editor-extensions.md) — Provides a comprehensive platform for creating custom editor extensions using JavaScript and declarative configuration. ([source](https://github.com/obgnail/typora_plugin/blob/master/plugin/custom/README-en.md))
- [Editor Automation Hooks](https://awesome-repositories.com/f/development-tools-productivity/editor-automation-hooks.md) — Provides a system of plugins and shortcuts to automate repetitive tasks and workflows within the editor.
- [Hotkey](https://awesome-repositories.com/f/development-tools-productivity/command-execution/hotkey.md) — Maps keyboard shortcuts to internal system functions or custom JavaScript logic. ([source](https://github.com/obgnail/typora_plugin#readme))
- [Editor Remote Control](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces/editor-remote-control.md) — Exposes a JSON-RPC interface that allows external programs to remotely trigger internal editor operations.
- [Automatic Outline Numbering](https://awesome-repositories.com/f/development-tools-productivity/documentation-navigation/document-structure-navigators/outline-management/automatic-outline-numbering.md) — Assigns sequential numbers to headings that persist in the document outline and PDF exports. ([source](https://github.com/obgnail/typora_plugin/blob/master/README.md))
- [Editor](https://awesome-repositories.com/f/development-tools-productivity/neovim-plugins/ui-toolkits/editor.md) — Ships a library of interface enhancements including a command palette and radial pie menus.
- [Plugin Lifecycle Management](https://awesome-repositories.com/f/development-tools-productivity/plugin-lifecycle-management/plugin-lifecycle-management.md) — Manages plugin execution at specific stages, including initialization and finalization, to control behavior.
- [TOML Configuration Support](https://awesome-repositories.com/f/development-tools-productivity/project-configuration/toml-configuration-support.md) — Supports the use of TOML files for managing user customizations and persistent system settings. ([source](https://github.com/obgnail/typora_plugin/blob/master/AGENTS.md))

### User Interface & Experience

- [Extensible Platforms](https://awesome-repositories.com/f/user-interface-experience/editor-plugins/extensible-platforms.md) — Provides an extensible platform for developing and integrating custom JavaScript plugins into the editor. ([source](https://github.com/obgnail/typora_plugin/blob/master/README.md))
- [Editor Markdown Enhancements](https://awesome-repositories.com/f/user-interface-experience/data-display-components/editor-markdown-enhancements.md) — Offers a suite of enhancements for markdown authoring, including automatic heading numbering and smart typography. ([source](https://github.com/obgnail/typora_plugin#readme))
- [Command Palettes](https://awesome-repositories.com/f/user-interface-experience/command-palettes.md) — Implements a searchable command palette for quick access to internal editor functions and tools. ([source](https://github.com/obgnail/typora_plugin#readme))
- [Interactive Component Embeds](https://awesome-repositories.com/f/user-interface-experience/media-embeds/interactive-component-embeds.md) — Renders interactive components such as diagrams, charts, and kanban boards within the editor. ([source](https://github.com/obgnail/typora_plugin/blob/master/README-cn.md))
- [Radial Menus](https://awesome-repositories.com/f/user-interface-experience/radial-menus.md) — Provides a circular radial pie menu for fast access to frequently used editor tools. ([source](https://github.com/obgnail/typora_plugin#readme))

### Content Management & Publishing

- [Note-to-Blog Publishing](https://awesome-repositories.com/f/content-management-publishing/blog-newsletter-publishing/blogging-platforms/note-to-blog-publishing.md) — Provides a dedicated system for exporting and uploading markdown documents to external blogging platforms via API. ([source](https://github.com/obgnail/typora_plugin/blob/master/README.md))
- [Blogging Platforms](https://awesome-repositories.com/f/content-management-publishing/blog-newsletter-publishing/blogging-platforms.md) — Provides automated publishing of markdown documents to configured blogging platforms via API requests. ([source](https://github.com/obgnail/typora_plugin/blob/master/README-cn.md))
- [Publishing Automations](https://awesome-repositories.com/f/content-management-publishing/blog-newsletter-publishing/blogging-platforms/markdown-first-publishing/publishing-automations.md) — Provides an automated system to export and upload markdown documents to external blogging platforms via API requests.
- [Blog Publishing Tools](https://awesome-repositories.com/f/content-management-publishing/blog-publishing-tools.md) — Provides a dedicated system for exporting and uploading markdown documents to blogging platforms.
- [Diagram Renderers](https://awesome-repositories.com/f/content-management-publishing/markdown-renderers/diagram-renderers.md) — Integrates a rendering server to display PlantUML diagrams directly within markdown documents. ([source](https://github.com/obgnail/typora_plugin#readme))

### Networking & Communication

- [JSON-RPC Interfaces](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/remote-procedure-call-frameworks/json-rpc-interfaces.md) — Exposes a JSON-RPC interface that allows external applications to control the editor environment remotely. ([source](https://github.com/obgnail/typora_plugin#readme))
- [Markdown Lint Engines](https://awesome-repositories.com/f/networking-communication/filtering-rule-repositories/rule-based-detection-engines/markdown-lint-engines.md) — Checks documents for adherence to markdown best practices and formatting standards. ([source](https://github.com/obgnail/typora_plugin#readme))

### Part of an Awesome List

- [Markdown Formatting](https://awesome-repositories.com/f/awesome-lists/devtools/linting-and-formatting/markdown-formatting.md) — Ships automatic rewriting and syntax linting tools to ensure consistent markdown style and structure.

### Business & Productivity Software

- [Batch Text Transformations](https://awesome-repositories.com/f/business-productivity-software/batch-text-transformations.md) — Executes batch editing tasks such as promoting heading levels and removing invisible characters. ([source](https://github.com/obgnail/typora_plugin#readme))

### Data & Databases

- [Ripgrep-Based Search](https://awesome-repositories.com/f/data-databases/full-text-search/ripgrep-based-search.md) — Integrates the ripgrep engine to provide high-performance text searching across the workspace.
- [Markdown Asset Handlers](https://awesome-repositories.com/f/data-databases/markdown-asset-handlers.md) — Implements automated systems for resolving image paths and embedding media assets within markdown files.

### Game Development

- [Function Hooking](https://awesome-repositories.com/f/game-development/function-hooking.md) — Intercepts internal software functions using a wrapping hook system to modify arguments or return values.

### Programming Languages & Runtimes

- [Plugin Lifecycle Hooks](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-management-utilities/run-lifecycle-controls/lifecycle-hook-executions/plugin-lifecycle-hooks.md) — Allows developers to execute custom logic at specific stages including initialization and finalization. ([source](https://github.com/obgnail/typora_plugin/blob/master/plugin/custom/README-en.md))

### Software Engineering & Architecture

- [Dynamic Function Interception](https://awesome-repositories.com/f/software-engineering-architecture/dynamic-function-interception.md) — Implements a system for intercepting internal software functions to modify arguments or return values via hooks. ([source](https://github.com/obgnail/typora_plugin/blob/master/AGENTS.md))
- [Event Bus Architectures](https://awesome-repositories.com/f/software-engineering-architecture/event-bus-architectures.md) — Monitors files, editor changes, and UI updates via an event bus to trigger plugin logic. ([source](https://github.com/obgnail/typora_plugin/blob/master/AGENTS.md))
- [Event Bus Systems](https://awesome-repositories.com/f/software-engineering-architecture/event-bus-systems.md) — Implements a centralized event bus to trigger custom logic based on application events like file changes.
