Skip to content

快速编辑 Quick Edit

字数
640 字
阅读时间
3 分钟

快速编辑 (quick-edit) 是 InPageEdit 最核心的功能,能让您在不打开新标签页的情况下编辑 wiki 页面。支持整页编辑、段落编辑、新建段落、新建页面,以及基于历史版本编辑。

使用方式

通过工具盒使用

点击工具盒中的铅笔图标按钮,即可快速编辑当前页面。如果当前页面 URL 包含 oldid 参数,将基于该历史版本编辑。

通过段落编辑链接

在启用了 文章内链接 插件的情况下,段落标题旁会出现「快速编辑」链接,点击可仅编辑该段落。

编辑器功能

  • 编辑摘要:自动填入默认摘要,可自定义
  • 小编辑标记:可选标记为小编辑
  • 监视列表:支持 4 种监视选项(跟随偏好设置 / 保持不变 / 添加监视 / 移除监视)
  • 未保存提醒:内容修改后关闭弹窗会弹出确认对话框,关闭标签页时也会提醒
  • 编辑冲突处理:遇到编辑冲突、页面被删等情况时,允许再次提交以覆盖
  • 键盘快捷键:默认 Ctrl+S 保存(可配置)

配置项

配置项类型默认值说明
quickEdit.editSummarystring[IPE-NEXT] Quick edit默认编辑摘要
quickEdit.editMinorbooleanfalse默认勾选"小编辑"
quickEdit.outSideClosebooleantrue点击弹窗外部区域关闭编辑器
quickEdit.watchListWatchlistActionpreferences监视列表行为
quickEdit.keyshortcut.savestringctrl-s保存快捷键(留空禁用)
quickEdit.editFontstringpreferences编辑器字体,可选 preferences / monospace / sans-serif / serif 或自定义 CSS font-family

For Developers

Public API

ts
// 通过 ctx.quickEdit 直接调用
ctx.quickEdit(title?: string)
ctx.quickEdit(options?: Partial<QuickEditOptions>)

// 方法
ctx.quickEdit.showModal(payload?: string | Partial<QuickEditOptions>): Promise<void>
ctx.quickEdit.handleSubmit(payload: QuickEditSubmitPayload): Promise<void>
ctx.quickEdit.createQuickEditButton(payload: Partial<QuickEditOptions>, options?: { icon?: ReactNode; label?: ReactNode }): HTMLAnchorElement
ctx.quickEdit.getEditFontOptions(): Promise<{ className: string; fontFamily: string }>
ctx.quickEdit.getWikiPageFromPayload(payload: Partial<QuickEditOptions>): Promise<IWikiPage>

QuickEditOptions:

ts
interface QuickEditOptions {
  title: string
  pageId: number
  revision: number
  section: number | 'new' | undefined  // undefined = 整页, 0 = 第一段, 'new' = 新段落
  editMinor: boolean
  editSummary: string
  createOnly: boolean
  reloadAfterSave: boolean
}

Events

EventDescription
quick-edit/init-optionsOptions initialized, before modal opens. Payload: { ctx, options }
quick-edit/show-modalModal shown, before loading page content. Payload: { ctx, modal, options }
quick-edit/wiki-pagePage content loaded. Payload: { ctx, modal, options, wikiPage }
quick-edit/edit-noticeBefore rendering edit notices. Payload includes editNotices: ReactNode[], push to add custom notices
quick-edit/submitUser submitted edit. Payload: { ctx, wikiPage, text, summary, section, minor, ... }

贡献者

The avatar of contributor named as dragon-fish dragon-fish
The avatar of contributor named as Claude Opus 4.6 Claude Opus 4.6

✏️ InPageEdit NEXT