From d261f1d056aa0649f473442e724c2c0cbba1c7c5 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Mon, 11 Apr 2016 17:25:23 -0700 Subject: [PATCH] Remove fake grunt from templates. --- src/Archive/Redirect.coffee | 2 +- src/General/BuildTest.coffee | 2 +- src/General/Config.coffee | 4 +- src/General/Main.coffee | 2 +- src/Miscellaneous/Banner.coffee | 2 +- src/Miscellaneous/Keybinds.coffee | 2 +- src/Monitoring/Favicon.coffee | 76 ++++++++++++++--------------- src/Monitoring/ThreadUpdater.coffee | 2 +- src/Monitoring/Unread.coffee | 2 +- src/classes/Post.coffee | 2 +- src/css/font-awesome.css | 6 +-- src/css/style.css | 4 +- src/meta/jshint.json | 2 +- src/meta/metadata.js | 2 +- tools/templates.coffee | 18 +++---- 15 files changed, 61 insertions(+), 67 deletions(-) diff --git a/src/Archive/Redirect.coffee b/src/Archive/Redirect.coffee index fe99aa310..4bafec4e8 100644 --- a/src/Archive/Redirect.coffee +++ b/src/Archive/Redirect.coffee @@ -27,7 +27,7 @@ Redirect = Redirect.data = o - archives: `<%= JSON.stringify(grunt.file.readJSON('src/Archive/archives.json')) %>` + archives: `<%= JSON.stringify(readJSON('src/Archive/archives.json')) %>` to: (dest, data) -> archive = (if dest in ['search', 'board'] then Redirect.data.thread else Redirect.data[dest])[data.boardID] diff --git a/src/General/BuildTest.coffee b/src/General/BuildTest.coffee index 4fb1e7957..f088106ca 100644 --- a/src/General/BuildTest.coffee +++ b/src/General/BuildTest.coffee @@ -1,4 +1,4 @@ -<% if (grunt.file.readJSON('.tests_enabled')) { %> +<% if (readJSON('.tests_enabled')) { %> BuildTest = init: -> return if !Conf['Menu'] or g.VIEW not in ['index', 'thread'] diff --git a/src/General/Config.coffee b/src/General/Config.coffee index f2977e294..9575e749b 100644 --- a/src/General/Config.coffee +++ b/src/General/Config.coffee @@ -728,10 +728,10 @@ Config = # "View Same" in archives: #https://archive.4plebs.org/_/search/image/%sMD5/;text:View same on 4plebs #https://archive.4plebs.org/%board/search/image/%sMD5/;text:View same on 4plebs /%board/;boards:<%= - grunt.file.readJSON('src/Archive/archives.json').filter(function(x) {return x.uid === 3})[0].files.join(',') + readJSON('src/Archive/archives.json').filter(function(x) {return x.uid === 3})[0].files.join(',') %> #https://rbt.asia/%board/image/%sMD5;text:View same on RBT /%board/;boards:<%= - grunt.file.readJSON('src/Archive/archives.json').filter(function(x) {return x.uid === 8})[0].files.join(',') + readJSON('src/Archive/archives.json').filter(function(x) {return x.uid === 8})[0].files.join(',') %> """ diff --git a/src/General/Main.coffee b/src/General/Main.coffee index a6052b506..44aef4c32 100644 --- a/src/General/Main.coffee +++ b/src/General/Main.coffee @@ -469,7 +469,7 @@ Main = ['Banner', Banner] ['Flash Features', Flash] ['Reply Pruning', ReplyPruning] - <% if (grunt.file.readJSON('.tests_enabled')) { %> + <% if (readJSON('.tests_enabled')) { %> ['Build Test', BuildTest] <% } %> ] diff --git a/src/Miscellaneous/Banner.coffee b/src/Miscellaneous/Banner.coffee index ff4520eed..3bfbf7022 100644 --- a/src/Miscellaneous/Banner.coffee +++ b/src/Miscellaneous/Banner.coffee @@ -1,5 +1,5 @@ Banner = - banners: `<%= JSON.stringify(grunt.file.readJSON('src/Miscellaneous/banners.json')) %>` + banners: `<%= JSON.stringify(readJSON('src/Miscellaneous/banners.json')) %>` init: -> if Conf['Custom Board Titles'] diff --git a/src/Miscellaneous/Keybinds.coffee b/src/Miscellaneous/Keybinds.coffee index 63518416b..8da4b80e5 100644 --- a/src/Miscellaneous/Keybinds.coffee +++ b/src/Miscellaneous/Keybinds.coffee @@ -192,7 +192,7 @@ Keybinds = when Conf['Next Post Quoting You'] return unless threadRoot and QuoteYou.db QuoteYou.cb.seek 'following' - <% if (grunt.file.readJSON('.tests_enabled')) { %> + <% if (readJSON('.tests_enabled')) { %> when 't' return unless threadRoot BuildTest.testAll() diff --git a/src/Monitoring/Favicon.coffee b/src/Monitoring/Favicon.coffee index 48e32fa65..34886e467 100644 --- a/src/Monitoring/Favicon.coffee +++ b/src/Monitoring/Favicon.coffee @@ -12,52 +12,52 @@ Favicon = switch: -> items = { ferongr: [ - '<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadDead.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadDeadY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadSFWY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadNSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadNSFWY.png", {encoding: "base64"}) %>' + '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadDead.png") %>' + '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadDeadY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadSFWY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadNSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadNSFWY.png") %>' ] 'xat-': [ - '<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadDead.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadDeadY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadSFWY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadNSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadNSFWY.png", {encoding: "base64"}) %>' + '<%= readBase64("src/Monitoring/Favicon/xat-/unreadDead.png") %>' + '<%= readBase64("src/Monitoring/Favicon/xat-/unreadDeadY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/xat-/unreadSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/xat-/unreadSFWY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/xat-/unreadNSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/xat-/unreadNSFWY.png") %>' ] Mayhem: [ - '<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadDead.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadDeadY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadSFWY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadNSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadNSFWY.png", {encoding: "base64"}) %>' + '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadDead.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadDeadY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadSFWY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadNSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadNSFWY.png") %>' ] '4chanJS': [ - '<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadDead.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadDeadY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadSFWY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadNSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadNSFWY.png", {encoding: "base64"}) %>' + '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadDead.png") %>' + '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadDeadY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadSFWY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadNSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadNSFWY.png") %>' ] Original: [ - '<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadDead.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadDeadY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadSFWY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadNSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadNSFWY.png", {encoding: "base64"}) %>' + '<%= readBase64("src/Monitoring/Favicon/Original/unreadDead.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Original/unreadDeadY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Original/unreadSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Original/unreadSFWY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Original/unreadNSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Original/unreadNSFWY.png") %>' ] 'Metro': [ - '<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadDead.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadDeadY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadSFWY.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadNSFW.png", {encoding: "base64"}) %>' - '<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadNSFWY.png", {encoding: "base64"}) %>' + '<%= readBase64("src/Monitoring/Favicon/Metro/unreadDead.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Metro/unreadDeadY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Metro/unreadSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Metro/unreadSFWY.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Metro/unreadNSFW.png") %>' + '<%= readBase64("src/Monitoring/Favicon/Metro/unreadNSFWY.png") %>' ] }[Conf['favicon']] @@ -78,5 +78,5 @@ Favicon = @unread = @unreadNSFW @unreadY = @unreadNSFWY - dead: 'data:image/gif;base64,<%= grunt.file.read("src/Monitoring/Favicon/dead.gif", {encoding: "base64"}) %>' - logo: 'data:image/png;base64,<%= grunt.file.read("src/meta/icon128.png", {encoding: "base64"}) %>' + dead: 'data:image/gif;base64,<%= readBase64("src/Monitoring/Favicon/dead.gif") %>' + logo: 'data:image/png;base64,<%= readBase64("src/meta/icon128.png") %>' diff --git a/src/Monitoring/ThreadUpdater.coffee b/src/Monitoring/ThreadUpdater.coffee index 1625c4da3..85965e55f 100644 --- a/src/Monitoring/ThreadUpdater.coffee +++ b/src/Monitoring/ThreadUpdater.coffee @@ -87,7 +87,7 @@ ThreadUpdater = http://freesound.org/people/pierrecartoons1979/sounds/90112/ cc-by-nc-3.0 ### - beep: 'data:audio/wav;base64,<%= grunt.file.read("src/Monitoring/beep.wav", {encoding: "base64"}) %>' + beep: 'data:audio/wav;base64,<%= readBase64("src/Monitoring/beep.wav") %>' playBeep: -> {audio} = ThreadUpdater diff --git a/src/Monitoring/Unread.coffee b/src/Monitoring/Unread.coffee index 575667b54..616dee4fe 100644 --- a/src/Monitoring/Unread.coffee +++ b/src/Monitoring/Unread.coffee @@ -28,7 +28,7 @@ Unread = name: 'Unread' cb: @addPost - <% if (grunt.file.readJSON('.tests_enabled')) { %> + <% if (readJSON('.tests_enabled')) { %> testLink = $.el 'a', textContent: 'Test Post Order' $.on testLink, 'click', -> diff --git a/src/classes/Post.coffee b/src/classes/Post.coffee index 6a2d5f96a..51455a919 100644 --- a/src/classes/Post.coffee +++ b/src/classes/Post.coffee @@ -3,7 +3,7 @@ class Post toString: -> @ID constructor: (root, @thread, @board) -> - <% if (grunt.file.readJSON('.tests_enabled')) { %> + <% if (readJSON('.tests_enabled')) { %> root2 = root.cloneNode true for el in $$ '.mobile', root2 $.rm el diff --git a/src/css/font-awesome.css b/src/css/font-awesome.css index 88fa86c17..cdc7806d5 100644 --- a/src/css/font-awesome.css +++ b/src/css/font-awesome.css @@ -1,10 +1,10 @@ <%= -grunt.file.read('node_modules/font-awesome/css/font-awesome.css').match(/\/\*\![^]*?\*\//)[0] +read('node_modules/font-awesome/css/font-awesome.css').match(/\/\*\![^]*?\*\//)[0] %> @font-face { font-family: FontAwesome; - src: url('data:application/font-woff;base64,<%= grunt.file.read('node_modules/font-awesome/fonts/fontawesome-webfont.woff', {encoding: 'base64'}) %>') format('woff'); + src: url('data:application/font-woff;base64,<%= readBase64('node_modules/font-awesome/fonts/fontawesome-webfont.woff') %>') format('woff'); font-weight: 400; font-style: normal; } @@ -45,7 +45,7 @@ grunt.file.read('node_modules/font-awesome/css/font-awesome.css').match(/\/\*\![ } <%= -grunt.file.read('node_modules/font-awesome/css/font-awesome.css').match(/\.fa-glass:[^]*/)[0].replace(/([,{;])\s+/g, '$1').replace(/,/g, ', ') +read('node_modules/font-awesome/css/font-awesome.css').match(/\.fa-glass:[^]*/)[0].replace(/([,{;])\s+/g, '$1').replace(/,/g, ', ') %> .fa-spin::before { diff --git a/src/css/style.css b/src/css/style.css index 85c22c951..c44585eeb 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -1822,9 +1822,9 @@ a:only-of-type > .remove { /* Link Title Favicons */ <%= -grunt.file.expand('src/Linkification/icons/*.png').map(function(file) { +ls('src/Linkification/icons').map(function(file) { var key = file.match(/(\w+)\.png/)[1]; - var data = grunt.file.read(file, {encoding: 'base64'}); + var data = readBase64(`src/Linkification/icons/${file}`, {encoding: 'base64'}); return ".linkify."+key+" {\n" + " background: transparent url('data:image/png;base64,"+data+"') center left no-repeat!important;\n" + " padding-left: 18px;\n" + diff --git a/src/meta/jshint.json b/src/meta/jshint.json index 644e86b37..ae3b27c4f 100644 --- a/src/meta/jshint.json +++ b/src/meta/jshint.json @@ -20,7 +20,7 @@ "cloneInto": true, "unsafeWindow": true, "chrome": true<%= - grunt.file.readJSON('package.json').meta.grants.map(x => `,\n "${x}": true`).join('') + readJSON('package.json').meta.grants.map(x => `,\n "${x}": true`).join('') %> } } diff --git a/src/meta/metadata.js b/src/meta/metadata.js index 9b0b00708..9794e3de9 100644 --- a/src/meta/metadata.js +++ b/src/meta/metadata.js @@ -42,5 +42,5 @@ // @run-at document-start // @updateURL <%= (channel !== '-noupdate') ? `${meta.downloads}${name}${channel}.meta.js` : 'https://noupdate.invalid/' %> // @downloadURL <%= (channel !== '-noupdate') ? `${meta.downloads}${name}${channel}.user.js` : 'https://noupdate.invalid/' %> -// @icon data:image/png;base64,<%= grunt.file.read('src/meta/icon48.png', {encoding: 'base64'}) %> +// @icon data:image/png;base64,<%= readBase64('src/meta/icon48.png', {encoding: 'base64'}) %> // ==/UserScript== diff --git a/tools/templates.coffee b/tools/templates.coffee index e3f3fdceb..d492bfa3a 100644 --- a/tools/templates.coffee +++ b/tools/templates.coffee @@ -1,14 +1,15 @@ fs = require 'fs-extra' _ = require 'lodash' -glob = require 'glob' # disable ES6 delimiters _.templateSettings.interpolate = /<%=([\s\S]+?)%>/g read = (filename) -> fs.readFileSync(filename, 'utf8').replace(/\r\n/g, '\n') +readJSON = (filename) -> JSON.parse read filename +readBase64 = (filename) -> fs.readFileSync(filename).toString('base64') -pkg = JSON.parse(read 'package.json') -_.assign pkg.meta, JSON.parse(read 'version.json') +pkg = readJSON 'package.json' +_.assign pkg.meta, readJSON 'version.json' json = (data) -> "`#{JSON.stringify(data).replace(/`/g, '\\`')}`" @@ -73,16 +74,9 @@ assert = (statement, objs...) -> return '' unless pkg.tests_enabled "throw new Error 'Assertion failed: ' + #{json statement} unless #{statement}" -_.assign pkg, {importCSS, importHTML, html, assert} +ls = (pathname) -> fs.readdirSync pathname -pkg.grunt = file: - read: (filename, options) -> - if options?.encoding is 'base64' - fs.readFileSync(filename).toString('base64') - else - read filename - readJSON: (filename) -> JSON.parse read filename - expand: glob.sync +_.assign pkg, {read, readJSON, readBase64, importCSS, importHTML, html, assert, ls} for arg in process.argv[4..] [key, val] = arg.match(/(.*?)=(.*)/)[1..]