AIO 編輯器

Image

圖片節點(可拖曳縮放)。

圖片節點,自製變體:node view 帶八向 resize 把手(拖曳後回寫 width / height 屬性);貼上 / 拖放圖檔會觸發上傳 hook;貼上 Excel / Word 內容時跳過圖片攔截,交由表格 / 文字流程。圖片被選取時會出現 Image bubble。

  • config key:AioEditorCoreExtension.Image
  • 來源:自製(基於 @tiptap/extension-image)

載入途徑:跟隨 features 宣告:Image。按鈕未宣告但要保留能力 → include: [AioEditorCoreExtension.Image]。

排除影響(exclude: [Image]): 按鈕 Image 將自動隱藏; 以 extraExtensions 補上同名 extension(image)即為替換。

選項

欄位型別預設值說明
inlinebooleanfalse行內圖片或區塊圖片
allowBase64booleanfalse允許 base64 圖片來源
HTMLAttributesRecord<string, any>{}渲染輸出時附加之 HTML 屬性
pasteAndDropHandle(options: PasteAndDropImageOptions) => voidconsole 提示未實作貼上 / 拖放圖檔時觸發:consumer 上傳後呼叫 options.afterImageUpload(imageInfo) 插入圖片
clickHandle(options: ClickImageOptions) => voidconsole 提示未實作點擊圖片時觸發({ src, alt }),常用於開燈箱
keepRatioWhenResizebooleanfalse拖曳把手時鎖定長寬比

Commands

Command說明
setExtendImage(options)插入圖片(src 必填,可帶 alt / title / width / height / htmlData)

覆寫範例

const config: AioEditorConfig = {  extensionsConfig: {    Image: {      pasteAndDropHandle: async ({ files, afterImageUpload }) => {        const url = await uploadToServer(files[0]!)        afterImageUpload({ src: url })      }    }  }}

額外節點屬性:width / height(resize 回寫)、htmlData(data-* 屬性透傳,解析與輸出自動轉 kebab-case)。輸入規則:![alt](src "title")。