npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@srcker/editor-vue-next

v1.2.5

Published

一个基于 Tiptap 的富文本编辑器,具有丰富的文本编辑功能,支持多种格式化选项和图片上传。

Readme

Rich Editor

一个基于 Tiptap 的富文本编辑器,具有丰富的文本编辑功能,支持多种格式化选项和图片上传。

Rich Editor Screenshot

功能特性

  • 基础文本格式化:加粗、斜体、下划线、删除线
  • 标题设置:支持 H1-H5 标题
  • 字体大小调整:多种字体大小选项
  • 颜色设置:文字颜色和背景高亮
  • 行高和缩进控制:灵活的段落格式调整
  • 对齐方式:左对齐、居中对齐、右对齐
  • 列表:有序列表、无序列表、任务列表
  • 引用块:支持文本引用
  • 链接:插入和管理超链接
  • 代码:行内代码和代码块
  • 图片上传:支持本地图片上传
  • 主题切换:支持浅色和深色主题
  • 撤销/重做:编辑历史操作
  • 清除格式:快速清除文本格式

快速开始

安装依赖

npm i @srcker/editor-vue-next

使用方法

<template>
  <div>
    <RichEditor 
      v-model="content" 
      theme="light" 
      format="html"
      :uploadImage="uploadImage"
    />
  </div>
</template>

<script setup>
import { ref } from 'vue'
import { RichEditor } from '@srcker/editor-vue-next'
import '@srcker/editor-vue-next/style/toolbar'
import '@srcker/editor-vue-next/style/content'

const content = ref('<p>Hello Rich Editor!</p>')

// 自定义图片上传函数
const uploadImage = async (file) => {
  // 这里实现你的图片上传逻辑
  // 示例:返回图片的URL和名称
  return {
    url: 'https://example.com/image.jpg',
    name: file.name
  }
}
</script>

配置项

| 参数 | 说明 | 类型 | 默认值 | | --- | --- | --- | --- | | v-model | 编辑器内容 | string | - | | theme | 主题,可选值:lightdark | string | light | | format | 输出格式,可选值:htmljsontext | string | html | | height | 编辑器高度(像素) | number | 500 | | toolbar | 自定义工具栏配置 | ToolbarConfig | 完整工具栏 | | uploadImage | 图片上传函数 | (file: File) => Promise<{url: string, name: string}> | 内置Base64转换 |

工具栏配置

可以通过 toolbar 属性自定义工具栏按钮和布局:

// 示例:自定义工具栏
const customToolbar = [
  ['undo', 'redo', 'format'],
  ['heading', 'fontSize'],
  ['bold', 'italic', 'underline', 'strike'],
  ['alignLeft', 'alignCenter', 'alignRight'],
  ['bulletList', 'orderedList', 'taskList'],
  ['link', 'image']
]

图片上传

编辑器支持通过工具栏按钮上传图片,默认使用 Base64 编码处理图片。你可以通过 uploadImage 属性自定义上传逻辑,例如上传到服务器:

const uploadImage = async (file) => {
  // 实现你的上传逻辑
  const formData = new FormData()
  formData.append('image', file)
  
  const response = await fetch('/api/upload', {
    method: 'POST',
    body: formData
  })
  
  const data = await response.json()
  return {
    url: data.url,
    name: file.name
  }
}

技术栈

  • Vue 3 + Composition API
  • Tiptap(富文本编辑器核心)
  • SCSS(样式管理)
  • Vite(构建工具)

浏览器兼容性

  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+

许可证

个人使用

  • 免费:个人学习、个人项目开发等完全免费 企业需要购买授权后使用

商业使用

  • 需要购买授权:任何商业用途(包括但不限于企业内部使用、产品集成、SaaS服务等)都需要购买商业授权
  • 授权方式:联系作者 [email protected] 获取商业授权详情

其他条款

  • 不得修改源码后重新分发
  • 不得将本项目作为竞品直接销售
  • 保留版权声明和许可证信息