我终于做出了一个能看的插件——!整理一下发到github!:-cmx-01-:
- 重构了标签替换逻辑,现在只有emojilist里的内容会被替换成表情,可以用行内代码框来演示标签了 :-cmx-elpt-: 举例:
:-emojitag-:
:-cmx-01-:
,如果代码框里的内容是emojilist上的内容则依然会被转换成表情对象 - 将emoji生效的范围从
tagname=P
变更为id="posts"
,现在可以在<li>
和<center>
中使用emoji了 :-cmx-01-: - 删掉了生成的emoji span中的空格,可以自行选择emoji拼合效果或者手动输入空格进行间隔 :-cmx-05-:
- 更改表情元素的对齐方式为
text-bottom
,我终于不用和行距斗智斗勇了【
.+†+.
仍然存在的问题
- 首先是页面加载速度显著变慢,这个我也没什么好办法……不过暂时还在可以忍受的范围之内吧
- 评论区依然不能使用自定义emoji,使用id=comments获取元素时报错,当然也可能是valine的评论区是用JS导入的,两个脚本的先后顺序不对所以无法获取评论框
- 在标题元素(包括markdown正文内的标题)中使用emoji的时候会出现不可预料的错误……包括但不限于不生成内容 or 生成奇怪的链接,暂时解决不了,所以标题就严肃一点不要加表情了吧【
- 使用JS更改background-image失败,因为现在的emoji span每个ID对应的是复数的元素,所以用JS处理背景的时候无论如何都会报错……挨个遍历的话整个程序的循环时间大概会增加20倍,还是一行一行写CSS吧【
笔记
fomm搬家之后都无人回答我的JS脑残问题了 :-cmx-02-: 还好馒头也会JS!!!感恩的心感谢有你【
JS数组
被馒头吐槽了一波……原来我以前写的json都是JS啊 :-cmx-05-:
所以直接把emojilist放进主JS文件了,但是不知道为什么在浏览器里查看source的时候还是会有一个emojilist.json存在,不管怎么取消引用或者hexo clean都没用,我惊呆了。
格式如下↓
1 | emojilist = [ |
直接使用emojilist[0]
等编号就可以返回emoji名称。我把这个列表直接放进json里然后读取出来全是空白的……以为是编码出了问题我还折腾了好久,心好累 :-cmx-knee-:
带变量的正则
格式跟js的对象创建【?】差不多↓
1 | var emojiRE = new RegExp(':-' + emojilist[num] + '-:', 'gi'); |
逗号后面的g
是全局替换,i
是忽略大小写。
果然能看懂代码之后我的笔记就越写越简单了_(:з」∠)_
那么接下来的目标是把hexo的归档页面做成日历形状一格一格的!这么翻效率太低下了【醒醒是你话太多好吗
还有更改一下分类界面的生成逻辑,现在的这个看着太难受了,在手机上无论如何都会飞出去一块(╯°Д°)╯︵┴┴