walinejs / waline

💬 A Simple, Safe Comment System
https://waline.js.org/en/
GNU General Public License v2.0
2.19k stars 379 forks source link

[Feature] Muti emoji tab and emoji config link support #270

Closed MCSeekeri closed 3 years ago

MCSeekeri commented 3 years ago

Waline的自定义表情确实好...但有些小问题。 如果要添加很多表情,一个一个写对应关系相当累人... 而MiniValine在这方面的处理不错,可以直接引用目录,就可以根据json文件加载目录里所有的表情。 所以希望Waline也能有类似的批量添加表情方案...

Mister-Hope commented 3 years ago

I am not getting what you want, what's the REAL difference between doing in the folder full of pictures:

Addtional: this can be a breaking change for those who migrate from valine with emoji options unchanged.


Translation:

我没有get到您的点,在一个图片文件夹中进行以下操作真的有区别么:

另外:对于那些从Valine迁移而表情符号选项保持不变的人来说,这可能是一个破坏式的改变。

MCSeekeri commented 3 years ago

hmmmmmm 那么能否提供一个方便的插入大量表情的方式啊...我不怎么会写JS所以只会手动插入...

MCSeekeri commented 3 years ago

让我稍微整理下思路...

我目前在使用MiniValine,但我打算迁移到Waline,并且保持原本的表情包不变。 MiniValine的引用相对来讲新手友好些,而Waline需要自己建立映射。

而我的问题就是...我卡在建立映射这一步上了,我不知道怎么自动生成对应映射...而且我搜了一圈似乎并没有自动化脚本之类的工具... 所以我希望Waline能够加入读取json的功能... 不过如果能出个扫描脚本之类的其实也行(

另外一点个人意见...我觉得如果要插入上百张表情包的话...全写在HTML里似乎有点太占地方...

Mister-Hope commented 3 years ago

hmmmmmm 那么能否提供一个方便的插入大量表情的方式啊...我不怎么会写JS所以只会手动插入...

原则上你把json文件直接粘进去就行了。json在js里也是合法的对象。

Mister-Hope commented 3 years ago

让我稍微整理下思路...

我目前在使用MiniValine,但我打算迁移到Waline,并且保持原本的表情包不变。 MiniValine的引用相对来讲新手友好些,而Waline需要自己建立映射。

而我的问题就是...我卡在建立映射这一步上了,我不知道怎么自动生成对应映射...而且我搜了一圈似乎并没有自动化脚本之类的工具... 所以我希望Waline能够加入读取json的功能... 不过如果能出个扫描脚本之类的其实也行(

另外一点个人意见...我觉得如果要插入上百张表情包的话...全写在HTML里似乎有点太占地方...

因为这是一个和valine不兼容的选项,所以还要考虑一下。不过我们可能会在未来版本支持多选项卡的表情。

MCSeekeri commented 3 years ago

其实也可以加个配置项...比如emojitype:json之类( 即保持默认是Valine格式不变,如果需要可以切换到MiniValine风格的json

总之期待大佬们的commit

MHuiG commented 3 years ago

I am not getting what you want, what's the REAL difference between doing in the folder full of pictures:

  • creating a json file describing pictures and their emoji name then set emoticonUrl with this folder
  • create a js object describe pictures and their emoji name in options and point emojiCDN to this folder?

Addtional: this can be a breaking change for those who migrate from valine with emoji options unchanged.

Translation:

我没有get到您的点,在一个图片文件夹中进行以下操作真的有区别么:

  • 在文件夹中创建一个描述图片及其表情符号名称的json文件,然后设置emoticonUrl为此文件夹 (MIniValine)
  • 在选项中创建一个描述图片及其表情符号名称的js对象,并将 emojiCDN 指向该文件夹 (waline)

另外:对于那些从Valine迁移而表情符号选项保持不变的人来说,这可能是一个破坏式的改变。

@Mister-Hope 这其实是一个历史遗留问题,从时间线上来讲,MIniValine 实现 多表情包的tab分类 远早于 Valine 实现的使用emojiMaps实现的表情包功能,Valine当时的版本是只有emoji不支持图片表情的,所以 MIniValine 在实现多表情包的tab分类时根本不需要做什么兼容,Valine 之后使用emojiMaps实现的表情包功能支持了图片表情,所以 MIniValine 和 Valine在表情包实现和配置上是两种完全不同的方案。 MIniValine 根本不需要兼容一个在当时不存在的功能。因为valine不支持表情包分类所以MIniValine根本就不需要兼容什么emojiMaps实现方式。

waline 是在 Valine 使用emojiMaps实现的表情包功能 之后开发的,所以waline沿用了 Valine 使用 emojiMaps 实现的表情包功能的这些代码逻辑片段。但是大家都习惯了emojiMaps的配置方法,如果waline弃用emojiMaps实现方式使用或者兼容类似MIniValine的方法,那就确实是一个破坏式的改变。

另外我说一下在一个图片文件夹中进行以下操作的区别:

  1. 可以提供生成脚本生成json文件并持久化保存。
  2. 可以分享你的表情包链接。
  3. 配置简单,只需要填写链接即可。
Mister-Hope commented 3 years ago

PR is welcomed, I am busy developing vuepress plugins and themes now.

I may start doing this at next week.

Mister-Hope commented 3 years ago

added in V1 beta