obgnail/typora_plugin

Typora Plugin. Feature Enhancement Tool | Typora 插件,功能增强工具

JavaScript

4,670

3,306 commits

updated Oct 13, 2026

See the code

README

English | 简体中文

Typora Plugin

typora_plugin

Ask DeepWiki

Plugin List

Plugin: Navigation & ManagementFeatureDefault
window_tabWindow Tab Bar
search_multiMulti-Fields File Searcher
auto_numberAuto Numbering
bookmarkBookmark Manager×
cursor_historyCursor History Navigation×
preferencesGlobal Configuration Panel
updaterOne-Click Plugin Update
asset_root_redirectLocal Resource Redirection×
repositoryWorkspace Manager×
ripgrepFile Retrieval×
Plugin: Enhance EditingFeatureDefault
collapse_paragraphChapter Folding×
collapse_listList Folding×
collapse_tableTable Folding×
md_paddingChinese-English Text Spacer
slash_commandsSlash Commands
mouse_gesturesMouse Gestures Recognition×
templaterFile Templater Engine
fence_enhanceCode Block Enhancements
right_outlineRight-Side Outline View
commanderEmbedded Command-Line Environment
command_paletteGlobal Command Palette
right_click_menuContext Menu Integration
pie_menuPie Menu×
datatablesTable Enhancements (Filter, Sort, Paging)×
resize_tableTable Resizer
resize_imageImage Resizer
easy_modifyHigh-Frequency Editing Toolset
editor_width_sliderWriting Area Width Adjustment
cjk_symbol_pairingCJK Symbol Auto-Pairing
text_stylizeInline HTML Text Stylization
resource_managerStatic Resource Management
markdownlintMarkdownlint Static Analysis
export_enhanceBase64 Image Conversion for HTML/PDF Exports×
html_editorNative HTML Preview and Editor×
assets_storageModify resource storage location×
cipherDocument Encryption and Decryption×
Plugin: ComponentFeatureDefault
markmapIntegrates Markmap
echartsIntegrates ECharts
chartIntegrates Chart.js
vega-liteIntegrates Vega-Lite
drawIOIntegrates DrawIO
abcIntegrates abc.js
calendarIntegrates tui.calendar
wavedromIntegrates WaveDrom
marpIntegrates Marp
plantUMLIntegrates PlantUML
infographicIntegrates Infographic
function_plotIntegrates Function Plot
calloutsIntegrates Callouts
kanbanKanban component
timelineTimeline component
chatChat Bubble component
Plugin: View & ThemeFeatureDefault
darkDark Mode Rendering
no_imageImage-Free / Text-First Mode
blurFocus Management (Gaussian Blur for Inactive Nodes)
myopic_defocusDefocus Visual Relief Filter
read_onlyRead-Only State Lock
image_viewerIndependent Image Viewer
truncate_textViewport Offloading for Large File Rendering Optimization×
diagram_enhanceDiagram Zoom, Pan, Fullscreen, and Container Resizing×
static_markersPersistent Markdown Syntax Markers
sidebar_enhanceDrag Sorting, Non-MD Files, Fold States
Plugin: AdvancedFeatureDefault
hotkeysDeclarative Hotkey Registration Center
action_buttonsFloating Action Buttons Injection
remote_controlJSON-RPC External Automation Interface×
article_uploaderCross-Platform Document Publishing Engine×

Welcome to submit an Issue to report bugs or discuss features, and Pull Requests are always welcome. If this project enhances your workflow, please consider leaving a Star ⭐.

How to Use: Windows/Linux Platform

Refer to the Installation Tutorial for visual guidance.

  1. Get source code package: Download the latest release from the Releases page and extract the archive.

  2. Locate injection point: Navigate to your Typora installation directory and locate the target folder containing window.html (referred to as Directory A).

    • For official Typora releases, the path is: ./resources/
    • For free beta Typora releases, the path is: ./resources/app/
  3. Deploy files: Copy the extracted plugin folder and paste it entirely into Directory A.

  4. Execute installation script: Enter the A/plugin/bin/ directory.

    • Windows: Right-click on install_windows.ps1 and select Run with PowerShell.
    • Linux: Execute install_linux.sh in the terminal with administrator privileges.
  5. Verify installation status: Restart Typora, right-click within the main editor area to open the context menu. If plugin-related options are displayed, the underlying logic injection is successful.

