01
02
开发流程
package.js
{
"name": "Super Saiyan",
"publisher": "c1o2a3",
"description": "超级赛亚人",
"version": "0.1.00",
"engines": "1.7.192",
"icon": "src/logo.png",
"initEvents": "init",
"main": "./src/extension.js",
"contributes": {
},
"scripts": {},
"devDependencies": {},
"dependencies": {}
}
2.2 处理图片
kobe.png
是下载主题的预览图left-nav-bg-kobe.png
是左侧的菜单的背景图right-bg-kobe.png
是右侧的背景图logo.png
是下载的时候的logo图标
kobe.png
由图片可以看出,做了半透明处理,并且把背景都扣了:
找张心仪的图片也扣掉背景啥的再修改一下合适的图片大小,复制图层到原图(left-nav-bg-kobe.png)里面然后根据自己的喜好修改透明度:
其他图片与此类似,最后删掉原科比主题的图片。
2.3 修改配色
修改extension.js
function activate(content) {
var fs = require('fs');
var path = require('path');
//左侧菜单背景图
let leftNavBgImg = path.join(__dirname, "left-nav-bg-test.png").replace(new RegExp(/(\)/g), '/');
//右侧背景图,根据自己的修改
let rightBgImg = path.join(__dirname, "right-bg-goku.png").replace(new RegExp(/(\)/g), '/');
goby.registerCommand('init', function (content) {
// 主题名字
let name = "test";
// 主题配置
let config = {
//主配色(包括图标,logo颜色)
"main": "#c81c1c",
//以下是配置字体的颜色
"primaryFont": "rgba(0, 0, 0, 0.87)",
"secondaryFont": "rgba(0, 0, 0, 0.6)",
"level3Font": "rgba(0, 0, 0, 0.34)",
"primaryBorder": "rgba(0, 0, 0, 0.16)",
"secondaryBorder": "rgba(0, 0, 0, 0.09)",
//右侧背景的配色
"primaryBackground": "#f3eac3",
//扩展程序、插件管理那些背景的配色
"secondaryBackground": "#f8eaaf",
"lv3Background": "#f3eac3",
"lv4Background": "rgba(0, 0, 0, 0.12)",
"navBackground": "#f3eac3",
"navFont": "rgba(0, 0, 0, 0.6)",
"navHoverFont": "#000",
"scanResTopMainFont": "#000",
"scanResTopSubFont": "rgba(0, 0, 0, 0.3)",
"scanResTopIcon": "rgba(0, 0, 0, 0.06)",
"navOtherFont": "rgba(0, 0, 0, 0.7)",
"primaryIcon": "rgba(0, 0, 0, 0.2)",
"chartColors": [
"rgba(0, 0, 0, 1)",
"rgba(0, 0, 0, 0.6)",
"rgba(0, 0, 0, 0.4)",
"rgba(0, 0, 0, 0.2)",
"rgba(0, 0, 0, 0.1)"
],
"leftNavBgImg": "url("+leftNavBgImg+")",
"rightBgImg": "url("+rightBgImg+")",
//菜单背景色
"navSelectBackground": "#c81c1c",
"entranceImg": __dirname+"/goku.png"
}
let userConfigJson = require(rootPathData + '/config/config.json');
if (!userConfigJson.theme) {
userConfigJson.theme = {};
}
userConfigJson.theme[name] = config;
userConfigJson.curTheme = name;
setTheme(config);
let mergeConfigJson = JSON.stringify(userConfigJson, null, 6);
fs.writeFileSync(rootPathData + '/config/config.json', mergeConfigJson);
});
}
exports.activate = activate;
config.json
文件找到theme字段,可以发现,安装后的主题都往这里面写了一些数据进去。extension.js
的配置吗,复制一下字段,改一下使其变成自己主题(图片文件用的是绝对路径,也改成自己主题的),嘿嘿这不就是传说中的手动安装吗? 03
本人是老龙珠迷了,小时候买了好几本的漫画。所以动动手尝试弄了一下主题。最喜欢打架从来没有赢过的逼王——贝吉塔
整个开发流程下来,发现其实主题只需要复制粘贴,扣扣图片,再改改颜色的参数就可以了。Goby用着属实舒服,我还有尝试过夏目主题,下次再分享出来吧~
插件任务领取:
https://github.com/gobysec/GobyExtension/projects
插件开发交流:
关注微信公众号gobysec,回复“插件”
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论