自动生成OwO.json,快速扩展OwO表情

最近给博客增加了船新的雀魂表情包,由于从导出表情到重新配置OwO.json都是完全由自己来完成,不像上次扩展贴吧表情的时候有现成的东西可以直接拿来用,所以记录一下以便之后需要时留作参考。

并没有尝试一组表情中能否多种格式图片并存,这次统一采用了png格式,避免给自己找锅。

本次新增的一组表情共计151张,需要在OwO.json中对它们一一进行声明。手写是不太可能的,因为是大量的重复工作,懒惰如我显然是宁可写一个Generator也不会去一条条加。gen.py的内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/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中的这个表情包的声明。

这里生成的并不是完整的json文件,需要手动将其插入完整的OwO.json中。

如果执行正确,将会生成形如下方代码块中所示的一段文本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
"雀魂": { "name": "majsoul", "type": "image", "container": [ { "icon": "001", "text": "001" }, { "icon": "002", "text": "002" } ] }

为方便起见,我只列出了PICTURE_COUNT=2的情况。

插入位置如下图所示,需要视情况在后方补一个半角逗号。

插入位置举例

应用json检测工具检测通过后即可部署。


由于上述代码是针对Python3编写的,考虑到有时并不方便获取Python3执行环境,补充一个JavaScript版本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
(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,"&amp;"); s=s.replace(/</g,"&lt;"); s=s.replace(/>/g,"&gt;"); s=s.replace(/ /g,"&nbsp;"); s=s.replace(/\'/g,"&#39;"); s=s.replace(/\"/g,"&quot;"); 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选项卡中粘贴并执行上述代码即可生成在网页上,复制后插入即可。

JS版本

最后修改:2019 年 09 月 26 日 04 : 14 PM
欢迎投食喵 ~

发表评论

OwO
  • OωO
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ°ο°)ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ"(´っω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • (。•ˇ‸ˇ•。)
  • 颜文字
  • 蛆音娘
  • 雀魂
  • 洛天依
  • 2233娘
  • 小A和小B

4 条评论

  1. 没有楼的楼长

    您好,很好奇您的表情是怎么做到规范格式的,就是::表情名::这种,写了好久一直搞不出来(ó﹏ò。)

  2. 蝉時雨

  3. Dawn

  4. 灵曦