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

中国购物网站排名京山网站设计

中国购物网站排名,京山网站设计,建造师个人业绩查询系统,北京工商注册登记网官网ByteMD bytedance/bytemd: ByteMD v1 repository (github.com) 这里由于我的项目是 Next,所以安装 bytemd/react, 阅读官方文档,执行命令来安装编辑器主体、以及 gfm(表格支持)插件、highlight 代码高亮插件&#xf…

ByteMD

bytedance/bytemd: ByteMD v1 repository (github.com)

这里由于我的项目是 Next,所以安装 @bytemd/react, 阅读官方文档,执行命令来安装编辑器主体、以及 gfm(表格支持)插件、highlight 代码高亮插件:

npm i @bytemd/react
npm i @bytemd/plugin-highlight @bytemd/plugin-gfm

但是浏览器的样式不好看,我们可以引入第三方主题:
github-markdown-css

npm install github-markdown-css
import 'github-markdown-css/github-markdown-light.css';

然后使用组件:

src/components/MdEditor/index.tsx

import { Editor } from "@bytemd/react";
import gfm from "@bytemd/plugin-gfm";
import highlight from "@bytemd/plugin-highlight";
import 'github-markdown-css/github-markdown-light.css';
import "bytemd/dist/index.css";
import "highlight.js/styles/vs.css";
import "./index.css";interface Props {value?: string;onChange?: (v: string) => void;placeholder?: string;
}const plugins = [gfm(), highlight()];/*** Markdown 编辑器* @param props* @constructor*/
const MdEditor = (props: Props) => {const { value = "", onChange, placeholder } = props;return (<div className="md-editor"><Editorvalue={value || ""}placeholder={placeholder}mode="split"plugins={plugins}onChange={onChange}/></div>);
};export default MdEditor;

把 MdEditor 当前输入的值暴露给父组件,便于父组件去使用,同时也是提高组件的通用性,所以定义了属性和属性类型,把 value 和 onChange 事件交给父组件去管理。

src/components/MdEditor/index.css

.md-editor {.bytemd-toolbar-icon.bytemd-tippy.bytemd-tippy-right:last-child {display: none;}
}

隐藏编辑器中不需要的操作图标(像 GitHub 图标)

编辑好文本,自然有浏览文本的地方,所以浏览器:

src/components/MdViewer/index.tsx

import { Viewer } from "@bytemd/react";
import gfm from "@bytemd/plugin-gfm";
import highlight from "@bytemd/plugin-highlight";
import 'github-markdown-css/github-markdown-light.css';
import "bytemd/dist/index.css";
import "highlight.js/styles/vs.css";
import "./index.css";interface Props {value?: string;
}const plugins = [gfm(), highlight()];/*** Markdown 浏览器* @param props* @constructor*/
const MdViewer = (props: Props) => {const { value = "" } = props;return (<div className="md-viewer"><Viewer value={value} plugins={plugins} /></div>);
};export default MdViewer;

src/components/MdViewer/index.css

.md-viewer {.bytemd-toolbar-icon.bytemd-tippy.bytemd-tippy-right:last-child {display: none;}
}

可以在任意客户端渲染页面(或组件)引入组件进行测试,这是因为该组件用到了 useRef 之类的仅客户端才支持的函数。

const [text, setText] = useState<string>('');<MdEditor value={text} onChange={setText} />
<MdViewer value={text} />

md-editor-v3

文本编辑器/md-editor-v3 (gitee.com)

这个是之前写 Vue3 用过的一个编辑器,也很不错,用法简单,同样支持 Vue、React 等。

安装

yarn add md-editor-v3

更多使用及贡献方式参考:md-editor-extension

编辑器模式

<template><MdEditor v-model="text" />
</template><script setup>
import { ref } from 'vue';
import { MdEditor } from 'md-editor-v3';
import 'md-editor-v3/lib/style.css';const text = ref('# Hello Editor');
</script>

仅预览模式

<template><MdPreview :editorId="id" :modelValue="text" /><MdCatalog :editorId="id" :scrollElement="scrollElement" />
</template><script setup>
import { ref } from 'vue';
import { MdPreview, MdCatalog } from 'md-editor-v3';
import 'md-editor-v3/lib/preview.css';const id = 'preview-only';
const text = ref('# Hello Editor');
const scrollElement = document.documentElement;
</script>
http://www.yayakq.cn/news/234292/

相关文章:

  • 福田网站建设龙岗网站建设龙岗网站建设龙岗网站建设软件开发外包管理
  • 网站建设 郑州软件著作权申请流程
  • 上海城市建设大学网站asp.net.做简单的网站
  • h5响应式网站模板下载电子商务网站建设素材
  • app网站建站系统做外文H网站
  • 装修网网站建设传统电商平台有哪些
  • 网站分辨率北京网站制作工作室
  • 电子商务网站的建设的步骤wordpress注册登录修改密码
  • vue做前台网站做的比较好的旅行网站
  • 做网站必须学php吗百度公司注册地址
  • 网站中图片下移怎么做网站统计 中文域名
  • jsp mysql开发网站开发做知乎网站的图片
  • 黑河城乡建设局网站百度大搜
  • 个人网站域名怎么取企业微信网页版
  • 做交易平台的网站需要哪些技术思勤传媒网站建设公司
  • 网站建设评分细则成都自适应建站哪家好
  • 湛江企业网站建设wordpress 上传fttp
  • 音乐应用网站模板代卖平台哪个好
  • 网站建设 零基础上海百度网站建设
  • 天津专业的网站建设公司北京北排建设公司招标网站
  • 开发网站需要什么条件网站页面建设需要ps吗
  • 长春网站建设的公司设计制作第一架中国飞机的是谁
  • 做网站是要写代码的吗潮州专业网站建设制作
  • 电子商务网站建设具体方案互联网创业怎么起步
  • 做视频营销哪个网站好大型电子商务网站建设方案
  • 网站排名标准做公众号app,网站,app
  • 北京做网站推广多少钱南宁营销型网站建设公司哪家好
  • 通化网站建设公司学校网站怎么做的
  • 网站搭建准备绍兴关键词优化报价
  • 网站seo优化实例做软件用什么编程语言