[[ EDITOR: BETTER / MV3 ]]

让 Wikidot 源码编辑,拥有原生扩展体验。

一个使用 Monaco Editor 接管 Wikidot 编辑区的 Chrome 扩展。保留工具栏、保存、预览和草稿流程,同时以 Manifest V3 的受限桥接安全处理跨站 include。

为 Wikidot 编辑页而做

不改变 Wikidot 原有编辑流程,而是在页面主世界中为源码编辑补齐专业工具和扩展级能力。

01 / EDIT

Monaco 编辑器

代码折叠、括号配对、行列状态、主题适配与稳定的手动布局。

02 / PARSE

Wikidot 语法

识别 [[module]]、标题、表格、引用和链接;CSS、HTML、脚本与样式块支持嵌入高亮。

03 / KEEP

原流程兼容

通过 textarea 属性代理维持保存、预览、草稿、校验和原工具栏按钮可用。

04 / BRIDGE

安全桥接

由 Service Worker 处理经过白名单校验的跨站 include 请求和 Cookie 读取。

05 / LOAD

多源加载

并行探测多个 CDN;AMD 不可用时自动使用 ESM 路径,并为失败场景保留原生编辑框。

06 / MV3

独立扩展

不依赖 Tampermonkey、GM API 或油猴脚本,可单独安装、构建和发布。

四步开始

首次打开编辑页时会下载 Monaco 编辑器资源。加载失败时原生编辑框仍保持可用。

SETUP

从 Release 下载扩展包,解压并在 Chrome 开发者模式加载即可。不需要用户脚本管理器。

01

下载扩展包

从 GitHub Releases 下载 wikidot-editor-better-chrome.zip,并解压到本地目录。

02

开启开发者模式

打开 chrome://extensions,在右上角开启“开发者模式”。

03

加载已解压扩展

点击“加载已解压的扩展程序”,选择刚才解压后的目录。

04

编辑 Wikidot 页面

进入任意 Wikidot 页面并点击编辑,Monaco 会在编辑区出现时自动接管。

权限与稳定性

扩展只请求实现功能所需的最小权限,并让跨站请求保持在明确的安全边界内。

有限主机范围

只在 Wikidot 域名下运行,跨站请求仅允许 HTTPS 的 Wikidot 子域名和受限页面路径。

Cookie 仅用于 include

仅读取 Wikidot 的 wikidot_token7,以完成经过校验的 ViewSourceModule 请求。

加载失败可回退

Monaco 无法初始化时,原生 textarea 会继续可用,并提供自动和手动重试。

保留页面加载器

检测到页面已有 AMD 加载器时不覆盖全局变量,避免影响站点或其他扩展。

一起把它做得更顺手

欢迎 Bug 报告、功能建议和代码贡献。项目采用 GNU GPL v3.0 开源许可。