{"id":13455689,"url":"https://github.com/obgnail/typora_plugin","last_synced_at":"2026-03-07T06:07:06.205Z","repository":{"id":176492981,"uuid":"658244193","full_name":"obgnail/typora_plugin","owner":"obgnail","description":"Typora plugin. Feature enhancement tool | Typora 插件，功能增强工具","archived":false,"fork":false,"pushed_at":"2025-05-04T06:34:44.000Z","size":49440,"stargazers_count":2713,"open_issues_count":26,"forks_count":137,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-04T07:27:37.855Z","etag":null,"topics":["electron","hijacking","markdown","nodejs","plugin","scripts","typora","typora-extension","typora-plugin"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/obgnail.png","metadata":{"files":{"readme":"README-en.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://fastly.jsdelivr.net/gh/obgnail/utils@master/assets/donate.png"]}},"created_at":"2023-06-25T07:45:40.000Z","updated_at":"2025-05-04T06:34:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"c2faeab3-f396-469a-b352-e2db4a124c29","html_url":"https://github.com/obgnail/typora_plugin","commit_stats":null,"previous_names":["obgnail/typora_plugin"],"tags_count":390,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obgnail%2Ftypora_plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obgnail%2Ftypora_plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obgnail%2Ftypora_plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obgnail%2Ftypora_plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obgnail","download_url":"https://codeload.github.com/obgnail/typora_plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076849,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","hijacking","markdown","nodejs","plugin","scripts","typora","typora-extension","typora-plugin"],"created_at":"2024-07-31T08:01:09.410Z","updated_at":"2025-12-28T10:18:25.408Z","avatar_url":"https://github.com/obgnail.png","language":"JavaScript","readme":"[简体中文](https://github.com/obgnail/typora_plugin/blob/master/README.md) | English\n\n\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003eTypora Plugin\u003c/h1\u003e\n    \u003cimg src=\"assets/typora_plugin.png\" alt=\"typora_plugin\" width=\"400\"\u003e\n    \u003cp align=\"center\"\u003e\n        \u003ca href=\"https://github.com/obgnail/typora_plugin/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/obgnail/typora_plugin\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/obgnail/typora_plugin/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/obgnail/typora_plugin?style=flat\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/obgnail/typora_plugin/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-closed/obgnail/typora_plugin.svg\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/obgnail/typora_plugin/tree/master/plugin\"\u003e\u003cimg src=\"https://img.shields.io/badge/implementation-native-greenbule\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/obgnail/typora_plugin?tab=readme-ov-file#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E4%B8%80%E8%87%AA%E5%8A%A8\"\u003e\u003cimg src=\"https://img.shields.io/badge/platform-Windows%20%7C%20Linux-0085a1\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/obgnail/typora_plugin/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/obgnail/typora_plugin\"\u003e\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n\n| #    | Plugin                  | Function                                                  | Enabled by Default |\n| ---- | ----------------------- | --------------------------------------------------------- | ------------------ |\n| 1    | window_tab              | Window Tab Bar                                            |                    |\n| 2    | search_multi            | Multi-Fields File Searcher                                |                    |\n| 3    | collapse_paragraph      | Chapter Folding                                           | ×                  |\n| 4    | collapse_list           | List Folding                                              | ×                  |\n| 5    | collapse_table          | Table Folding                                             | ×                  |\n| 6    | md_padding              | Chinese-English Text Spacer                               |                    |\n| 7    | slash_commands          | Slash Commands                                            |                    |\n| 8    | templater               | File Templater                                            |                    |\n| 9    | resourceOperation       | Resource Management                                       |                    |\n| 10   | fence_enhance           | Enhance Fence                                             |                    |\n| 11   | toc                     | TOC                                                       |                    |\n| 12   | commander               | Commander                                                 |                    |\n| 13   | toolbar                 | Multi-Purpose Searcher                                    |                    |\n| 14   | right_click_menu        | Right-Click Menu                                          |                    |\n| 15   | pie_menu                | Pie menu                                                  | ×                  |\n| 16   | datatables              | Enhance Table                                             | ×                  |\n| 17   | preferences             | Preferences                                               |                    |\n| 18   | markmap                 | Provides Markmap support                                  |                    |\n| 19   | echarts                 | Provides Echarts support                                  |                    |\n| 20   | chart                   | Provides Chartjs support                                  |                    |\n| 21   | drawIO                  | Provides DrawIO support                                   |                    |\n| 22   | abc                     | Provides abcjs support                                    |                    |\n| 23   | calendar                | Provides tui.calendar support                             |                    |\n| 24   | wavedrom                | Provides WaveDrom support                                 |                    |\n| 25   | marp                    | Provides Marp support                                     |                    |\n| 26   | callouts                | Provides Callouts support                                 |                    |\n| 27   | text_stylize            | Text stylization                                          |                    |\n| 28   | read_only               | Read-only mode                                            |                    |\n| 29   | blur                    | Blur mode                                                 |                    |\n| 30   | kanban                  | Kanban                                                    |                    |\n| 31   | timeline                | Timeline                                                  |                    |\n| 32   | chat                    | Chat                                                      |                    |\n| 33   | file_counter            | Show file count in directory                              |                    |\n| 34   | auto_number             | Auto Numbering                                            |                    |\n| 35   | imageReviewer           | Image reviewer                                            |                    |\n| 36   | chineseSymbolAutoPairer | Automatic completion of Chinese symbols                   |                    |\n| 37   | resize_table            | Adjust table row height and column width                  |                    |\n| 38   | resize_image            | Adjust image display size                                 |                    |\n| 39   | export_enhance          | Avoid image loss when exporting to html                   |                    |\n| 40   | markdownLint            | Markdown Lint Check                                       |                    |\n| 41   | go_top                  | One-click to top of the article                           |                    |\n| 42   | reopenClosedFiles       | Reopen Closed Files                                       | ×                  |\n| 43   | truncate_text           | Hide content to improve performance for large files       | ×                  |\n| 44   | dark                    | Dark mode                                                 |                    |\n| 45   | no_image                | No image mode                                             |                    |\n| 46   | updater                 | One-click plugin update                                   |                    |\n| 47   | easy_modify             | Editing tools                                             |                    |\n| 48   | editor_width_slider     | Adjust writing area width                                 |                    |\n| 49   | redirectLocalRootUrl    | Redirect local resource root directory                    | ×                  |\n| 50   | blockSideBySide         | Display active blocks side by side                        | ×                  |\n| 51   | scrollBookmarker        | Bookmark manager                                          | ×                  |\n| 52   | cipher                  | Encrypt files                                             | ×                  |\n| 53   | ripgrep                 | Search files using ripgrep                                | ×                  |\n| 54   | article_uploader        | One-click upload blog to supported platforms              | ×                  |\n| 55   | help                    | User help                                                 |                    |\n| 56   | custom                  | Open platform for user-defined plugins (advanced)         |                    |\n| 57   | hotkeys                 | Hotkey registration center (advanced)                     |                    |\n| 58   | quickButton             | Add function buttons in the lower right corner (advanced) |                    |\n| 59   | json_rpc                | External control of Typora (advanced)                     | ×                  |\n\n\n**Respect all user choices**. Any plugin or feature in this project can be permanently enabled/disabled.\n\n\u003e If you have other needs or find bugs, feel free to [open an issue](https://github.com/obgnail/typora_plugin/issues/new). PRs are also welcome. If you find this project helpful, please give me a star ⭐\n\n\n\n## How to Use: Windows/Linux Platform\n\nVisit [Video Installation Tutorial](https://github.com/obgnail/typora_plugin/issues/847)\n\n1. [Download](https://github.com/obgnail/typora_plugin/releases/latest) the plugin source code package and unzip it.\n\n2. Go to the Typora installation path and find the folder A containing `window.html`.\n\n   - For the official version of Typora, the path is `./resources/window.html`.\n   \n   - For the free version of Typora, the path is `./resources/app/window.html`.\n\n3. Paste the unzipped plugin folder into folder A.\n\n4. Go to the folder `A/plugin/bin/`.\n\n   - Windows: Double-click to run `install_windows_amd_x64.exe`. If you see the following image, the installation is successful.\n   \n   - Linux: Run `install_linux.sh` as administrator. If you see the following image, the installation is successful.\n\n5. Verification: Restart Typora, right-click in the main text area, and if you see the `Often Used Plugins` column, everything is fine.\n\n\n|          | Official Version                            | Free Version                            |\n| -------- | -------------------------------------------- | ---------------------------------------- |\n| Steps 2-3| ![typora_dir_new](assets/typora_dir_new.png) | ![typora_dir_old](assets/typora_dir_old.png) |\n\n|        | Windows                                        | Linux                                      |\n| ------ | ---------------------------------------------- | ------------------------------------------ |\n| Step 4 | ![install_windows](assets/install_windows.png) | ![install_linux](assets/install_linux.png) |\n\n\nAdditional Notes:\n\n- Windows can also install plugins by executing `install_windows.ps1`; similarly, Linux can execute the `install_linux_amd_x64` file.\n- Each plugin has configuration options. It is recommended to configure according to personal needs. The configuration folder is located at [A/plugin/global/settings/](https://github.com/obgnail/typora_plugin/tree/master/plugin/global/settings/).\n\n\n\n## How to Use: Archlinux Platform\n\n\u003e Currently, this method is only for the Archlinux platform, see [aur/typora-plugin](https://aur.archlinux.org/packages/typora-plugin)\n\n```sh\nyay -S typora-plugin\n```\n\n\n\n## Q\u0026A\n\n### Is my version of Typora supported?\n\nAll plugins have been tested on version 0.9.98 (the last free version) and the latest version. This project theoretically supports all Typora versions, but Typora's functionality stabilized after version 0.9.98. **It is recommended to use version 0.9.98 or later**.\n\n\n### Will the plugins become invalid?\n\nTheoretically, they can remain effective for a long time, and I am maintaining them.\n\n\n### How to permanently disable/enable certain plugins?\n\nRight-click menu -\u003e Less Used Plugins -\u003e Enable/Disable Plugins.\n\n\n### How to modify plugin configurations?\n\nThe project includes over 600 configuration options, allowing a comprehensive definition of each plugin's behavior.\n\nAll configurations are located in the [settings](https://github.com/obgnail/typora_plugin/tree/master/plugin/global/settings) directory. For modification methods, please read the [instruction file](https://github.com/obgnail/typora_plugin/blob/master/plugin/global/settings/README.md).\n\n\n### How to upgrade plugins?\n\nRight-click menu -\u003e Often Used Plugins -\u003e Secondary Plugins -\u003e Upgrade Plugins.\n\n\n### I don't want to use it anymore, how to uninstall the plugin system?\n\nRight-click menu -\u003e Less Used Plugins -\u003e Help -\u003e Uninstall Plugins.\n\n\n### Does it support Typora for Mac?\n\nI don't have a Mac device, so I haven't tested it.\n\n\n\n\n## Plugin Usage Instructions\n\nAll plugins provide four usage methods:\n\n- Keyboard enthusiasts:\n  - `Ctrl+J` to bring up the plugin list (see `toolbar` plugin)\n  - Shortcut keys (see `hotkeys` plugin)\n- Mouse enthusiasts:\n  - Right-click in the main text area (see `right_click_menu` plugin)\n  - Quick buttons (see `quickButton` plugin)\n\n\n### window_tab: Window Tab Bar\n\n- `Switch tabs`: Ctrl + scroll wheel, ctrl + shift + tab, ctrl + tab, ctrl + PgUp, ctrl + PgDn\n- `Close tab`: ctrl + w, middle mouse button\n- `Open in new window`: ctrl + click tab\n- `Sort tabs`: Drag and drop\n- `Pop up menu options for tabs`: Right-click the tab\n\n![window_tab](assets/window_tab.gif)\n\n\n### search_multi: Multi-Fields File Searcher\n\nFunction: Search through a combination of different conditions to accurately find files.\n\n- `Open search box`: ctrl + shift + P\n- `Close search box`: Position the cursor in the input box, type esc\n- `Search`: enter\n- `Select`: ArrowUp, ArrowDown\n- `Open`: click, ctrl + enter\n- `Move position`: ctrl + drag the input box\n\nUsage example: The search syntax is similar to Google search syntax and supports regular expressions.\n\n| Input                                                 | Search File                                                 |\n| ----------------------------------------------------- | ------------------------------------------------------------ |\n| `pear`                                                | Contains pear                                                |\n| `sour pear`                                           | Contains sour and pear                                       |\n| `sour OR pear`                                        | Contains sour or pear                                        |\n| `\"sour pear\"`                                         | Contains the phrase sour pear                                |\n| `sour pear -apple`                                    | Contains sour and pear, but not apple                        |\n| `/\\bsour\\b/ pear mtime=2024-03-12`                    | Matches regex \\bsour\\b, contains pear, and file modification date is 2024-03-12 |\n| `frontmatter:development OR head=plugin OR strong:MIT` | YAML Front Matter contains development or title content is plugin or bold text contains MIT |\n| `size\u003e10kb (linenum\u003e=1000 OR hasimage=true)`          | File size exceeds 10KB, and the file either has at least 1000 lines or contains images |\n| `thead:k8s h2:prometheus blockcode:\"kubectl apply\"`   | Table header contains k8s, h2 contains prometheus, code block contains kubectl apply |\n\n![search_mutli](assets/search_mutli.gif)\n\n\n### collapse_paragraph: Chapter Folding\n\nFunction: Fold/expand all text under the section. Supported tags: h1~h6.\n\n- `Fold/expand a single section`: ctrl + click\n- `Fold/expand all sibling sections under the parent section`: ctrl + alt + click\n- `Fold/expand all sibling sections`: ctrl + shift + alt + click\n\n![collapse_paragraph](assets/collapse_paragraph.gif)\n\n\n### collapse_list: List Folding\n\nFunction: Fold/expand unordered lists, ordered lists, task lists.\n\n\n### collapse_table: Table Folding\n\nFunction: Fold/expand tables.\n\n\n### md_padding: Chinese-English Text Spacer\n\nFunction: Add spaces between Chinese and English, Chinese and numbers when mixed.\n\nShortcut: ctrl + shift + B\n\n![md_padding](assets/md_padding.gif)\n\n\n### slash_commands: Slash Commands\n\nFunction: Similar to Notion's slash command.\n\nSupports:\n\n- Insert text snippets (snippet)\n- Insert components\n- Edit styles\n- Execute arbitrary logic\n\n\u003e Supports user-defined commands, please modify the configuration file\n\n![slash_commands](assets/slash_commands.gif)\n\n\n### templater: File Templater\n\nFunction: Similar to Obsidian's file template function, quickly create files based on templates.\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary Plugins -\u003e File Templates.\n\n\u003e For the template list, please modify the configuration file.\n\n![templater](assets/templater.gif)\n\n\n### resourceOperation: Resource Management\n\nFunction: Resource management, cleanup of unused images\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary Plugins -\u003e Resource Management\n\n\n### fence_enhance: Enhance Fence\n\n![fence_enhance](assets/fence_enhance.png)\n\n\n### toc: Generate Outline on the Right\n\nFunction: Typora's sidebar cannot display both [File] and [Outline] simultaneously. To solve this problem, this plugin adds an [Outline] on the right.\n\nUsage:\n\n- Method 1: Often Used Plugins -\u003e Secondary Plugins -\u003e Outline\n- Method 2: Right-click the [Outline] button on the sidebar\n\n\n### commander: Command Line Environment\n\nFunction: Similar to Total Commander's command line, a tool for quickly executing commands and providing minimal interaction.\n\n- `Pop up the execution box`: Right-click menu -\u003e Often Used Plugins -\u003e Command Line Environment\n- `Close the execution box`: esc\n- `Move position`: ctrl + drag the input box\n\nSupported shells:\n\n- `cmd/bash`: Default terminal for Windows or Mac\n- `powershell`: Microsoft's silly child :D\n- `git bash`: Ensure it is installed and added to the environment variable\n- `wsl`: Ensure WSL2 is installed and added to the environment variable\n\nBuilt-in environment variables:\n\n- `$f`: Current file path\n- `$d`: Directory of the current file\n- `$m`: Mounted root directory\n\nSupports built-in commands for quick calls. Users can customize the `BUILTIN` option in the configuration file as needed.\n\n```toml\n# Default built-in commands\nBUILTIN = [\n    { name = \"\", shell = \"cmd/bash\", cmd = \"\" },\n    { name = \"Explorer\", shell = \"powershell\", hotkey = \"ctrl+alt+e\", cmd = \"explorer $d\" },\n    { name = \"Vscode\", shell = \"cmd/bash\",  cmd = \"code $f\" },\n    { name = \"WT\", shell = \"cmd/bash\",  cmd = \"cd $d \u0026\u0026 wt\" },\n    { name = \"GitCommit\", shell = \"cmd/bash\",  cmd = 'cd $m \u0026\u0026 git add . \u0026\u0026 git commit -m \"update\"' },\n]\n```\n\n![commander](assets/commander.gif)\n\n\n### markmap: Provides Markmap Support\n\nUsage:\n\n- Method 1: Right-click menu -\u003e Less Used Plugins -\u003e markmap\n- Method 2: Directly click the markmap button in the lower right corner\n\n![markmap](assets/markmap.gif)\n\n\n### toolbar: Multi-Purpose Searcher\n\nFunction: Similar to VSCode's ctrl + shift + p function\n\nUsage:\n\n- Method 1: Right-click menu -\u003e Less Used Plugins -\u003e Multi-functional Search\n- Method 2: Shortcut key `ctrl + j`\n\nSupports search:\n\n- `his`: Recently opened files\n- `plu`: Plugins\n- `tab`: Open tabs\n- `ops`: Common operations\n- `out`: Document outline\n- `mode`: Switch file mode\n- `theme`: Temporarily switch theme\n- `func`: Function list\n- `all`: Mixed search (search all items mixed together)\n\nInput content description:\n\n- Input content = search tool name + space + search content\n- Supports `intersection queries`, `difference queries`, and can be freely combined (similar to Google's positive and negative queries)\n\nExamples:\n\n- `his node learn`: Find recently opened files that have titles containing both node and learn keywords\n- `plu multi -search`: Find plugins whose names contain the multi keyword but do not contain the search keyword\n- `tab -messing`: Find all open tabs whose names do not contain the messing keyword\n- `his close -win -mark tab`: Find recently opened files whose titles contain close and tab keywords, but do not contain win and mark keywords\n\n![toolbar](assets/toolbar.gif)\n\n\n### right_click_menu\n\nAll plugins support direct invocation through the right-click menu. Mouse enthusiasts can use the right-click menu as the main way to call all plugins.\n\nYou can customize the right-click menu by modifying the configuration file:\n\n```toml\n# Each MENUS corresponds to a primary menu, allowing unlimited additions of primary menus and repeated addition of the same plugin\n# NAME: The name of the primary menu\n# LIST: List of secondary menu plugins (use \"---\" to insert a divider on the page for separation)\n[[right_click_menu.MENUS]]\nNAME = \"Less Used Plugins\"\nLIST = [\n    \"window_tab\",\n    \"fence_enhance\",\n    ...\n]\n[[right_click_menu.MENUS]]\nNAME = \"Often Used Plugins\"\nLIST = [\n    \"commander\",\n    \"markmap\",\n    ...\n]\n```\n\n\n### pie_menu\n\nUsage:\n\n- `Open circular menu`: Ctrl + right mouse button\n- `Rotate circular menu`: Middle mouse button\n- `Pin the circular menu, so it doesn't automatically disappear`: Left mouse button on the center of the circle\n- `Expand the circular menu, so it doesn't automatically collapse`: Right mouse button on the center of the circle\n\n### preferences\n\nUsage: Right-click menu -\u003e Less Used Plugins -\u003e Enable/Disable Plugins\n\n### echarts: Provide Echarts Support\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Echarts\n\n![echarts](assets/echarts.png)\n\n### chart: Provide Chart.js Support\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Chart\n\n![chart](./assets/chart.png)\n\n### drawIO: Provide DrawIO Support\n\n![drawIO](./assets/drawIO.png)\n\n### abc: Provide abc.js Support\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e ABC\n\n![abcjs](./assets/abcjs.png)\n\n### calendar: Provide tui.Calendar Support\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Calendar\n\n![calendar](./assets/calendar.png)\n\n### wavedrom: Provide WaveDrom Support\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Wavedrom\n\n![wavedrom](./assets/wavedrom.png)\n\n### marp: Provide Marp Support\n\nFunction: Use markdown to create PPT.\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Marp\n\n### callouts: Provide Callouts Support\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Callouts\n\n![callouts](./assets/callouts.png)\n\nThe quantity, type, color, and icon can all be defined by yourself. Please modify the configuration file:\n\n```toml\n[[callouts.config.list]]\ntype = \"note\"\nbackground_color = \"#e1d1eb\"\nleft_line_color = \"#6a1b9a\"\nicon = \"\\\\f040\"\n```\n\n### kanban\n\nExtend the code syntax to add Kanban functionality.\n\n![kanban](assets/kanban.png)\n\n### timeline\n\nExtend the code syntax to add timeline functionality.\n\n![timeline](./assets/timeline.png)\n\n### chat\n\nExtend the code syntax to add chat functionality.\n\n![chat](./assets/chat.png)\n\n### text_stylize\n\nFunction: Convert text to HTML format, changing the text style.\n\nUsage: Right-click menu -\u003e Less Used Plugins -\u003e Text Stylize.\n\n![text_stylize](./assets/text_stylize.gif)\n\n### read_only: Read-Only Mode\n\nFunction: In read-only mode, the document cannot be edited (after enabling, the bottom right corner of the statistics area will show `ReadOnly`).\n\nShortcut: ctrl+shift+R\n\n### blur: Blur Mode\n\nFunction: After enabling, only the currently focused component is visible, the rest are blurred. It can be used to prevent peeking.\n\nUsage: Right-click menu -\u003e Less Used Plugins -\u003e Blur Mode\n\n\u003e This plugin can only be used with the official version of Typora.\n\n### file_counter: Display File Count\n\n![file_count](assets/file_counter.png)\n\n### auto_number\n\n![auto_number](assets/auto_number.png)\n\nUnlike other implementations using theme CSS, this plugin perfectly solves the problem of no numbering in the sidebar after exporting to PDF by modifying the built-in function :)\n\n\n\n### imageReviewer\n\nFunction: One-stop image viewing, and provides simple image editing.\n\nUsage:\n\n- Method 1: Click the \"View Image\" button at the bottom right corner\n- Method 2: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Image Viewer\n\n![image-reviewer](./assets/image-reviewer.png)\n\n### chineseSymbolAutoPairer\n\nFunction: Automatically pair symbols when typing `《 【 （ ‘ “ 「`.\n\n### datatables: Table Enhancement\n\nFunction: Enhance tables. Provides functions such as search, filter, pagination, and sorting.\n\nUsage: Place the cursor on the table -\u003e Right-click menu -\u003e Less Used Plugins -\u003e Table Enhancement.\n\n![datatables](assets/datatables.png)\n\n### resize_table\n\nFunction: `ctrl + mouse drag`: Modify the row height and column width of the table.\n\n![resize_table](assets/resize_table.gif)\n\n### resize_image\n\nFunction: `alt + mouse scroll`: Adjust the image size.\n\n### export_enhance\n\nFunction: When exporting HTML, convert images to base64 to avoid image loss.\n\n### go_top\n\nFunction: Add a \"Go to Top\" button at the bottom right corner.\n\n### reopenClosedFiles\n\nFunction: Automatically or through a shortcut, open the tabs that were not closed when Typora was last exited.\n\n\u003e This plugin only works when window_tab is enabled.\n\n### dark: Dark Mode\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Night Mode\n\n### no_image: No Image Mode\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e No Image Mode\n\n### markdownLint\n\nFunction: Check whether the current file complies with markdown best practices.\n\nUsage:\n\n1. Method 1: Click the small square at the top right corner\n2. Method 2: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Format Check\n\n### updater: One-Click Plugin Upgrade\n\nUsage: Right-click menu -\u003e Less Used Plugins -\u003e Upgrade Plugin\n\n\u003e As we all know, some users cannot download the latest plugin directly from GitHub, so a proxy setting function is provided (default is system proxy).\n\n### easy_modify: Editing Tools\n\nUsage: Right-click menu -\u003e Often Used Plugins -\u003e Editing Tools\n\nThis plugin is a collection of commonly used editing tools, currently including:\n\n1. Copy title path\n2. Promote the title level of the selected paragraph\n3. Demote the title level of the selected paragraph\n4. Convert line break CRLF to LF\n5. Convert line break LF to CRLF\n6. Remove invisible characters\n7. Generate mind map based on the document outline: mindmap\n8. Generate mind map based on the document outline: graph\n9. Extract selected text to a new file\n10. Add trailing spaces\n\n### editor_width_slider: Adjust Writing Area Width\n\nUsage: Right-click menu -\u003e Less Used Plugins -\u003e Adjust Writing Area Width\n\nFunction: Adjust the width of the writing area.\n\n### redirectLocalRootUrl\n\nFunction: If you mainly use Obsidian or Joplin to manage files and occasionally use Typora to open files, you will encounter a problem: both Obsidian and Joplin put local resources in the same directory, but Typora defaults to using relative paths to reference local resources.\n\n\u003e This plugin is disabled by default and needs to be manually enabled.\n\nBefore using this plugin, you need to set the following configuration options:\n\n```toml\n# Resource root directory, supports absolute paths (such as D:\\\\tmp\\\\img) and relative paths (such as .\\\\assets). Pay attention to escaping backslashes when filling in (if empty, this plugin is invalid)\nroot = \"./\"\n# Filter regular expression: only files whose paths match filter_regexp will use this plugin (if empty, all files will use this plugin)\nfilter_regexp = \"\"\n```\n\n### blockSideBySide: Display Active Blocks Side by Side\n\nFunction: The active block is displayed vertically by default, changed to side by side.\n\n![blockSideBySide](./assets/blockSideBySide.png)\n\n\u003e Note: This function is achieved by injecting CSS, which may conflict with the theme you are using.\n\n### scrollBookmarker: Bookmark Manager\n\nUsage:\n\n1. Use alt + click on the text content to bookmark.\n2. This will automatically bring up the bookmark manager. Click on the bookmark above to jump to the bookmark.\n\nShow/Hide Bookmark Manager: Right-click menu -\u003e Often Used Plugins -\u003e Secondary plugins -\u003e Bookmark Manager\n\n### help: User Help\n\nUsage: Right-click menu -\u003e Less Used Plugins -\u003e Help.\n\n### cipher: Encrypt File\n\nUsage: Right-click menu -\u003e Less Used Plugins -\u003e Encrypt File.\n\n### truncate_text: Hide Content to Improve Large File Rendering Performance\n\nFunction: The rendering performance of large files in Typora is very poor. Use this plugin to temporarily hide content (just hide the display, not modify the file) to improve rendering performance. It can also be used to prevent peeking.\n\nUsage: Right-click menu -\u003e Less Used Plugins -\u003e Text Truncate.\n\nThe included functions are as follows:\n\n- Hide the front part: Hide the text in the front part, leaving only the last 80 paragraphs.\n- Redisplay: Redisplay all previously hidden text.\n- Display according to the current visible range: Display text according to the current visible range.\n\n\u003e Principle: By setting the display style of DOM elements to none, elements are hidden so that they do not occupy a position in the rendering tree, and operations on hidden elements do not cause reflow of other elements.\n\n\u003e collapse_paragraph (Chapter Collapse) can well replace this plugin, it is recommended to use collapse_paragraph.\n\n### ripgrep: Use Ripgrep to Search Files\n\nTypora comes with ripgrep. This plugin supports using the built-in ripgrep to search files.\n\n\u003e To use this plugin, you need to be familiar with the ripgrep tool. This plugin is disabled by default and needs to be manually enabled.\n\n### hotkeys: Hotkey Registration Center (Advanced)\n\n\u003e This plugin is an advanced plugin, only available to users with a JavaScript background.\n\nFunction: Bind hotkeys to [any plugin system function] or [any custom function] in a declarative form.\n\n### quickButton: Add Function Buttons to the Bottom Right Corner (Advanced)\n\n\u003e This plugin is an advanced plugin, only available to users with a JavaScript background.\n\nFunction: Similar to hotkeys, set function buttons for [any plugin system function] in a declarative form.\n\n### custom: Open Platform, User-Defined Plugins (Advanced)\n\n\u003e This plugin is an advanced plugin, only available to users with a JavaScript background.\n\nFunction: Provide open capabilities, support users to write their own plugins.\n\nFor specific usage, please refer to [README.md](https://github.com/obgnail/typora_plugin/blob/master/plugin/custom/README.md).\n\n### json_rpc: External Manipulation of Typora (Advanced)\n\nFunction: Expose all capabilities including the typora-plugin in the form of `json-rpc` for external manipulation of Typora.\n\nFor specific usage, please refer to [README.md](https://github.com/obgnail/typora_plugin/blob/master/plugin/json_rpc/README.md).\n\n\u003e This plugin is an advanced plugin, only available to developers. After enabling this plugin, the external will have both node and browser environments, which can fully control the computer, so if you are not a developer, please do not enable it.\n\n### article_uploader: Upload Blog Articles\n\nFunction: The user clicks or uses a shortcut key to trigger the automatic publishing function of the current article. The program automatically publishes blog articles to major platforms according to user configuration.\n\nFor specific usage, refer to: [README.md](https://github.com/obgnail/typora_plugin/blob/master/plugin/article_uploader/README.md). Taking uploading to CSDN as an example, the GIF is as follows:\n\n![CSDN Success Demonstration](https://my-picture-bed1-1321100201.cos.ap-beijing.myqcloud.com/mypictures/CSDN%E6%88%90%E5%8A%9F%E6%BC%94%E7%A4%BA.gif)\n\n\n## Acknowledgements\n\n- Apache: [ECharts](https://echarts.apache.org/zh/index.html) | [draw.io](https://github.com/jgraph/drawio)\n- MIT: [markmap](https://markmap.js.org/) | [Chart.js](https://www.chartjs.org/) | [abcjs](https://github.com/paulrosen/abcjs) | [tui.calendar](https://github.com/nhn/tui.calendar) | [Marp](https://marp.app/)\n- no-licence: [typora-tabbar-plugin](https://github.com/gatziourasd/typora-tabbar-plugin) | [typora-side-by-side](https://github.com/gruvw/typora-side-by-side) | [md-padding](https://github.com/)\n\n## Conclusion\n\nI am not a front-end developer, and all my front-end knowledge comes from Google. My JS/CSS skills are quite poor.\n\n**This project follows the MIT license, feel free to enjoy it.**\n\nIf you find it useful, please give it a star ⭐, and feel free to recommend it to like-minded friends.\n","funding_links":["https://fastly.jsdelivr.net/gh/obgnail/utils@master/assets/donate.png"],"categories":["JavaScript","插件","写作与编辑环境"],"sub_categories":["专业 Markdown 编辑器"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobgnail%2Ftypora_plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobgnail%2Ftypora_plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobgnail%2Ftypora_plugin/lists"}