本篇原文地址:https://bili33.top/2020/04/19/Valine-Customize/
不常上CSDN,有问题请到我的博客的对应文章下面的评论区留言或者直接跟我QQ沟通,QQ在我的个人网站的关于界面有
Valine在2020/4/21更新了v1.4.5,支持了自定义表情包,故Valine-Magic将不再提供修改的js,改为提供Valine的表情列表


在看本篇之前,请确保:

  • 你有一定的代码基础
  • 你能够看懂Python代码和JavaScript
  • 你精通Valine的使用

我们本篇要做的事情有两个

①加入自定义表情

②判断邮箱为QQ邮箱则显示QQ头像

③为修改UI文字提供思路

话不多说 让我们开始吧


加入自定义表情

首先,我们需要获得valine的js文件,这里直接访问Valine的CDN获取https://cdn.jsdelivr.net/npm/valine/dist/Valine.min.js

打开后是一个页面,我们直接全选复制,粘贴到一个新的js文件中

温馨提示:因为js中的字符数稍微(手动着重)有点多,所以说如果没有较为强劲的电脑可能无法很快做到文本格式化

首先我们需要修改的是Valine的表情CDN,如果不修改的话,你的表情链接前面会自动加上https://img.t.sinajs.cn/t4/appstyle/expression/ext/normal字段导致表情无法被读取

我们直接以//img.t.sinajs.cn作为关键词检索CDN,很快就得到了CDN的位置

我们将这里的CDN的内容直接删掉,留空

接着我们搜索valine自带的表情标签,而第一个的表情标签是smile,我这里就直接搜索smile,这样可以直接定位到表情列表的头部

接下来,我们需要上传自己的表情,并且按照这个格式制作一个表情列表

我个人的做法是:将表情包上传到Github仓库,通过jsdelivr来使用;通过Python脚本遍历当前目录下的所有文件,自动生成表情列表

上传就不必说了,直接用Git上传即可

生成列表生成脚本我是自己弄了一小段

import os
path = 'D:\xxx\BQB'  # 路径已屏蔽QAQ
def findAllFile(base):for root, ds, fs in os.walk(base):for f in fs:yield fdef main():base = './'linklist=[]num=1for i in findAllFile(base):linklist.append('custom{}: "https://cdn.jsdelivr.net/gh/GamerNoTitle/Picture-repo-v1@master/img/BQB/{}",'.format(num,i))num=num+1print(str(linklist).replace(',\', \'',', '))
if __name__ == '__main__':main()

这里通过os.walk遍历当前目录下的文件,并且将获取到的文件名通过字符串拼接的方式拼在一起,然后存入列表linklist,接着打印的时候将固定的字符串格式,', '给删除掉(因为是list对象,所以打印出来的时候有固定格式),接着就会给我生成表情列表啦!

接着将获取到的列表覆盖入Valine的表情列表,保存

在自己的网站引入Valine的CDN的时候引入自己的js文件即可

接着我们就会看到表情列表里面的自定义表情啦!

判断为QQ邮箱将头像设定为QQ头像

参考:https://blog.csdn.net/cungudafa/article/details/104638730

这里我们还是打开刚刚的js文件,直接搜索E.cdn+(0,s.default)(t.get("mail"))+E.params,会给我们定位到一个位置

我们找到下图中我鼠标所在的位置,回车换行

换行以后,加入以下内容

var qq_img = E.cdn+(0,s.default)(t.get("mail"))+E.params;
if (t.get("mail").indexOf("@qq.com") >= 0) {var prefix = t.get("mail").replace(/@.*/, "");//前缀var pattern = /^\d+$/g;  //正则表达式var result = prefix.match(pattern);//match 是匹配的意思if (result !== null) {qq_img = "//q1.qlogo.cn/g?b=qq&nk=" + prefix + "&s=100";}
}

然后回到我们刚刚搜索的地方,从'<img处开始,到后面的第一个>'修改为以下内容

'<img class="vimg" src="'+(qq_img)+'">'

保存即可,然后引入刚刚我们修改的JS,在评论时邮箱填入QQ邮箱,看看是不是有QQ头像了?

修改UI文字

我们修改UI文字其实非常简单,要修改的东西也是在这个js文件里面

我们随便搜索一个按钮显示的文字,我们就会发现,附近都是我们要修改的文字

我们只需要对这些文字进行修改即可,修改成啥样嘛?就看你自己啦!


题外话

啦啦啦!终于引入B站表情包啦!

新建了一个Github项目在这https://github.com/GamerNoTitle/Valine-Magic

以后新的表情包就丢在这里啦!更新日志也写在这里,你可以通过Issue或者PR提交新的表情包

有会修改ValineUI的大佬请联系我!我想做分类标签!!!

