Remove fake grunt from templates.

This commit is contained in:
ccd0 2016-04-11 17:25:23 -07:00
parent fe02be69b5
commit d261f1d056
15 changed files with 61 additions and 67 deletions

View File

@ -27,7 +27,7 @@ Redirect =
Redirect.data = o Redirect.data = o
archives: `<%= JSON.stringify(grunt.file.readJSON('src/Archive/archives.json')) %>` archives: `<%= JSON.stringify(readJSON('src/Archive/archives.json')) %>`
to: (dest, data) -> to: (dest, data) ->
archive = (if dest in ['search', 'board'] then Redirect.data.thread else Redirect.data[dest])[data.boardID] archive = (if dest in ['search', 'board'] then Redirect.data.thread else Redirect.data[dest])[data.boardID]

View File

@ -1,4 +1,4 @@
<% if (grunt.file.readJSON('.tests_enabled')) { %> <% if (readJSON('.tests_enabled')) { %>
BuildTest = BuildTest =
init: -> init: ->
return if !Conf['Menu'] or g.VIEW not in ['index', 'thread'] return if !Conf['Menu'] or g.VIEW not in ['index', 'thread']

View File

@ -728,10 +728,10 @@ Config =
# "View Same" in archives: # "View Same" in archives:
#https://archive.4plebs.org/_/search/image/%sMD5/;text:View same on 4plebs #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:<%= #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:<%= #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(',')
%> %>
""" """

View File

@ -469,7 +469,7 @@ Main =
['Banner', Banner] ['Banner', Banner]
['Flash Features', Flash] ['Flash Features', Flash]
['Reply Pruning', ReplyPruning] ['Reply Pruning', ReplyPruning]
<% if (grunt.file.readJSON('.tests_enabled')) { %> <% if (readJSON('.tests_enabled')) { %>
['Build Test', BuildTest] ['Build Test', BuildTest]
<% } %> <% } %>
] ]

View File

@ -1,5 +1,5 @@
Banner = Banner =
banners: `<%= JSON.stringify(grunt.file.readJSON('src/Miscellaneous/banners.json')) %>` banners: `<%= JSON.stringify(readJSON('src/Miscellaneous/banners.json')) %>`
init: -> init: ->
if Conf['Custom Board Titles'] if Conf['Custom Board Titles']

View File

@ -192,7 +192,7 @@ Keybinds =
when Conf['Next Post Quoting You'] when Conf['Next Post Quoting You']
return unless threadRoot and QuoteYou.db return unless threadRoot and QuoteYou.db
QuoteYou.cb.seek 'following' QuoteYou.cb.seek 'following'
<% if (grunt.file.readJSON('.tests_enabled')) { %> <% if (readJSON('.tests_enabled')) { %>
when 't' when 't'
return unless threadRoot return unless threadRoot
BuildTest.testAll() BuildTest.testAll()

View File

@ -12,52 +12,52 @@ Favicon =
switch: -> switch: ->
items = { items = {
ferongr: [ ferongr: [
'<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadDead.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadDead.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadDeadY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadDeadY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadSFWY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadNSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadNSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/ferongr/unreadNSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/ferongr/unreadNSFWY.png") %>'
] ]
'xat-': [ 'xat-': [
'<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadDead.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/xat-/unreadDead.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadDeadY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/xat-/unreadDeadY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/xat-/unreadSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/xat-/unreadSFWY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadNSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/xat-/unreadNSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/xat-/unreadNSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/xat-/unreadNSFWY.png") %>'
] ]
Mayhem: [ Mayhem: [
'<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadDead.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadDead.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadDeadY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadDeadY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadSFWY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadNSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadNSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Mayhem/unreadNSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Mayhem/unreadNSFWY.png") %>'
] ]
'4chanJS': [ '4chanJS': [
'<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadDead.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadDead.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadDeadY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadDeadY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadSFWY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadNSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadNSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/4chanJS/unreadNSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/4chanJS/unreadNSFWY.png") %>'
] ]
Original: [ Original: [
'<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadDead.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Original/unreadDead.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadDeadY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Original/unreadDeadY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Original/unreadSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Original/unreadSFWY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadNSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Original/unreadNSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Original/unreadNSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Original/unreadNSFWY.png") %>'
] ]
'Metro': [ 'Metro': [
'<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadDead.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Metro/unreadDead.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadDeadY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Metro/unreadDeadY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Metro/unreadSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Metro/unreadSFWY.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadNSFW.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Metro/unreadNSFW.png") %>'
'<%= grunt.file.read("src/Monitoring/Favicon/Metro/unreadNSFWY.png", {encoding: "base64"}) %>' '<%= readBase64("src/Monitoring/Favicon/Metro/unreadNSFWY.png") %>'
] ]
}[Conf['favicon']] }[Conf['favicon']]
@ -78,5 +78,5 @@ Favicon =
@unread = @unreadNSFW @unread = @unreadNSFW
@unreadY = @unreadNSFWY @unreadY = @unreadNSFWY
dead: 'data:image/gif;base64,<%= grunt.file.read("src/Monitoring/Favicon/dead.gif", {encoding: "base64"}) %>' dead: 'data:image/gif;base64,<%= readBase64("src/Monitoring/Favicon/dead.gif") %>'
logo: 'data:image/png;base64,<%= grunt.file.read("src/meta/icon128.png", {encoding: "base64"}) %>' logo: 'data:image/png;base64,<%= readBase64("src/meta/icon128.png") %>'

View File

@ -87,7 +87,7 @@ ThreadUpdater =
http://freesound.org/people/pierrecartoons1979/sounds/90112/ http://freesound.org/people/pierrecartoons1979/sounds/90112/
cc-by-nc-3.0 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: -> playBeep: ->
{audio} = ThreadUpdater {audio} = ThreadUpdater

View File

@ -28,7 +28,7 @@ Unread =
name: 'Unread' name: 'Unread'
cb: @addPost cb: @addPost
<% if (grunt.file.readJSON('.tests_enabled')) { %> <% if (readJSON('.tests_enabled')) { %>
testLink = $.el 'a', testLink = $.el 'a',
textContent: 'Test Post Order' textContent: 'Test Post Order'
$.on testLink, 'click', -> $.on testLink, 'click', ->

View File

@ -3,7 +3,7 @@ class Post
toString: -> @ID toString: -> @ID
constructor: (root, @thread, @board) -> constructor: (root, @thread, @board) ->
<% if (grunt.file.readJSON('.tests_enabled')) { %> <% if (readJSON('.tests_enabled')) { %>
root2 = root.cloneNode true root2 = root.cloneNode true
for el in $$ '.mobile', root2 for el in $$ '.mobile', root2
$.rm el $.rm el

View File

@ -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-face {
font-family: FontAwesome; 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-weight: 400;
font-style: normal; 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 { .fa-spin::before {

View File

@ -1822,9 +1822,9 @@ a:only-of-type > .remove {
/* Link Title Favicons */ /* 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 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" + return ".linkify."+key+" {\n" +
" background: transparent url('data:image/png;base64,"+data+"') center left no-repeat!important;\n" + " background: transparent url('data:image/png;base64,"+data+"') center left no-repeat!important;\n" +
" padding-left: 18px;\n" + " padding-left: 18px;\n" +

View File

@ -20,7 +20,7 @@
"cloneInto": true, "cloneInto": true,
"unsafeWindow": true, "unsafeWindow": true,
"chrome": 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('')
%> %>
} }
} }

View File

@ -42,5 +42,5 @@
// @run-at document-start // @run-at document-start
// @updateURL <%= (channel !== '-noupdate') ? `${meta.downloads}${name}${channel}.meta.js` : 'https://noupdate.invalid/' %> // @updateURL <%= (channel !== '-noupdate') ? `${meta.downloads}${name}${channel}.meta.js` : 'https://noupdate.invalid/' %>
// @downloadURL <%= (channel !== '-noupdate') ? `${meta.downloads}${name}${channel}.user.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== // ==/UserScript==

View File

@ -1,14 +1,15 @@
fs = require 'fs-extra' fs = require 'fs-extra'
_ = require 'lodash' _ = require 'lodash'
glob = require 'glob'
# disable ES6 delimiters # disable ES6 delimiters
_.templateSettings.interpolate = /<%=([\s\S]+?)%>/g _.templateSettings.interpolate = /<%=([\s\S]+?)%>/g
read = (filename) -> fs.readFileSync(filename, 'utf8').replace(/\r\n/g, '\n') 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') pkg = readJSON 'package.json'
_.assign pkg.meta, JSON.parse(read 'version.json') _.assign pkg.meta, readJSON 'version.json'
json = (data) -> json = (data) ->
"`#{JSON.stringify(data).replace(/`/g, '\\`')}`" "`#{JSON.stringify(data).replace(/`/g, '\\`')}`"
@ -73,16 +74,9 @@ assert = (statement, objs...) ->
return '' unless pkg.tests_enabled return '' unless pkg.tests_enabled
"throw new Error 'Assertion failed: ' + #{json statement} unless #{statement}" "throw new Error 'Assertion failed: ' + #{json statement} unless #{statement}"
_.assign pkg, {importCSS, importHTML, html, assert} ls = (pathname) -> fs.readdirSync pathname
pkg.grunt = file: _.assign pkg, {read, readJSON, readBase64, importCSS, importHTML, html, assert, ls}
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
for arg in process.argv[4..] for arg in process.argv[4..]
[key, val] = arg.match(/(.*?)=(.*)/)[1..] [key, val] = arg.match(/(.*?)=(.*)/)[1..]