最近给博客增加了船新的雀魂表情包,由于从导出表情到重新配置OwO.json
都是完全由自己来完成,不像上次扩展贴吧表情的时候有现成的东西可以直接拿来用,所以记录一下以便之后需要时留作参考。
并没有尝试一组表情中能否多种格式图片并存,这次统一采用了png
格式,避免给自己找锅。
本次新增的一组表情共计151张,需要在OwO.json
中对它们一一进行声明。手写是不太可能的,因为是大量的重复工作,懒惰如我显然是宁可写一个Generator
也不会去一条条加。gen.py
的内容如下:
#!/usr/bin/python3
OWO_NAME='雀魂'
OWO_SLUG='majsoul'
PICTURE_COUNT=151
f=open("OwO.json","w",encoding='utf-8')
f.write(''' "%s": {
"name": "%s",
"type": "image",
"container": [
'''%(OWO_NAME,OWO_SLUG))
for i in range(1,PICTURE_COUNT+1):
f.write(''' {
"icon": "%03d",
"text": "%03d"
}'''%(i,i))
if i<PICTURE_COUNT:
f.write(',')
f.write('\n')
f.write(''' ]
}''')
f.close()
其中OWO_NAME
为这组表情的显示名称,OWO_SLUG
为表情的内部别名,PICTURE_COUNT
为图片总数。若需要生成其他表情包声明,改动这些值即可。
执行后将在当前目录下生成一个OwO.json
,内容是需要插入到完整OwO.json
中的这个表情包的声明。
如果执行正确,将会生成形如下方代码块中所示的一段文本:
"雀魂": {
"name": "majsoul",
"type": "image",
"container": [
{
"icon": "001",
"text": "001"
},
{
"icon": "002",
"text": "002"
}
]
}
为方便起见,我只列出了PICTURE_COUNT=2
的情况。
插入位置如下图所示,需要视情况在后方补一个半角逗号。
应用json检测工具检测通过后即可部署。
由于上述代码是针对Python3
编写的,考虑到有时并不方便获取Python3
执行环境,补充一个JavaScript
版本:
(function(){
'use strict';
const OWO_NAME="雀魂";
const OWO_SLUG="majsoul";
const PICTURE_COUNT=151;
const html_encode=str=>{
let s="";
if (str.length==0)return"";
s=str.replace(/&/g,"&");
s=s.replace(/</g,"<");
s=s.replace(/>/g,">");
s=s.replace(/ /g," ");
s=s.replace(/\'/g,"'");
s=s.replace(/\"/g,""");
s=s.replace(/\n/g,"<br/>");
return s;
}
let output=` "${OWO_NAME}": {
"name": "${OWO_SLUG}",
"type": "image",
"container": [
`;
for(let i=1,num;i<=PICTURE_COUNT;i++){
num=(Array(3).join('0')+i).slice(-3);
output+=` {
"icon": "${num}",
"text": "${num}"
}`;
if(i<PICTURE_COUNT)output+=',';
output+='\n';
}
output+=` ]
}`;
document.write(`<code>${html_encode(output)}</code>`);
})();
在浏览器中新建标签页,按下F12
键,在开发人员工具的Console
选项卡中粘贴并执行上述代码即可生成在网页上,复制后插入即可。
版权声明:本文是原创文章,版权归 无限UCW 所有。
本文链接:https://ucw.moe/archives/owojson-generator.html
本站所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由地转载和修改,但请务必注明文章来源并且不可用于商业目的。
您好,很好奇您的表情是怎么做到规范格式的,就是::表情名::这种,写了好久一直搞不出来(ó﹏ò。)