当前位置: 首页 > wzjs >正文

企业做网站可以带中国吗各行业关键词

企业做网站可以带中国吗,各行业关键词,晋城哪里有做网站的,网站banner怎么做动态本文为开发开源项目的真实开发经历,感兴趣的可以来给我的项目点个star,谢谢啦~ 具体博文介绍: 开源|Documind协同文档(接入deepseek-r1、支持实时聊天)Documind 🚀 一个支持实时聊天和接入 - 掘…

本文为开发开源项目的真实开发经历,感兴趣的可以来给我的项目点个star,谢谢啦~

具体博文介绍:
开源|Documind协同文档(接入deepseek-r1、支持实时聊天)Documind 🚀 一个支持实时聊天和接入 - 掘金

我干了什么

我定义了两个插件:

  • font-size:支持通过setFontSize设置tiptap编辑器字体大小,通过unsetFontSize重置为默认大小。
  • line-height:支持通过设置setLineHeight设置tiptap编辑器行高,通过unsetLineHeight重置为默认行高。

源码参考

这里就不一点一点讲解了,注释看不懂的话可以叫AI帮你解析。

font-size插件:
import { Extension } from "@tiptap/core";
import "@tiptap/extension-text-style";// 声明类型
declare module "@tiptap/core" {interface Commands<ReturnType> {fontSize: {/** 设置字体大小(支持CSS单位如12px/1.2rem等) */setFontSize: (fontSize: string) => ReturnType;/** 清除字体大小设置 */unsetFontSize: () => ReturnType;};}
}// 创建扩展
export const FontSizeExtension = Extension.create({name: "fontSize",// 扩展配置项addOptions() {return {types: ["textStyle"], // 作用对象为文本样式标记};},// 注册全局属性addGlobalAttributes() {return [{types: this.options.types, // 应用范围(textStyle类型)attributes: {fontSize: {default: null, // 默认无字体大小// 从DOM解析字体大小(读取style属性)parseHTML: (element) => element.style.fontSize,// 渲染到DOM时生成样式renderHTML: (attributes) => {if (!attributes.fontSize) {return {}; // 无设置时返回空对象}return {style: `font-size: ${attributes.fontSize};`, // 生成内联样式};},},},},];},// 注册编辑器命令addCommands() {return {/** 设置字体大小命令 */setFontSize:(fontSize: string) =>({ chain }) => {return chain().setMark("textStyle", { fontSize }) // 更新文本样式标记.run();},/** 清除字体大小命令 */unsetFontSize:() =>({ chain }) => {return chain().setMark("textStyle", { fontSize: null }) // 清除字体大小属性.removeEmptyTextStyle() // 移除空文本样式标记.run();},};},
});
line-height插件:
import { Extension } from "@tiptap/core";// 类型声明:扩展Tiptap的命令接口
declare module "@tiptap/core" {interface Commands<ReturnType> {lineHeight: {/** 设置行高(支持CSS单位如1.5/2/24px等) */setLineHeight: (lineHeight: string) => ReturnType;/** 重置为默认行高 */unsetLineHeight: () => ReturnType;};}
}export const LineHeightExtension = Extension.create({name: "lineHeight",// 扩展配置项addOptions() {return {types: ["paragraph", "heading"], // 应用行高样式的节点类型defaultLineHeight: null, // 默认行高(null表示不设置)};},// 添加全局属性处理addGlobalAttributes() {return [{types: this.options.types, // 应用到的节点类型attributes: {lineHeight: {// 默认值(从配置项获取)default: this.options.defaultLineHeight,// 渲染到HTML时的处理renderHTML: (attributes) => {if (!attributes.lineHeight) {return {};}// 将行高转换为行内样式return {style: `line-height: ${attributes.lineHeight};`,};},// 从HTML解析时的处理parseHTML: (element) => {return {// 获取行高样式或使用默认值lineHeight: element.style.lineHeight || this.options.defaultLineHeight,};},},},},];},// 添加自定义命令addCommands() {return {setLineHeight:(lineHeight) =>({ tr, state, dispatch }) => {// 创建事务副本以保持不可变性tr = tr.setSelection(state.selection);// 遍历选区内的所有节点state.doc.nodesBetween(state.selection.from, state.selection.to, (node, pos) => {// 只处理配置的类型节点if (this.options.types.includes(node.type.name)) {tr = tr.setNodeMarkup(pos, undefined, {...node.attrs,lineHeight, // 更新行高属性});}});// 提交事务更新if (dispatch) {dispatch(tr);}return true;},unsetLineHeight:() =>({ tr, state, dispatch }) => {tr = tr.setSelection(state.selection);// 遍历选区节点重置行高state.doc.nodesBetween(state.selection.from, state.selection.to, (node, pos) => {if (this.options.types.includes(node.type.name)) {tr = tr.setNodeMarkup(pos, undefined, {...node.attrs,lineHeight: this.options.defaultLineHeight, // 重置为默认值});}});if (dispatch) {dispatch(tr);}return true;},};},
});

使用案例

首先我们在extensions中添加扩展以激活

extensions: [/*......*/FontSizeExtension,LineHeightExtension.configure({types: ["paragraph", "heading"],}),/*......*/
];
http://www.dtcms.com/wzjs/257745.html

相关文章:

  • 大同市住房与城乡建设厅网站crm客户管理系统
  • 甘肃建投建设有限公司网站今日发生的重大国际新闻
  • 建阳网站建设搜索优化网络推广
  • 枣庄做网站的公司google浏览器网页版
  • 做日文网站今日国内热点新闻头条事件
  • wordpress注册登录关键词优化软件有哪些
  • 常州网站建设 最易百度百家官网入口
  • 网站三级分类网络推销
  • 罗湖网站建设罗湖网站设计网站收录服务
  • 做网站App价格多少泰安网站制作推广
  • 企业网站建设 深圳seo排名优化教程
  • 做网站推广员百度网盘客服在线咨询
  • 做色情网站会怎么样sem搜索
  • 公司网站手机版宁波seo关键词排名优化
  • 网站排名第一合肥网站优化搜索
  • 用dw怎么做网站后台电子商务
  • 属于自己的网站色盲测试图数字
  • phpnow搭建本地网站app拉新推广赚佣金
  • 九八智能建站东莞网站推广技巧
  • 顺德网站制作有哪些公司百度一下 你就知道官网
  • 十堰秦楚网招聘公告seo主要做什么
  • web网站开发视频教程百度seo公司哪家好一点
  • 页面设计代码seo外链怎么发
  • 有哪些做海报的网站windows优化大师有哪些功能
  • 湖南网站建设磐石网络无线网络优化工程师
  • 宁波网站建设专业定制推广网站要注意什么
  • 关于网站建设相关文章做网站要多少钱
  • 免费建立公司网站镇江网络
  • 网站建设明细表微信运营
  • 中山网站优化营销搜索关键词热度