Enhancement: Move emoji short code to separate plugin
- 主要语言
- JavaScript
- 星标
- 31.5k
- 派生
- 5.8k
- 平均合并
- 9 天 8 小时
- 30 天内合并 PR
- 2
描述
👉 **Note:** This is a post-v5 feature request (see Milestone)
## Feature request
1. Remove emoji short code support from Docsify core bundle
2. Create a new emoji official plugin:
- Provide short code support (e.g., `:+1:` = :+1:)
- Provides ability to render native emoji characters or GitHub-style emoji images
#### Proposal
Significantly reduce the file size of the core Docsify library by removing emoji short code support and instead offering it as an official plugin.
- Docsify with emoji short code support: 164KB (minified)
- Docsify without emoji short code support: 94KB (minified)
Removing short code support (`/src/core/render/emoji-data.js`) provides a 53% reduction in the minified Docsify.js bundle size.
An official Docsify emoji plugin would provide both short code support (e.g., `:+1:` = :+1:) and the ability to render GitHub-style emoji images instead of OS-native emoji characters for those who want consistent emoji across all platforms (as Docsify v4 does today by default).
**IMPORTANT:** Removing short code support does *not* mean Docsify will be unable to render emoji without the plugin. This change only requires markdown authors to use their OS-native emoji picker to add emoji to their markdown documents instead of short codes. Those emoji will work as expected in Docsify, GitHub, and in other markdown applications, which arguably makes their markdown more portable since not all markdown environments support GitHub short codes.
For context...
Docsify's emoji short code support has been included in Docsify since v4 was released in 2017. This was a convenient way for those familiar with GitHub short codes to render emoji in their Docsify sites. More importantly, it was also the only way for Windows and Ubuntu users to easily add emoji to their Docsify and GitHub-flavored markdown because those operating systems lacked a native emoji picker:
- MacOS emoji picker: released ~2013
- Windows emoji picker: released ~2020
- Ubuntu emoji picker: released ~2018
Thankfully, all major operating systems now support native emoji pickers which are easily accessible via a keyboard shortcut:
- Mac: Command + Control + Spacebar
- Windows: Win + .
- Ubuntu: Control + .
These native emoji pickers reduce--but do not eliminate--the need for emoji short codes because users can now easily add native emoji characters to their markdown documents.
贡献指南
调研方向
从 /src/core/render/emoji-data.js 开始,了解必须移出核心 bundle 的 emoji 短代码支持。然后跟踪现有的插件组织方式和构建输出;当一个官方插件提供短代码以及原生或 GitHub 风格的渲染、核心 bundle 不再包含该支持,并按提议完成精简时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- tooling
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100