制作了一个简单的表情包和静态网站生成器
为了能更加方便地在Artalk评论系统引入表情包
Memes Json Generator
这是什么?
一个基于Nunjucks模板引擎的表情包Json文件生成器,Github仓库地址
生成的Json文件可用于Artalk、Twikoo等评论系统,增加发送表情包功能
另外,运行app.js
后还会 自动生成 用于展示表情包的静态网站,相关文件在/static
中
为什么?
为了减少重复工作
最近在个人博客中引入了Artalk
评论系统,该系统支持自定义表情包,可以在发送评论时使用。
Artalk
以特定的Json
格式导入表情包,例如:
1 | emoticons: [{ |
为了减少工作量,我编写了这个简单的生成器,可以一键生成受支持的Json
文件
如何使用?
第零步,克隆下来本仓库,执行npm i
安装依赖
第一步,将需要引入的一组表情包放在imgs
文件夹下。示例:imgs/huaji/*
第二步,在配置文件config.js中增加引入的表情包信息
name: 表情包的名字
path: 相对于
imgs
的路径,建议设为拼音或者英文缩写,例如:imgs/huajibaseUrl: 表情包的url链接前缀,例如:
https://meme-repo.pages.dev
第三步,执行node src/app.js
,会在/memes/
文件下生成Json
文件
也可使用
npm run gen
命令
输出:
1 | ./memes |
如果你希望生成用于展示表情包的静态网站,可以在配置文件config.js
中开启: "isGenStatic": "true
执行node src/app.js
后,会在static
目录下生成网站文件
1 | ./static |
然后直接将static
文件夹部署到服务器,或者Netlify, Cloudflare Pages, Vercel, Weblify, Aliyun OSS等托管服务上即可
首页效果
具体表情包页面
项目结构
该项目结构比较简单,主要由一个模板目录、一个代码目录和一个配置文件组成
注意:本项目展示用的表情包来自于@2X-ercha/Twikoo-Magic
1 | ./src |
配置文件
baseUrl
中填写表情包存储的「根路径」
如果将/static
文件夹上传到Cloudflare pages
,域名为https://meme-repo.pages.dev
,则
"baseUrl": "https://meme-repo.pages.dev"
而相应滑稽表情包的存储路径为 https://meme-repo.pages.dev/memes/huaji/xxx.png
1 | module.exports = { |
进阶
自定义模板
本项目基于Nunjucks模板引擎开发,具体使用参照官方文档,简单易上手
Ps: Hexo的Next主题就是基于Nunjucks编写的
用Artalk
官方支持的格式举例:
1 | { |
njk
模板长这样
1 | { |
njk
模板有四个传入参数:
memeName
:表情包名称imageUrlList
:该组表情包下的「图片名字列表」(带拓展名)baseUrl
:图片的url链接前缀memePath
:表情包存储的路径。例如,滑稽表情包为huaji