install

How to Use: Archlinux Platform

Note: This package management method is currently exclusive to the Archlinux ecosystem. For details, please refer to aur/typora-plugin.

yay -S typora-plugin

Plugin Usage Instructions

The plugin system provides seven interactive entry points to accommodate different workflows:

  • Keyboard-Based Interactions:
    • Command Palette (via command_palette plugin)
    • Slash Commands Menu (via slash_commands plugin)
    • Global Hotkeys (via hotkeys plugin)
  • Pointer-Based Interactions:
    • Context Menu (via right_click_menu plugin)
    • Mouse Gestures Recognition (via mouse_gestures plugin)
    • Floating Action Buttons (via action_buttons plugin)
    • Radial/Pie Menu (via pie_menu plugin)

window_tab

Provides multi-document tab management.

window_tab

search_multi

Supports high-precision file retrieval through multi-condition combinations using query syntax.

search_mutli

auto_number

Automatically generates sequence numbers for document elements including chapter headers, tables, images, and code blocks.

auto_number

Unlike pure CSS rendering schemes, this plugin intercepts core rendering functions, effectively resolving the technical limitation where sidebar directory numbering is lost during PDF export.

bookmark

Bookmark manager. Usage:

  1. Use Alt + Left Click on the text content to insert a bookmark marker.
  2. Upon insertion, the bookmark management panel is automatically invoked. Click on the corresponding entry to quickly jump within the document.

cursor_history

Records cursor activity trajectories to support contextual navigation.

  • Navigate to the previous cursor position: Alt + ←
  • Navigate to the next cursor position: Alt + →

preferences

Provides a centralized graphical control panel for global plugin configurations.

updater

Supports one-click online detection and fetching of update packages to upgrade the plugin system.

asset_root_redirect

Resolves local static resource parsing anomalies caused by cross-platform collaboration tools (such as Obsidian or Joplin). These tools typically enforce specific resource root paths, causing broken links when the files are opened independently in Typora. This plugin allows users to forcibly redirect the local resource root directory within Typora.

repository

Tracks and persists records of directories opened by Typora. Provides a dedicated management panel for retrieving, sorting, aliasing, removing, and quickly reopening historical workspaces.

ripgrep

Encapsulates and integrates the native ripgrep retrieval engine within Typora, achieving ultra-fast global text matching and file searching.

Enhance Editing

collapse_paragraph

Supports expanding and collapsing all text paragraphs nested under h1 through h6 header nodes.

collapse_paragraph

collapse_list

Supports expanding and collapsing unordered lists, ordered lists, and task list nodes.

collapse_table

Supports expanding and collapsing table nodes as a whole.

md_padding

Normalizes typography experiences: Automatically inserts whitespace (Pangu spacing) between Chinese and English, and between Chinese and numeric boundaries.

md_padding

slash_commands

Provides a Notion-style slash (/) command invocation menu.

slash_commands

mouse_gestures

Provides global mouse gesture recognition and operation mapping.

templater

A lightweight document template engine. Supports predefined content architectures for rapid file initialization.

templater

fence_enhance

Enhances code blocks with one-click copy, fold view, and code formatting operations.

fence_enhance

right_outline

Injects an independent outline directory view on the right side of the editing area, addressing native Typora's limitation of not displaying both the [File Tree] and [Document Outline] simultaneously.

commander

Provides an embedded lightweight command-line environment for executing custom Shell instructions and interactive script operations.

commander

command_palette

Implements a global command palette analogous to VS Code (Shortcut: Ctrl+Shift+P).

command_palette

right_click_menu

Integrates interface functions across the plugin system into the native context menu for centralized interaction handling.

pie_menu

Graphical radial menu component. Basic interaction protocol:

  • Invoke radial menu: Ctrl + Right Mouse Button
  • Rotate radial menu: Scroll Middle Mouse Button
  • Lock menu state (disable auto-hide): Left Click on the center
  • Expand secondary menu (disable auto-collapse): Right Click on the center

datatables

