Remote upload plugin for milkdown.
npm i @s2nc/milkdown-plugin-upload
import { Milkdown, useEditor } from '@milkdown/vue'
import {rootCtx} from '@milkdown/core'
import { remoteUpload, remoteUploader,remoteUploadConfig } from '@s2nc/milkdown-plugin-upload'
import { uploadConfig } from '@milkdown/plugin-upload'
const { loading, get } = useEditor((root) => {
return Editor.make()
.config((ctx) => {
// ...
// 编辑器初始化配置
ctx.set(rootCtx, root)
// 配置图片远程上传
ctx.set(remoteUploadConfig.key, files => {})// 这里配置接收文件并上传到远程的实现函数
ctx.update(uploadConfig.key, (prev) => {
return {
...prev,
uploader: remoteUploader(ctx),
uploadWidgetFactory: (pos, spec) => {// loading 效果
const widgetDOM = document.createElement('span')
widgetDOM.classList.add(...['w-4', 'h-4', 'inline-block', 'i-tabler:loader', 'text-slate-500', 'dark:text-slate-400', 'animate-spin'])
return Decoration.widget(pos, widgetDOM, spec)
},
}
})
})
.use(remoteUpload)// 使用插件
})
MIT 许可证(MIT)。有关更多信息,请参见协议文件。