链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
Herbert
HerbertHe
前端
golang
关注
59599
号成员,
2020-05-07 23:09:52
加入
820
个人主页
浏览
45
帖子
+
回帖
+
评论
2.2k
贡献点
104h2m
在线时长
主营前端, 热衷于造轮子 ~ 现为西部计划服务新疆专项志愿者 ~ Nuco.Tech Studio 联合创始人
15
帖子
5.6k
帖子被浏览
380
浏览帖子
3
被收藏的帖子
0
收藏的帖子
3
帖子被关注
0
关注帖子
31
被回贴
30
回贴
1.1k
浏览回贴
2
回答提问
0
评论
0
聊天室
6
收到的感谢
4
收到的赞同
3
被用户关注
3
关注用户
820
主页被浏览
74
浏览他人主页
19
浏览领域
36
浏览标签
8627
积分
0
Repos
2.2k
贡献点
0
清风明月
1
关注标签
发布了回帖
细谈 MarkMax 和 markdown-it 的异同
不算是吧。。。因为我觉得 Vditor 的工程实在是太大了,而且敏捷度不够,有些东西是很难实现的。 MarkMax 通过 millionjs 提供了 VDOM 的特性,几乎实现了原生性能下的 markdown 渲染。体积远小于 Lute,重写了 markdown-it 的 renderer(这就导致了不支持 markd ..
10 个月前
发布了帖子
细谈 MarkMax 和 markdown-it 的异同
最近有点纠结,到底 MarkMax 自定义插件呢?还是 100% 支持 markdown-it 的插件?MarkMax 现在是实验性支持了 markdown-it 的部分插件,因为 MarkMax 的渲染器参数与 markdown-it 有差别,并且 MarkMax 的渲染机制与 markdown-it 同样有差别,所 ..
11 个月前
发布了回帖
关于 Markdown 文档翻译的最佳实现方式?
我自己对 i18n 还比较有经验,也主要是做前端的。我的建议还是直接通过语法树翻译比较好,当然你也可以转化到 HTML 再翻译。相同点是基于编译原理来翻译,不要试图自己正则提取。 通过 markdown 的话,我建议用 marked.js 语法树比较简单,非常容易上手。如果你有 HTML 需求的话,可以转化 HTML ..
1 年前
发布了回帖
我的程序设计之路
可以啊,我其实真的给开源贡献并没有几年。可以从简单的项目源码开始看,贡献实现自己的 idea 被合并了就足够了
1 年前
发布了回帖
Vditor 生命周期(运行时 runtime)设计构想
🤣 不是大佬,就想把这个项目贡献的更开放一些。可能会有提很多性能优化 issues 建议,希望 V 姐不要看 GitHub 头大 2333(逃 看 Vue 的源码分析,又有了给 Vditor 嵌入 vdom 进行 diff 更新的想法,比较喜欢 sv 模式的我总感觉好像更新的时候有卡顿的情况
1 年前
发布了回帖
[严重] 当编辑器 在 iframe 里面 :Vditor 的 XSS 可以被绕过
我感觉这是得看场景的,单纯做个编辑器来说确实不应该禁止,如果是通用的开源项目的话,提供这个可选项是个不错的 feature
1 年前
发布了回帖
[严重] 当编辑器 在 iframe 里面 :Vditor 的 XSS 可以被绕过
之前 iframe 还有一个问题:[链接] issue 里面提到的方法,在前端可能可以一定程度山解决 src 导致的 XSS,直接禁掉 iframe 的键入比较好 @88250
1 年前
发布了回帖
Vditor 源码分析之内置特性支持
哈哈哈,我提了这个 issue [链接] ,我现在在做 Vditor Plugin [链接] 和重构类型定义。
1 年前
发布了回帖
Vditor 源码分析之内置特性支持
如果往富文本发展的话,是需要支持拓展状态机的,复杂度会提升很多。这个项目我再看看,插件化特性增加其实会导致性能下降,这需要针对具体场景优化。 实际来说,现在没有让我觉得还不错的 markdown 编辑器。所见即所得和即时渲染多多少少有语法问题,而且还有卡顿的情况。总体来说,我更关注渲染器。。。编辑器 hold 不住,s ..
1 年前
发布了回帖
Vditor 源码分析之内置特性支持
如果基于标准 markdown 的语法的话,其实不存在 tokenizer 的问题。我认为 tokenzier 的优化支持,只是进一步通过 AST 提高渲染时的效率,比如我下面提的这个 issue: [链接] 在我 PR lute 的 RenderJSON 这个 API 之前,是无法通过 lute 实现前端全自定义渲染 ..
1 年前
发布了回帖
Vditor 源码分析之内置特性支持
在 tokenizer 的问题上,lute 似乎在试图把这部分剥离重构,如果顺利的话通过 js 来自定义 token 的解析也不是问题。只是我觉得可能就偏离作为一个 markdown 解析器的初心了,这个发展方向就变成了富文本解析了。 Vditor 的合并比较慢,我设计了一套插件解耦,对于运行时的设计可能需要等待很长的 ..
1 年前
发布了回帖
vditor 的 after 回调中如何获取创建的编辑器实例
为啥不可以先获取数据呢?
1 年前
发布了回帖
markdown 引擎测试—— js 三家并列,lute 的 Wasm 竟然比 GopherJS 更慢?
之前我也试图把 lute 编译到 wasm 来着,其实 go wasm 和 gopherjs 的作者是一个人。go 似乎也并没有向 wasm 发展的意思。
1 年前
发布了回帖
列表块“一炮三响”问题现状和改进提议
在给 Vditor 开发自定义渲染器和 Lute PR renderJSON 这个方法的时候,我就发现了这个问题,这也是 renderJSON 这个方法为啥设置 Flag 这个特性的原因。对于起装饰性作用的块并不需要保留子节点内容,不然会造成导出语法树数据的冗余。 还有个问题是开发自定义渲染器,使用 API 获取数据的 ..
1 年前
发布了帖子
我的程序设计之路
今天在推特上面看到尤雨溪分享 Anthony Fu 的播客分享,挺有启发的、也觉得很好玩,就写一写我自己做开源(或者程序设计)的过程吧。(本篇全程基本无关技术) 下面截图是我的 GitHub 主页。我真的觉得 Antfu 是一个很有趣的人,也跟我做程序设计的想法很像,就单纯是为了好玩。 [图片] [图片] 我第一次与程 ..
1 年前
发布了回帖
Vditor 源码分析之内置特性支持
等着 PR 合并,我先做了代码风格规范和 Sass 迁移 Less。我预估了一下底层代码结构得大改(滚动更新),等着慢慢合并(V 说怕我动作大了跟不上 😂 我是希望在 Vditor 的项目上更新,因为没有打算做编辑器,只做渲染部分。
1 年前
发布了帖子
前端 VR 开发技术栈选型
写在前面的 一直想做 VR 很久了,之前没做的原因如下:一、没钱买单反及相关器材;二、完全没有游戏开发背景;三、技术水平有限……给 Vditor PR 一直在等待合并,最近的工作不是很忙,然后开始继续做前端 VR 开发。 自己是个业余的风光摄影爱好者,尼康好兄弟!目前手上的器材是:尼康 Z5 + 24-70mm f/4 ..
1 年前
发布了回帖
Vditor 源码分析之内置特性支持
233333,先动手 Vditor,有时间再继续看看 Lute~Lute 现在也在寻求更新 emmm
1 年前
关注了用户
xuri
1 年前
发布了帖子
Vditor 源码分析之内置特性支持
写在前面的 对 Vditor 的源码不会进行逐行分析,分析仅限于处理对 Vditor 分析解耦的操作,Vditor 内部代码耦合程度比较高。Vditor Plugin 在不断阅读 Vditor 源码的过程中,不断试图提供更多的开放特性,面临的挑战和设计思路将以博客的形式进行分享。 一个新的目标 抽离 Vditor 自带 ..
1 年前
关注了标签
坑
1 年前
发布了回帖
Vditor 生命周期(运行时 runtime)设计构想
基于 Vditor 周围的生态项目我做了不少,碰到过很多“开发不舒服”的地方,因为各种原因先暂停了更新。如果 Vditor 能作为一个独立项目运营的话,我愿意把现有的所有项目全部捐献给社区。 之前 PR 里面的贡献是把 Sass 和 Lint 工具全部改掉了,先解决最基本的开发问题。核心 API Vditor.rend ..
1 年前
发布了回帖
Vditor 生命周期(运行时 runtime)设计构想
大半夜不睡觉写代码属于是,哈哈哈哈哈~
1 年前
发布了帖子
又一个新轮子——中国各行业唯一识别码编码
写在前面的 唯一识别码的概念在各行业都很通用,无论是流水号还是身份证号都是如此,之前 [链接] 具体研究过雪花算法、美团的 Leaf 算法做了 nucoid 实现高并发下的标识符分发(nucoid 不开源)。国内各行业的唯一识别码也大都有校验规则。 场景决定的项目 在西部计划服务的期间,利用互联网手段上云处理合规工作, ..
1 年前
发布了回帖
Vditor 渲染文章时,如何获取目录?
你可以使用 renderJSON 这个 API 获得节点,或者用第三方 AST 生成工具
1 年前
发布了帖子
Vditor 生命周期(运行时 runtime)设计构想
写在前面的 Vditor 目前来说是没有生命周期(或称运行时这一概念,下称为 runtime)。好处是可以以最少的 API 实现编辑器的渲染,但也导致了代码整体解耦仍然不够的问题。虽然可以通过配置项实现自定义渲染器的功能,但仍然没有统一的插件开发工程和独立插件发布。因此,我开始尝试对 Vditor 进行 runtime ..
1 年前
发布了回帖
从编辑器到输入法
哈哈哈,还行
1 年前
发布了回帖
从编辑器到输入法
哈哈哈,尽自己所能
1 年前
发布了帖子
基于 Rime 的哈拼 Hapin 输入方案设计
关于 Rime Rime 中文名为中州韵,是一款非常优秀的开源输入法解决方案。相比于现在自带了一堆捆绑、并且收集个人信息的输入法而言,Rime 足够输入但需要自己拓展词库。更高阶的玩法莫过于通读文档自定义输入方案了,再深入就是自己修改不同平台对应发行版的源码编译。 关于哈拼 Hapin 什么是哈拼呢?全程可以称为哈萨克 ..
1 年前
发布了帖子
从编辑器到输入法
从 Markdown 到 TeX,一直到现在接触另一门语言。感觉我的技术栈一直围绕着文本编辑和处理,谈谈自己的心路历程吧~这不完全是一篇技术贴。 大学毕业的“无业游民” 2021 年的 7 月份,我从物理系应用物理学专业毕业了。没有选择找工作,也没有考研,4 月份看到“大学生志愿服务西部计划”的报名就申请来了。我来到了 ..
1 年前
发布了回帖
HV-Com——一个全程使用 Vditor 的评论系统
我自己基于 Vditor 手撸过几乎整套工具链,也贡献过代码。谈谈我碰到过的坑,Vditor 有些地方还是需要注意的。 Vditor 是异步加载的,可能会导致 DOM 伸缩的问题,建议楼主隐藏长评论完整渲染 Vditor 依赖的 lute.min.js 包很大,很可能会出现性能问题 Vditor 全局样式需要统一,否则 ..
1 年前
关注了用户
Vanessa
1 年前
发布了帖子
在 React 中使用 Vditor 的新姿势
又一个新轮子诞生 Vditor 和 Lute 的源代码我都通读过, 每次在 React 项目中使用 Vditor 的姿势都让我觉得蛮麻烦的, 在 npm 上面也看到有老哥给 Vditor 包装了一层 React 组件。为了代码的绝对安全可控, 自己基于 Vditor 的特性实现了 React 组件的包装并拓展了部分常用 ..
1 年前
发布了回帖
支持 React 推荐实践,比如 React hook
这个自己封一层组件就好了,Vditor 定位于不同框架的编辑器,通过 React 的 useEffect 和 createRef 钩子就可以组件化实现
1 年前
发布了回帖
vditor.preview 怎么自定义右侧样式和内容
这个大纲是额外生成的,自己画就好了,我印象里 vditor 没有暴露 headings 的结构内容,可以用 marked.js 生成节点树自定义渲染
1 年前
发布了回帖
md2html 如何达到 preview 的渲染结果?
这两个方法的结果是不一样的,得看具体需求进行解决
1 年前
发布了帖子
在 Svelte 中使用 Vditor
关于 Svelte Svelte 自诩为一个 compiler,构建出来之后有一个 bundle.js 和一个 bundle.css,并没有提供模板文件。手动添加静态文件挂载的话,需要自己引入这两个 bundle。 完整的 demo 仓库参考 [链接] 使用方法 首先需要在 index.html 引入 vditor 的 ..
1 年前
发布了帖子
React 用 Await 组件来控制依赖 promise 的渲染
背景 慢慢在前端挖坑,各类框架都有接触学习,在学 Svelte 的过程中看到了一个好玩的语法——await 块。然后我就寻思可不可以在 React 也实现这样的组件呢?因为总感觉类似于 ejs 的方式有点奇怪,然后就整出来了一个 [链接] 这个库,挺好玩的。 在 Svelte 中 下面的这个是官方的示例 {#await ..
1 年前
发布了帖子
优雅解决 TypeScript 生成接口文档的问题
写在前面的 我这个人平时比较懒,尤其不是很喜欢写接口文档,在前后端开发的过程中这个需求总是存在的。虽目前主营前端,但是工作室后端的事情也经常是我在管的,所以如何更好的偷懒呢?于是,这个项目就诞生了。 TypeScript 有着严格的类型语法规范,prettier 可以帮我们很好的格式化我们的 TypeScript 代码 ..
2 年前
关注了用户
88250
2 年前
发布了帖子
markdown 自定义的思考
写在前面的 已经记不清什么时候开始接触的 markdown 了,好像是从我的一个学长做了我们学校的大数据协会论坛开始的。如果我没记错的话用的还是 b3log 的开源项目,应该是使用的 [链接]。后来听学长说太复杂了,维护无从下手然后删库跑路了 😂 也正是他画的这个饼,让我从零开始设计一个社区给不同学科、不同专业的同学 ..
2 年前
发布了回帖
搞定 Vditor 自定义渲染超链接,其它原理也相同
Lute 里面有很多 vditor 文档里面没有表现的节点信息,具体可以参考 lute 源码里面的渲染器 [链接]
2 年前
发布了回帖
搞定 Vditor 自定义渲染超链接,其它原理也相同
Lute 的渲染逻辑是先分块级元素,再分行级元素,然后逐层嵌套进行渲染的。所有的文本内容到最后其实都是 renderText() 这个做的文本渲染,建议逐层自定义的方式进行实现。node.Text() 的属性是包含所有子节点的文本内容,并不能拿到链接。在给 Lute PR 的时候发现了这个问题,如果是列表的话,这个会拿 ..
2 年前
发布了回帖
使用 lute 支持直接输出 AST 吗?
感谢大佬的指点,根据 demo.js 和 Vditor 源码中的 types 尝试实现了节点的替换,但类型是字符串。对于产生组件来说,好像不是很合适,不知道 callback 的内容的类型是否可以修改。 如果可以的话,还带来了一个新的问题。 比如 renderStrong 这一族的自定义渲染器有五个 renderStr ..
2 年前
发布了帖子
使用 lute 支持直接输出 AST 吗?
需求背景 如题,web 端项目的编辑器是基于 Vditor 实现的。移动端项目的实现计划是使用 React Native,根据 lute 引擎产生 markdown AST,然后自己实现 renderer。希望得到类似 marked.js 这个项目中的 marked.lexer 的输出效果,然后映射 RN 的跨端 Co ..
2 年前
发布了回帖
Vditor 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏预览模式
options 的 value 参数设置初始值无效,在编辑器中无法初始化
2 年前
发布了回帖
请问如何在 react 组件中做 markdown 渲染
谢谢,我找到问题在于 next 的 SSR 了,动态引入禁掉 SSR 问题就解决了
2 年前
发布了帖子
请问如何在 react 组件中做 markdown 渲染
react 组件内部使用 Vditor 做 markdown 渲染的问题 参考了 Demo 关于 react 引入 vditor 部分,next.js 框架报错 ReferenceError: window is not defined This error happened while generating the ..
2 年前