Valine魔改教程——添加自定义表情和QQ头像相关推荐

  1. handsome对应php文件,handsome主题魔改教程

    !> 魔改效果详见本站,CSS由 神代綺凜 原创编写,已获得作者转载授权. 魔改效果 有没有觉得很酷炫? 那么我们快搞起! 魔改教程 第一步 下载CSS [button icon="g ...

  2. 小米android系统分享,重温的手机分享 篇一:90hz高刷?45w快充?双扬声器?你不知道的酷安重制版小米9魔改教程...

    重温的手机分享 篇一:90hz高刷?45w快充?双扬声器?你不知道的酷安重制版小米9魔改教程 2021-05-14 14:47:30 6点赞 13收藏 10评论 大家上午好啊,我是重温,有幸能拿到这款 ...

  3. php qq头像程序,PHP教程:php获取QQ头像并显示的方法

    <PHP教程:php获取QQ头像并显示的方法>要点: 本文介绍了PHP教程:php获取QQ头像并显示的方法,希望对您有用.如果有疑问,可以联系我们. PHP实战最近看到博客留言的头像有点别 ...

  4. OneNav一为主题魔改教程(二):使用纯css增加网站Logo扫光效果--洞五洞洞幺

    今日主题: 使用纯css增加网站Logo扫光效果 声明:本篇有违"魔改"这个标题:本篇只为增加收录.并且复习使用纯css给logo加上扫光效果. 效果: 可以目测 洞五洞洞幺 导航 ...

  5. OneNav一为主题魔改教程(四):自定义网址内容页的Tag标签到任意位置--洞五洞洞幺

    今日主题: 自定义网址内容页的Tag标签到任意位置 声明:本篇有违"魔改"这个标题:修改之前做好笔记或备份. 在原WebStackPro的版本中, 内容页中的Tag标签块紧帖着简介 ...

  6. CentOS 6/7手动安装和魔改教程

    安装BBR 1.安装BBR内核 #CentOS 6系统 #导入ELRepo公钥 wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm --imp ...

  7. OneNav一为主题魔改教程(五):点赞后自动加入到首页“我的导航”--洞五洞洞幺

    今日主题: 点赞后自动加入到首页"我的导航" 声明:修改之前做好笔记或备份. 嫌"我的导航"没内容, 在网站中发现了常用的网站不能快速的到达. 所以我们来改进这 ...

  8. OneNav一为主题魔改教程(七):继续完善本地网址功能,重复的网址不让保存--洞五洞洞幺

    自定义网址的功能,刚一不留神, 我添加了几个重复相同的自定义网址, 看作者的源码,在addsite方法并没有判断是否重复添加的网址, 这是一个bug, 所以, 我们来加上判断,修复这个bug. 效果: ...

  9. OneNav一为主题魔改教程(三):给底部加上当前页面的消耗时间--洞五洞洞幺

    今日主题: 给底部加上当前页面的消耗时间.数据库查询数次 wordpress如何优化, 不论是首页.列表页.内容页,他们的加载时间是多少, 经历了什么,这些如果想要一目了然的话, 可以在网站的底部加上 ...

  10. OneNav一为主题魔改教程(一):优化后台新增网站时调用API却没有赋好值的BUG,以减少复制编辑工作量--一梦

    今日主题: 优化后台新增网站时ajax调用API后却没有赋好值的BUG,以减少复制编辑工作量 导航网站在刚建站时, 有大量的内容编辑工作, 要添加数千条网址内容, 为了保证洞五洞洞幺导航的独特性和可用 ...

最新文章

  1. Android WindowManager 解析与骗取 QQ 密码案例分析
  2. C++ Time类重载运算符
  3. asp.net用标签递归一颗树
  4. hibernate注解方式来处理映射关系
  5. 简单的mysql左链接_简单谈谈mysql左连接内连接
  6. mysql根据ID的顺序查找_求救:mysql 如何根据给定的 ID顺序查找结果?
  7. [USACO09OCT]热浪Heat Wave
  8. Java6和Java8在Windows上共存,(任意JDK共存,博主实现了789切换)
  9. 拓端tecdat|R语言混合正态分布极大似然估计和EM算法
  10. floyd算法求最短路径_算法题-蜜蜂采蜜最短路径
  11. 【1.Delphi基础】1.Delphi程序设计入门
  12. ​十大骨传导耳机品牌,骨传导耳机推荐跑步用
  13. 【foobar 2000】如何在手机、电脑上播放局域网内另一台电脑上存储的音乐?FTP服务器、UPnP/DLNA协议、构建Music server、创建音乐服务器
  14. 【Vue】Nodejs下载与安装
  15. 黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约
  16. php把数组作为函数参数传递,使用关联数组作为函数的参数《 PHP 基础 》
  17. 今日起禁止个人注册CN域名(每日关注2009.12.14)
  18. 聊一聊SEO(搜索引擎优化)
  19. 数字信号处理2-截止频率
  20. 自动驾驶寻找「商业闭环」

热门文章

  1. CSAPP第五章家庭作业(原书第二版)
  2. matlab导线平差程序,【求助】闭合导线简易平差Matlab代码需要大神帮忙
  3. ffmpeg java 实时视频流转码
  4. 面试中被问到“为什么从上一个单位离职”怎么回答
  5. 院校-美国:麻省理工学院(MIT)
  6. exe文件关联修复器
  7. 七彩虹显卡软件测试,显卡超频测试_七彩虹显卡_显卡评测-中关村在线
  8. 触发器引起的删除对象报错ORA-00604 ORA-20001的排查
  9. 4G模块ME909S-821调试记录
  10. 《opencv学习》Shi-Tomasi 角点检测