Injects advanced interaction features into standard Markdown tables, including data retrieval, real-time filtering, frontend pagination, and multi-column sorting.

datatables

resize_table

Dynamically adjust table row height and column width via Ctrl + Mouse Drag interaction.

resize_table

resize_image

Dynamically scale target image rendering sizes via Alt + Mouse Scroll interaction.

easy_modify

Built-in high-frequency editing toolset, currently offering the following modules:

  1. Extract and copy the full outline path of the current header level
  2. Promote the header level of the selected text
  3. Demote the header level of the selected text
  4. Force line break conversion: CRLF to LF
  5. Force line break conversion: LF to CRLF
  6. Batch remove invisible control characters
  7. Generate a mind map based on the current document outline (Markmap view)
  8. Generate a mind map based on the current document outline (Graph view)
  9. Extract selected text and derive it into a new file
  10. Append a normalized blank line at the end of the document
  11. Reformat all tables

editor_width_slider

Provides a draggable slider mechanism to dynamically adjust the width boundaries of the core editor text area.

cjk_symbol_pairing

Implements auto-pairing closure and cursor rollback for CJK punctuation (e.g., 《, 【, (, 「) and quotation marks.

text_stylize

Quickly applies custom or preset rich text styles to the currently selected text by encapsulating inline HTML tags.

text_stylize

markdownlint

Markdown specification analyzer. Detects syntax patterns deviating from best practices and provides automated remediation.

markdownlint

resource_manager

Workspace static resource manager. Executes dependency analysis and safely clears redundant images in the current directory that are not referenced by any Markdown documents.

export_enhance

Intercepts HTML/PDF export streams. Forces referenced local images to convert into Base64 inline formats before generating render files, preventing subsequent external resource dependency breakage.

html_editor

Directly loads and renders .html / .htm files within Typora's core editing area. Supports source viewing, real-time preview, split-pane modes, element inspection, document navigation, and write-conflict safety mechanisms.

Preview mode strictly blocks script execution and external network requests by default. It is recommended to explicitly enable PREVIEW_ALLOW_SCRIPTS or PREVIEW_ALLOW_NETWORK only when operating on files within a trusted environment.

assets_storage

Modify resource storage location.

cipher

Provides a document security module based on standard cryptographic algorithms, supporting local file encryption storage and decryption mounting.

Component

View & Theme

dark

Provides a dark (night) mode rendering theme.

no_image

Provides an image-free (text-first) rendering mode.

blur

Focus management optimization: Only the currently active and focused node area remains clearly rendered; surrounding inactive areas automatically apply a Gaussian blur effect to minimize visual interference.

myopic_defocus

Provides a defocus visual relief filter.

read_only

Locks the current document content, blocking all modification operations. When active, a ReadOnly status identifier explicitly mounts in the bottom-right word count area.

truncate_text

Rendering performance optimization solution for oversized documents. Temporarily offloads DOM nodes outside the viewport by setting their style to display: none, preventing the browser from executing costly global reflows, thereby significantly improving scroll and edit framerates; also serves as an anti-peeping measure.

Principle: Does not modify underlying source file data; only manipulates the presentation layer to temporarily unload designated nodes from the rendering tree.

image_viewer

Integrates a standalone built-in image browser module, supporting full-screen distraction-free previewing and basic image transformation edits.

diagram_enhance

Enhances interaction for charts generated by Typora's rendering engine: Supports cursor-centered scrolling zoom, viewport drag panning, touch gesture recognition, original DOM full-screen viewing mechanisms, and eight-direction adaptive container boundary adjustments. The right-click context menu quickly triggers view position and scale resets.

static_markers

Forces the retention of Markdown syntax markers (persistent rendering).

Disables the auto-hide callback logic for syntax markers in WYSIWYG mode, ensuring that formatting markers like **, ##, and _ remain explicitly rendered, functioning exactly as they would in a source code editor.

static_markers

Extends the functional boundaries of the native file sidebar:

  • Drag and drop outline header nodes to reorganize the document's physical structure.
  • File tree view supports declaring and presenting non-Markdown system files.
  • Persistently remembers the fold/expand states of outline tree nodes.
  • Supports mounting custom file icon rules.
  • Displays statistical counts of sub-files on directory nodes.

Advanced

hotkeys

Provides a declarative hotkey registration dispatcher. Supports binding any exposed interfaces provided by the internal plugin system, or any custom functions injected by the user, to global physical shortcut keys.

action_buttons

Adopts a declarative configuration logic homologous to hotkeys, supporting the mapping of any plugin system interface functions to floating interactive buttons at the bottom of the interface.

remote_control

Provides an external communication layer based on the JSON-RPC protocol, exposing core control privileges, including typora-plugin, as standard interfaces. This allows external third-party scripts or processes to programmatically control Typora.

For specific interface definitions and technical specifications, please refer to the sub-document: README.md.

article_uploader

A cross-platform document publishing engine. Supports automated pushing of rendered Markdown documents from the current workspace to pre-configured third-party content platforms via trigger behaviors (e.g., hotkeys or UI interactions).

For detailed platform support lists and configuration guidelines, please refer to the sub-document: README.md.

Q&A

  • What are the Typora version requirements? Typora version must be ≥ 0.9.98 (encompassing the last free beta version and subsequent official releases).
  • How to adjust plugin configurations? Right-click menu -> Interactive Plugins -> Preferences. All user preferences are respected; every plugin and feature can be independently and permanently enabled or disabled.
  • How to execute a plugin system upgrade? Right-click menu -> Interactive Plugins -> Preferences -> Check for Updates.
  • How to safely uninstall plugins? Right-click menu -> Interactive Plugins -> Preferences -> Uninstall Plugins.
  • Is macOS supported? Due to the lack of a testing environment and Apple hardware, macOS is currently not natively supported.
  • Other technical questions or discussions? Please visit the AI Wiki for documentation or join the community discussions.

Acknowledgements

Conclusion

This project follows the MIT license, feel free to enjoy it.

If this toolset enhances your productivity, please consider leaving a Star ⭐ on GitHub, and feel free to share it with friends who share similar needs.

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

obgnail/typora_plugin

Typora Plugin. Feature Enhancement Tool | Typora 插件,功能增强工具

JavaScript

4,670

3,306 commits

updated Oct 13, 2026

See the code

README

English | 简体中文

Typora Plugin

typora_plugin

Ask DeepWiki

Plugin List

Plugin: Navigation & ManagementFeatureDefault
window_tabWindow Tab Bar
search_multiMulti-Fields File Searcher
auto_numberAuto Numbering
bookmarkBookmark Manager×
cursor_historyCursor History Navigation×
preferencesGlobal Configuration Panel
updaterOne-Click Plugin Update
asset_root_redirectLocal Resource Redirection×
repositoryWorkspace Manager×
ripgrepFile Retrieval×
Plugin: Enhance EditingFeatureDefault
collapse_paragraphChapter Folding×
collapse_listList Folding×
collapse_tableTable Folding×
md_paddingChinese-English Text Spacer
slash_commandsSlash Commands
mouse_gesturesMouse Gestures Recognition×
templaterFile Templater Engine
fence_enhanceCode Block Enhancements
right_outlineRight-Side Outline View
commanderEmbedded Command-Line Environment
command_paletteGlobal Command Palette
right_click_menuContext Menu Integration
pie_menuPie Menu×
datatablesTable Enhancements (Filter, Sort, Paging)×
resize_tableTable Resizer
resize_imageImage Resizer
easy_modifyHigh-Frequency Editing Toolset
editor_width_sliderWriting Area Width Adjustment
cjk_symbol_pairingCJK Symbol Auto-Pairing
text_stylizeInline HTML Text Stylization
resource_managerStatic Resource Management
markdownlintMarkdownlint Static Analysis
export_enhanceBase64 Image Conversion for HTML/PDF Exports×
html_editorNative HTML Preview and Editor×
assets_storageModify resource storage location×
cipherDocument Encryption and Decryption×
Plugin: ComponentFeatureDefault
markmapIntegrates Markmap
echartsIntegrates ECharts
chartIntegrates Chart.js
vega-liteIntegrates Vega-Lite
drawIOIntegrates DrawIO
abcIntegrates abc.js
calendarIntegrates tui.calendar
wavedromIntegrates WaveDrom
marpIntegrates Marp
plantUMLIntegrates PlantUML
infographicIntegrates Infographic
function_plotIntegrates Function Plot
calloutsIntegrates Callouts
kanbanKanban component
timelineTimeline component
chatChat Bubble component
Plugin: View & ThemeFeatureDefault
darkDark Mode Rendering
no_imageImage-Free / Text-First Mode
blurFocus Management (Gaussian Blur for Inactive Nodes)
myopic_defocusDefocus Visual Relief Filter
read_onlyRead-Only State Lock
image_viewerIndependent Image Viewer
truncate_textViewport Offloading for Large File Rendering Optimization×
diagram_enhanceDiagram Zoom, Pan, Fullscreen, and Container Resizing×
static_markersPersistent Markdown Syntax Markers
sidebar_enhanceDrag Sorting, Non-MD Files, Fold States
Plugin: AdvancedFeatureDefault
hotkeysDeclarative Hotkey Registration Center
action_buttonsFloating Action Buttons Injection
remote_controlJSON-RPC External Automation Interface×
article_uploaderCross-Platform Document Publishing Engine×

Welcome to submit an Issue to report bugs or discuss features, and Pull Requests are always welcome. If this project enhances your workflow, please consider leaving a Star ⭐.

How to Use: Windows/Linux Platform

Refer to the Installation Tutorial for visual guidance.

  1. Get source code package: Download the latest release from the Releases page and extract the archive.

  2. Locate injection point: Navigate to your Typora installation directory and locate the target folder containing window.html (referred to as Directory A).

    • For official Typora releases, the path is: ./resources/
    • For free beta Typora releases, the path is: ./resources/app/
  3. Deploy files: Copy the extracted plugin folder and paste it entirely into Directory A.

  4. Execute installation script: Enter the A/plugin/bin/ directory.

    • Windows: Right-click on install_windows.ps1 and select Run with PowerShell.
    • Linux: Execute install_linux.sh in the terminal with administrator privileges.
  5. Verify installation status: Restart Typora, right-click within the main editor area to open the context menu. If plugin-related options are displayed, the underlying logic injection is successful.

install

How to Use: Archlinux Platform

Note: This package management method is currently exclusive to the Archlinux ecosystem. For details, please refer to aur/typora-plugin.

yay -S typora-plugin

Plugin Usage Instructions

The plugin system provides seven interactive entry points to accommodate different workflows:

  • Keyboard-Based Interactions:
    • Command Palette (via command_palette plugin)
    • Slash Commands Menu (via slash_commands plugin)
    • Global Hotkeys (via hotkeys plugin)
  • Pointer-Based Interactions:
    • Context Menu (via right_click_menu plugin)
    • Mouse Gestures Recognition (via mouse_gestures plugin)
    • Floating Action Buttons (via action_buttons plugin)
    • Radial/Pie Menu (via pie_menu plugin)

window_tab

Provides multi-document tab management.

window_tab

search_multi

Supports high-precision file retrieval through multi-condition combinations using query syntax.

search_mutli

auto_number

Automatically generates sequence numbers for document elements including chapter headers, tables, images, and code blocks.

auto_number

Unlike pure CSS rendering schemes, this plugin intercepts core rendering functions, effectively resolving the technical limitation where sidebar directory numbering is lost during PDF export.

bookmark

Bookmark manager. Usage:

  1. Use Alt + Left Click on the text content to insert a bookmark marker.
  2. Upon insertion, the bookmark management panel is automatically invoked. Click on the corresponding entry to quickly jump within the document.

cursor_history

Records cursor activity trajectories to support contextual navigation.

  • Navigate to the previous cursor position: Alt + ←
  • Navigate to the next cursor position: Alt + →

preferences

Provides a centralized graphical control panel for global plugin configurations.

updater

Supports one-click online detection and fetching of update packages to upgrade the plugin system.

asset_root_redirect

Resolves local static resource parsing anomalies caused by cross-platform collaboration tools (such as Obsidian or Joplin). These tools typically enforce specific resource root paths, causing broken links when the files are opened independently in Typora. This plugin allows users to forcibly redirect the local resource root directory within Typora.

repository

Tracks and persists records of directories opened by Typora. Provides a dedicated management panel for retrieving, sorting, aliasing, removing, and quickly reopening historical workspaces.

ripgrep

Encapsulates and integrates the native ripgrep retrieval engine within Typora, achieving ultra-fast global text matching and file searching.

Enhance Editing

collapse_paragraph

Supports expanding and collapsing all text paragraphs nested under h1 through h6 header nodes.

collapse_paragraph

collapse_list

Supports expanding and collapsing unordered lists, ordered lists, and task list nodes.

collapse_table

Supports expanding and collapsing table nodes as a whole.

md_padding

Normalizes typography experiences: Automatically inserts whitespace (Pangu spacing) between Chinese and English, and between Chinese and numeric boundaries.

md_padding

slash_commands

Provides a Notion-style slash (/) command invocation menu.

slash_commands

mouse_gestures

Provides global mouse gesture recognition and operation mapping.

templater

A lightweight document template engine. Supports predefined content architectures for rapid file initialization.

templater

fence_enhance

Enhances code blocks with one-click copy, fold view, and code formatting operations.

fence_enhance

right_outline

Injects an independent outline directory view on the right side of the editing area, addressing native Typora's limitation of not displaying both the [File Tree] and [Document Outline] simultaneously.

commander

Provides an embedded lightweight command-line environment for executing custom Shell instructions and interactive script operations.

commander

command_palette

Implements a global command palette analogous to VS Code (Shortcut: Ctrl+Shift+P).

command_palette

right_click_menu

Integrates interface functions across the plugin system into the native context menu for centralized interaction handling.

pie_menu

Graphical radial menu component. Basic interaction protocol:

  • Invoke radial menu: Ctrl + Right Mouse Button
  • Rotate radial menu: Scroll Middle Mouse Button
  • Lock menu state (disable auto-hide): Left Click on the center
  • Expand secondary menu (disable auto-collapse): Right Click on the center

datatables

Injects advanced interaction features into standard Markdown tables, including data retrieval, real-time filtering, frontend pagination, and multi-column sorting.

datatables

resize_table

Dynamically adjust table row height and column width via Ctrl + Mouse Drag interaction.

resize_table

resize_image

Dynamically scale target image rendering sizes via Alt + Mouse Scroll interaction.

easy_modify

Built-in high-frequency editing toolset, currently offering the following modules:

  1. Extract and copy the full outline path of the current header level
  2. Promote the header level of the selected text
  3. Demote the header level of the selected text
  4. Force line break conversion: CRLF to LF
  5. Force line break conversion: LF to CRLF
  6. Batch remove invisible control characters
  7. Generate a mind map based on the current document outline (Markmap view)
  8. Generate a mind map based on the current document outline (Graph view)
  9. Extract selected text and derive it into a new file
  10. Append a normalized blank line at the end of the document
  11. Reformat all tables

editor_width_slider

Provides a draggable slider mechanism to dynamically adjust the width boundaries of the core editor text area.

cjk_symbol_pairing

Implements auto-pairing closure and cursor rollback for CJK punctuation (e.g., 《, 【, (, 「) and quotation marks.

text_stylize

Quickly applies custom or preset rich text styles to the currently selected text by encapsulating inline HTML tags.

text_stylize

markdownlint

Markdown specification analyzer. Detects syntax patterns deviating from best practices and provides automated remediation.

markdownlint

resource_manager

Workspace static resource manager. Executes dependency analysis and safely clears redundant images in the current directory that are not referenced by any Markdown documents.

export_enhance

Intercepts HTML/PDF export streams. Forces referenced local images to convert into Base64 inline formats before generating render files, preventing subsequent external resource dependency breakage.

html_editor

Directly loads and renders .html / .htm files within Typora's core editing area. Supports source viewing, real-time preview, split-pane modes, element inspection, document navigation, and write-conflict safety mechanisms.

Preview mode strictly blocks script execution and external network requests by default. It is recommended to explicitly enable PREVIEW_ALLOW_SCRIPTS or PREVIEW_ALLOW_NETWORK only when operating on files within a trusted environment.

assets_storage

Modify resource storage location.

cipher

Provides a document security module based on standard cryptographic algorithms, supporting local file encryption storage and decryption mounting.

Component

View & Theme

dark

Provides a dark (night) mode rendering theme.

no_image

Provides an image-free (text-first) rendering mode.

blur

Focus management optimization: Only the currently active and focused node area remains clearly rendered; surrounding inactive areas automatically apply a Gaussian blur effect to minimize visual interference.

myopic_defocus

Provides a defocus visual relief filter.

read_only

Locks the current document content, blocking all modification operations. When active, a ReadOnly status identifier explicitly mounts in the bottom-right word count area.

truncate_text

Rendering performance optimization solution for oversized documents. Temporarily offloads DOM nodes outside the viewport by setting their style to display: none, preventing the browser from executing costly global reflows, thereby significantly improving scroll and edit framerates; also serves as an anti-peeping measure.

Principle: Does not modify underlying source file data; only manipulates the presentation layer to temporarily unload designated nodes from the rendering tree.

image_viewer

Integrates a standalone built-in image browser module, supporting full-screen distraction-free previewing and basic image transformation edits.

diagram_enhance

Enhances interaction for charts generated by Typora's rendering engine: Supports cursor-centered scrolling zoom, viewport drag panning, touch gesture recognition, original DOM full-screen viewing mechanisms, and eight-direction adaptive container boundary adjustments. The right-click context menu quickly triggers view position and scale resets.

static_markers

Forces the retention of Markdown syntax markers (persistent rendering).

Disables the auto-hide callback logic for syntax markers in WYSIWYG mode, ensuring that formatting markers like **, ##, and _ remain explicitly rendered, functioning exactly as they would in a source code editor.

static_markers

Extends the functional boundaries of the native file sidebar:

  • Drag and drop outline header nodes to reorganize the document's physical structure.
  • File tree view supports declaring and presenting non-Markdown system files.
  • Persistently remembers the fold/expand states of outline tree nodes.
  • Supports mounting custom file icon rules.
  • Displays statistical counts of sub-files on directory nodes.

Advanced

hotkeys

Provides a declarative hotkey registration dispatcher. Supports binding any exposed interfaces provided by the internal plugin system, or any custom functions injected by the user, to global physical shortcut keys.

action_buttons

Adopts a declarative configuration logic homologous to hotkeys, supporting the mapping of any plugin system interface functions to floating interactive buttons at the bottom of the interface.

remote_control

Provides an external communication layer based on the JSON-RPC protocol, exposing core control privileges, including typora-plugin, as standard interfaces. This allows external third-party scripts or processes to programmatically control Typora.

For specific interface definitions and technical specifications, please refer to the sub-document: README.md.

article_uploader

A cross-platform document publishing engine. Supports automated pushing of rendered Markdown documents from the current workspace to pre-configured third-party content platforms via trigger behaviors (e.g., hotkeys or UI interactions).

For detailed platform support lists and configuration guidelines, please refer to the sub-document: README.md.

Q&A

  • What are the Typora version requirements? Typora version must be ≥ 0.9.98 (encompassing the last free beta version and subsequent official releases).
  • How to adjust plugin configurations? Right-click menu -> Interactive Plugins -> Preferences. All user preferences are respected; every plugin and feature can be independently and permanently enabled or disabled.
  • How to execute a plugin system upgrade? Right-click menu -> Interactive Plugins -> Preferences -> Check for Updates.
  • How to safely uninstall plugins? Right-click menu -> Interactive Plugins -> Preferences -> Uninstall Plugins.
  • Is macOS supported? Due to the lack of a testing environment and Apple hardware, macOS is currently not natively supported.
  • Other technical questions or discussions? Please visit the AI Wiki for documentation or join the community discussions.

Acknowledgements

Conclusion

This project follows the MIT license, feel free to enjoy it.

If this toolset enhances your productivity, please consider leaving a Star ⭐ on GitHub, and feel free to share it with friends who share similar needs.

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

Significant stargazers

audichuang

4 followers · starred Jan 2026

Scruel Tao

101 followers · starred Aug 2023

Michael Ansel

58 followers · starred May 2026

openai0229

6 followers · starred Aug 2025