From c369887d2b8c25dd78c7124f01172ad14f70a2e1 Mon Sep 17 00:00:00 2001 From: Jiiks Date: Tue, 15 Dec 2015 08:32:12 +0200 Subject: [PATCH] Themeloader --- splice | 91 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/splice b/splice index bc8d9b3..4b881fc 100644 --- a/splice +++ b/splice @@ -3,8 +3,7 @@ _dataPath += "/BetterDiscord/"; mainWindow.webContents.on('dom-ready', function() { - var fs = require('fs'); - + var fs = require('fs'); if(!fs.existsSync(_dataPath)) { console.log('BetterDiscord: Creating BD Dir'); fs.mkdirSync(_dataPath); @@ -22,49 +21,51 @@ - fs.readdir(_dataPath + "plugins/",function(err,files) { - if (err) { console.log(err); return; } - mainWindow.webContents.executeJavaScript('var bdplugins = {};'); - files.forEach(function(fileName){ - var plugin = fs.readFileSync(_dataPath + "plugins/" + fileName,'utf8'); - var meta = plugin.split('\n')[0]; - if(meta.indexOf('META') < 0) { - console.log('BetterDiscord: ERROR[Plugin META not found in file: '+fileName+']'); - return; - } - var pluginVar = meta.substring(meta.lastIndexOf('//META')+6, meta.lastIndexOf('*//')); - var parse = JSON.parse(pluginVar); - var pluginName = parse['name']; - console.log('BetterDiscord: Loading Plugin: ' + pluginName); - mainWindow.webContents.executeJavaScript(plugin); - mainWindow.webContents.executeJavaScript('(function() { var plugin = new '+pluginName+'(); bdplugins[plugin.getName()] = { "plugin": plugin, "enabled": false } })();') - }); - }); - - - fs.readdir(_dataPath + 'themes/', function(err, files) { - if (err) { console.log(err); return; } - mainWindow.webContents.executeJavaScript('var bdthemes = {};'); - files.forEach(function(fileName) { - var theme = fs.readFileSync(_dataPath + 'themes/' + fileName, 'utf8'); - var split = theme.split('\n'); - var meta = split[0]; - if(meta.indexOf('META') < 0) { - console.log('BetterDiscord: ERROR[Theme META not found in file: '+fileName+']'); - return; - } - var themeVar = meta.substring(meta.lastIndexOf('//META')+6, meta.lastIndexOf('*//')); - var parse = JSON.parse(themeVar); - var themeName = parse['name']; - console.log('BetterDiscord: Loading Theme: ' + themeName); - split.splice(0, 1); - theme = split.join('\n'); - theme = theme.replace(/(\r\n|\n|\r)/gm,''); - theme = theme.replace(/\s/g, ''); - mainWindow.webContents.executeJavaScript('var theme' + themeName + ' = "' + escape(theme) + '";'); - mainWindow.webContents.executeJavaScript('(function() { bdthemes[theme'+themeName+'] = false })();'); - }); - }); + fs.readdir(_dataPath + "plugins/",function(err,files) { + if (err) { console.log(err); return; } + mainWindow.webContents.executeJavaScript('var bdplugins = {};'); + files.forEach(function(fileName){ + var plugin = fs.readFileSync(_dataPath + "plugins/" + fileName,'utf8'); + var meta = plugin.split('\n')[0]; + if(meta.indexOf('META') < 0) { + console.log('BetterDiscord: ERROR[Plugin META not found in file: '+fileName+']'); + return; + } + var pluginVar = meta.substring(meta.lastIndexOf('//META')+6, meta.lastIndexOf('*//')); + var parse = JSON.parse(pluginVar); + var pluginName = parse['name']; + console.log('BetterDiscord: Loading Plugin: ' + pluginName); + mainWindow.webContents.executeJavaScript(plugin); + mainWindow.webContents.executeJavaScript('(function() { var plugin = new '+pluginName+'(); bdplugins[plugin.getName()] = { "plugin": plugin, "enabled": false } })();') + }); + }); + + + fs.readdir(_dataPath + 'themes/', function(err, files) { + if (err) { console.log(err); return; } + mainWindow.webContents.executeJavaScript('var bdthemes = {};'); + files.forEach(function(fileName) { + var theme = fs.readFileSync(_dataPath + 'themes/' + fileName, 'utf8'); + var split = theme.split('\n'); + var meta = split[0]; + if(meta.indexOf('META') < 0) { + console.log('BetterDiscord: ERROR[Theme META not found in file: '+fileName+']'); + return; + } + var themeVar = meta.substring(meta.lastIndexOf('//META')+6, meta.lastIndexOf('*//')); + var parse = JSON.parse(themeVar); + var themeName = parse['name']; + var themeAuthor = parse['author']; + var themeDescription = parse['description']; + var themeVersion = parse['version']; + console.log('BetterDiscord: Loading Theme: ' + themeName); + split.splice(0, 1); + theme = split.join('\n'); + theme = theme.replace(/(\r\n|\n|\r)/gm,''); + theme = theme.replace(/\s/g, ''); + mainWindow.webContents.executeJavaScript('(function() { bdthemes["'+themeName+'"] = { "enabled": false, "css": "'+escape(theme)+'", "description": "'+themeDescription+'", "author":"'+themeAuthor+'", "version":"'+themeVersion+'" } })();'); + }); + }); }); _betterDiscord = new _betterDiscord.BetterDiscord(mainWindow);