Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

菜单选择图片类 Emoji 无法直接显示 #76

Closed
ydq opened this issue Jan 16, 2020 · 2 comments
Closed

菜单选择图片类 Emoji 无法直接显示 #76

ydq opened this issue Jan 16, 2020 · 2 comments
Assignees
Milestone

Comments

@ydq
Copy link

ydq commented Jan 16, 2020

vditor

官方demo页面上面的自定义表情:trollface:通过直接使用hint输出或者使用工具栏的表情按钮里面的图标点击输入,没能直接在所见即的模式下渲染出来,当切换模式再切回来之后才正确渲染。


另外说个题外话

当前vditor的md渲染解析核心用的是D大的lute,go打包出来的js将近1M大小了(目前2.1.1版本里面集成的lute在macos下看的是939KB),然后看到lute的源码中中对几乎1500+的emoji都做了映射处理,不知道这个是不是标准markdown规范中必须做的,在服务端或者客户端语言中体积大小可能不那么重要,但是个人愚见哈,虽然在当今网速下和流量套餐下这都不是问题,但是在web环境中相信多数人肯定还是更喜欢加载快、小而美的东西的。

而且就我个人愚见,这些emoji的映射在vditor中的好处,表现为可以直接使用:来触发emoji的hint,以及可能传输给server端的时候将原有的emoji可以替换成对应的asci字符以便存储在一些不支持emoji字符集编码的地方,但是个人感觉这种场景现在几乎没有了吧,而且即便是要替换字符也更适合在服务端去完成。再有就是里面1500+的emoji几乎多数的表情大部分人永远也用不上,输入起来也不直观,更多人的可能直接利用输入法直接输出emoji更方便。(而且emoji也没有那么好看,还因系统和字体而异,与其用全套的emoji相信更多人宁可自己扩展一套类似于QQ的表情表包出来)

所以这些emoji映射倒不如提取出来作为一个额外的扩展而不是直接在js核心包中,亦或者在lute出一个没有emoji映射功能的lute精简版。(单纯的编辑了一下vditor中打包的lute.min.js,删除所有的emoji映射后,在MacOS上显示的体积为873KB,少了足足有63KB,比得上一个小型的js类库了)

@88250
Copy link
Collaborator

88250 commented Jan 16, 2020

:trollface: 图片类的表情没有渲染是个 bug,稍后修复。

我觉得还是自带 Emoji 好些,等操作系统、输入法都支持完善了再去掉不迟。包大小的问题一直在优化,我已经尽力了 😂 也许过段时间会有所突破。

Lute 现在走的是 compile-to-js 方案,之前试过 WASM 方案,两者包大小几乎一样,但是 WASM 加载还稍微慢一些,并且 golang 那个编译器(TinyGo)问题太多,golang 本身对 WASM 支持也有限,所以暂时放弃 WASM 了。

关于扩展和插件方式现在暂时没有怎么考虑,理论上解析引擎 Lute 和前端 Vditor 是应该设计成插件式的,支持语法节点扩展、应用功能插件。但现在项目才起步,把内核构建稳定之后再考虑扩展性。

@88250 88250 self-assigned this Jan 16, 2020
@88250 88250 changed the title 所见即所得模式下自定义表情无法直接显示 所见即所得模式下图片类 Emoji 无法直接显示 Jan 16, 2020
@88250 88250 added this to the 2.1 milestone Jan 17, 2020
@88250 88250 assigned Vanessa219 and unassigned 88250 Jan 17, 2020
@88250
Copy link
Collaborator

88250 commented Jan 17, 2020

@Vanessa219 菜单上选择表情后没有调 Spin 接口。

@88250 88250 changed the title 所见即所得模式下图片类 Emoji 无法直接显示 菜单选择图片类 Emoji 无法直接显示 Jan 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants