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
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]

View File

@ -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']

View File

@ -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(',')
%>
"""

View File

@ -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]
<% } %>
]

View File

@ -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']

View File

@ -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()

View File

@ -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") %>'

View File

@ -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

View File

@ -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', ->

View File

@ -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

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-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 {

View File

@ -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" +

View File

@ -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('')
%>
}
}

View File

@ -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==

View File

@ -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..]