Update to Grunt 0.4.0.
This commit is contained in:
parent
0d388a6b4d
commit
9bb1d61084
@ -15,7 +15,7 @@
|
||||
// @grant GM_deleteValue
|
||||
// @grant GM_openInTab
|
||||
// @run-at document-start
|
||||
// @updateURL https://github.com/MayhemYDG/4chan-x/raw/stable/4chan_x.meta.js
|
||||
// @downloadURL https://github.com/MayhemYDG/4chan-x/raw/stable/4chan_x.user.js
|
||||
// @icon https://github.com/MayhemYDG/4chan-x/raw/stable/img/icon.gif
|
||||
// @updateURL https://github.com/MayhemYDG/4chan-x/raw/v3/4chan_x.meta.js
|
||||
// @downloadURL https://github.com/MayhemYDG/4chan-x/raw/v3/4chan_x.user.js
|
||||
// @icon data:image/gif;base64,R0lGODlhEAAQAKECAAAAAGbMM////////yH5BAEKAAIALAAAAAAQABAAAAIxlI+pq+D9DAgUoFkPDlbs7lGiI2bSVnKglnJMOL6omczxVZK3dH/41AG6Lh7i6qUoAAA7
|
||||
// ==/UserScript==
|
||||
|
||||
@ -15,12 +15,12 @@
|
||||
// @grant GM_deleteValue
|
||||
// @grant GM_openInTab
|
||||
// @run-at document-start
|
||||
// @updateURL https://github.com/MayhemYDG/4chan-x/raw/stable/4chan_x.meta.js
|
||||
// @downloadURL https://github.com/MayhemYDG/4chan-x/raw/stable/4chan_x.user.js
|
||||
// @updateURL https://github.com/MayhemYDG/4chan-x/raw/v3/4chan_x.meta.js
|
||||
// @downloadURL https://github.com/MayhemYDG/4chan-x/raw/v3/4chan_x.user.js
|
||||
// @icon data:image/gif;base64,R0lGODlhEAAQAKECAAAAAGbMM////////yH5BAEKAAIALAAAAAAQABAAAAIxlI+pq+D9DAgUoFkPDlbs7lGiI2bSVnKglnJMOL6omczxVZK3dH/41AG6Lh7i6qUoAAA7
|
||||
// ==/UserScript==
|
||||
|
||||
/* 4chan X Alpha - Version 3.0.0 - 2013-02-18
|
||||
/* 4chan X Alpha - Version 3.0.0 - 2013-02-19
|
||||
* http://mayhemydg.github.com/4chan-x/
|
||||
*
|
||||
* Copyright (c) 2009-2011 James Campos <james.r.campos@gmail.com>
|
||||
@ -188,7 +188,7 @@
|
||||
|
||||
g = {
|
||||
VERSION: '3.0.0',
|
||||
NAMESPACE: "4chan_X_Alpha.",
|
||||
NAMESPACE: "4chan X Alpha.",
|
||||
boards: {},
|
||||
threads: {},
|
||||
posts: {}
|
||||
|
||||
@ -18,7 +18,7 @@ Open your console with:
|
||||
- Clone 4chan X.
|
||||
- `cd` into it.
|
||||
- Install [node.js](http://nodejs.org/).
|
||||
- Install [Grunt](http://gruntjs.com/) with `npm install -g grunt`.
|
||||
- Install [Grunt's CLI](http://gruntjs.com/) with `npm install -g grunt-cli`.
|
||||
- Install 4chan X dependencies with `npm install`.
|
||||
|
||||
### Build
|
||||
|
||||
90
Gruntfile.js
Normal file
90
Gruntfile.js
Normal file
@ -0,0 +1,90 @@
|
||||
module.exports = function(grunt) {
|
||||
|
||||
var pkg = grunt.file.readJSON('package.json');
|
||||
|
||||
// Project configuration.
|
||||
grunt.initConfig({
|
||||
pkg: pkg,
|
||||
concat: {
|
||||
coffee: {
|
||||
options: { process: { data: pkg } },
|
||||
src: [
|
||||
'src/config.coffee',
|
||||
'src/globals.coffee',
|
||||
'lib/ui.coffee',
|
||||
'lib/$.coffee',
|
||||
'lib/polyfill.coffee',
|
||||
'src/features.coffee',
|
||||
'src/qr.coffee',
|
||||
'src/main.coffee'
|
||||
],
|
||||
dest: 'tmp/script.coffee'
|
||||
},
|
||||
script: {
|
||||
options: { process: { data: pkg } },
|
||||
src: [
|
||||
'src/metadata.js',
|
||||
'src/banner.js',
|
||||
'tmp/script.js'
|
||||
],
|
||||
dest: '<%= pkg.meta.files.userjs %>'
|
||||
},
|
||||
metadata: {
|
||||
options: { process: { data: pkg } },
|
||||
src: 'src/metadata.js',
|
||||
dest: '<%= pkg.meta.files.metajs %>'
|
||||
}
|
||||
},
|
||||
coffee: {
|
||||
script: {
|
||||
src: 'tmp/script.coffee',
|
||||
dest: 'tmp/script.js'
|
||||
}
|
||||
},
|
||||
exec: {
|
||||
commit: {
|
||||
command: function() {
|
||||
var release = pkg.meta.name + ' v' + pkg.version;
|
||||
return [
|
||||
'git checkout ' + pkg.meta.mainBranch,
|
||||
'git commit -am "Release ' + release + '."',
|
||||
'git tag -a ' + pkg.version + ' -m "' + release + '."',
|
||||
'git tag -af stable -m "' + release + '."'
|
||||
].join(' && ');
|
||||
},
|
||||
stdout: true
|
||||
},
|
||||
push: {
|
||||
command: 'git push && git push --tags',
|
||||
stdout: true
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
files: [
|
||||
'package.json',
|
||||
'lib/**/*.coffee',
|
||||
'src/**/*.coffee',
|
||||
'src/**/*.js',
|
||||
'css/**/*.css',
|
||||
'img/*'
|
||||
],
|
||||
tasks: 'default'
|
||||
},
|
||||
clean: {
|
||||
tmp: 'tmp'
|
||||
}
|
||||
});
|
||||
|
||||
// grunt.loadNpmTasks('grunt-bump');
|
||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||
grunt.loadNpmTasks('grunt-contrib-coffee');
|
||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
grunt.loadNpmTasks('grunt-exec');
|
||||
|
||||
grunt.registerTask('default', ['concat:coffee', 'coffee:script', 'concat:script', 'concat:metadata', 'clean']);
|
||||
grunt.registerTask('release', ['default', 'exec:commit', 'exec:push']);
|
||||
// grunt.registerTask('patch', 'bump');
|
||||
// grunt.registerTask('upgrade', 'bump:minor');
|
||||
|
||||
};
|
||||
103
grunt.js
103
grunt.js
@ -1,103 +0,0 @@
|
||||
module.exports = function(grunt) {
|
||||
|
||||
// Project configuration.
|
||||
grunt.initConfig({
|
||||
pkg: '<json:package.json>',
|
||||
meta: {
|
||||
name: '<%= pkg.name.replace(/-/g, " ") %>',
|
||||
repo: 'https://github.com/MayhemYDG/4chan-x/',
|
||||
files: {
|
||||
metajs: '4chan_x.meta.js',
|
||||
userjs: '4chan_x.user.js',
|
||||
latestjs: 'latestv3.js'
|
||||
}
|
||||
},
|
||||
concat: {
|
||||
coffee: {
|
||||
src: [
|
||||
'<file_template:src/config.coffee>',
|
||||
'<file_template:src/globals.coffee>',
|
||||
'<file_template:lib/ui.coffee>',
|
||||
'<file_template:lib/$.coffee>',
|
||||
'<file_template:lib/polyfill.coffee>',
|
||||
'<file_template:src/features.coffee>',
|
||||
'<file_template:src/qr.coffee>',
|
||||
'<file_template:src/main.coffee>'
|
||||
],
|
||||
dest: 'tmp/script.coffee'
|
||||
},
|
||||
script: {
|
||||
src: ['<file_template:src/metadata.js>', '<file_template:src/banner.js>', 'tmp/script.js'],
|
||||
dest: '<config:meta.files.userjs>'
|
||||
},
|
||||
meta: {
|
||||
src: '<file_template:src/metadata.js>',
|
||||
dest: '<config:meta.files.metajs>'
|
||||
},
|
||||
latest: {
|
||||
src: '<file_template:src/latest.js>',
|
||||
dest: '<config:meta.files.latestjs>'
|
||||
}
|
||||
},
|
||||
coffee: {
|
||||
script: {
|
||||
src: 'tmp/script.coffee',
|
||||
dest: 'tmp/script.js'
|
||||
}
|
||||
},
|
||||
exec: {
|
||||
commit: {
|
||||
command: function(grunt) {
|
||||
var name, release, version;
|
||||
name = grunt.config(['pkg', 'name']).replace(/-/g, ' ');
|
||||
version = grunt.config(['pkg', 'version']);
|
||||
release = name + ' v' + version;
|
||||
return [
|
||||
'git checkout master',
|
||||
'git commit -am "Release ' + release + '."',
|
||||
'git tag -a ' + version + ' -m "' + release + '"',
|
||||
'git tag -af stable -m "' + release + '"'
|
||||
].join(' && ');
|
||||
},
|
||||
stdout: true
|
||||
},
|
||||
push: {
|
||||
command: 'git push && git push --tags',
|
||||
stdout: true
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
files: [
|
||||
'grunt.js',
|
||||
'lib/**/*.coffee',
|
||||
'src/**/*.coffee',
|
||||
'src/**/*.js',
|
||||
'css/**/*.css',
|
||||
'img/*'
|
||||
],
|
||||
tasks: 'default'
|
||||
},
|
||||
clean: {
|
||||
tmp:['tmp']
|
||||
},
|
||||
qunit: {
|
||||
all: 'http://localhost:8000/test/index.html'
|
||||
},
|
||||
server: {
|
||||
port: 8000,
|
||||
base: '.'
|
||||
}
|
||||
});
|
||||
|
||||
grunt.loadNpmTasks('grunt-bump');
|
||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||
grunt.loadNpmTasks('grunt-contrib-coffee');
|
||||
grunt.loadNpmTasks('grunt-exec');
|
||||
|
||||
grunt.registerTask('default', 'concat:coffee coffee:script concat:script clean');
|
||||
grunt.registerTask('release', 'concat:meta concat:latest default exec:commit exec:push');
|
||||
grunt.registerTask('patch', 'bump');
|
||||
grunt.registerTask('upgrade', 'bump:minor');
|
||||
grunt.registerTask('test', 'default server qunit');
|
||||
|
||||
};
|
||||
@ -1 +0,0 @@
|
||||
document.dispatchEvent(new CustomEvent("4chanXAlphaVersion",{detail:{v:"3.0.0"}}))
|
||||
36
package.json
36
package.json
@ -1,24 +1,34 @@
|
||||
{
|
||||
"name": "4chan-X-Alpha",
|
||||
"name": "4chan-X",
|
||||
"version": "3.0.0",
|
||||
"author": "Nicolas Stepien <stepien.nicolas@gmail.com>",
|
||||
"description": "Cross-browser userscript for maximum lurking on 4chan.",
|
||||
"scripts": {
|
||||
"test": "grunt test"
|
||||
"meta": {
|
||||
"name": "4chan X Alpha",
|
||||
"repo": "https://github.com/MayhemYDG/4chan-x/",
|
||||
"page": "http://mayhemydg.github.com/4chan-x/",
|
||||
"mainBranch": "v3",
|
||||
"files": {
|
||||
"metajs": "4chan_x.meta.js",
|
||||
"userjs": "4chan_x.user.js",
|
||||
"latestjs": "latestv3.js"
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "~0.4.0",
|
||||
"grunt-bump": "~0.0.x",
|
||||
"grunt-contrib-clean": "~0.4.0",
|
||||
"grunt-contrib-coffee": "~0.4.0",
|
||||
"grunt-contrib-concat": "~0.1.2",
|
||||
"grunt-contrib-watch": "~0.2.0",
|
||||
"grunt-exec": "~0.4.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/MayhemYDG/4chan-x.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "0.3.x",
|
||||
"grunt-bump": "0.0.x",
|
||||
"grunt-contrib-clean": "0.3.x",
|
||||
"grunt-contrib-coffee": "0.3.x",
|
||||
"grunt-exec": "0.3.x",
|
||||
"qunitjs": "1.x.x"
|
||||
"url": "git://github.com/MayhemYDG/4chan-x.git"
|
||||
},
|
||||
"author": "Nicolas Stepien <stepien.nicolas@gmail.com>",
|
||||
"license": "MIT",
|
||||
"readmeFilename": "README.md",
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/* <%= meta.name %> - Version <%= pkg.version %> - <%= grunt.template.today('yyyy-mm-dd') %>
|
||||
* http://mayhemydg.github.com/4chan-x/
|
||||
/* <%= meta.name %> - Version <%= version %> - <%= grunt.template.today('yyyy-mm-dd') %>
|
||||
* <%= meta.page %>
|
||||
*
|
||||
* Copyright (c) 2009-2011 James Campos <james.r.campos@gmail.com>
|
||||
* Copyright (c) 2012-<%= grunt.template.today('yyyy') %> Nicolas Stepien <stepien.nicolas@gmail.com>
|
||||
|
||||
@ -2910,25 +2910,25 @@ Favicon =
|
||||
switch: ->
|
||||
switch Conf['favicon']
|
||||
when 'ferongr'
|
||||
Favicon.unreadDead = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadDead.gif", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadSFW.gif", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadNSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadNSFW.gif", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadDead = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadDead.gif", {encoding: "base64"}) %>'
|
||||
Favicon.unreadSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadSFW.gif", {encoding: "base64"}) %>'
|
||||
Favicon.unreadNSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/ferongr/unreadNSFW.gif", {encoding: "base64"}) %>'
|
||||
when 'xat-'
|
||||
Favicon.unreadDead = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadDead.png", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadSFW.png", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadNSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadNSFW.png", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadDead = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadDead.png", {encoding: "base64"}) %>'
|
||||
Favicon.unreadSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadSFW.png", {encoding: "base64"}) %>'
|
||||
Favicon.unreadNSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/xat-/unreadNSFW.png", {encoding: "base64"}) %>'
|
||||
when 'Mayhem'
|
||||
Favicon.unreadDead = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadDead.png", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadSFW.png", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadNSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadNSFW.png", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadDead = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadDead.png", {encoding: "base64"}) %>'
|
||||
Favicon.unreadSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadSFW.png", {encoding: "base64"}) %>'
|
||||
Favicon.unreadNSFW = 'data:image/png;base64,<%= grunt.file.read("img/favicons/Mayhem/unreadNSFW.png", {encoding: "base64"}) %>'
|
||||
when 'Original'
|
||||
Favicon.unreadDead = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadDead.gif", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadSFW.gif", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadNSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadNSFW.gif", {encoding: "base64"}).toString("base64") %>'
|
||||
Favicon.unreadDead = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadDead.gif", {encoding: "base64"}) %>'
|
||||
Favicon.unreadSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadSFW.gif", {encoding: "base64"}) %>'
|
||||
Favicon.unreadNSFW = 'data:image/gif;base64,<%= grunt.file.read("img/favicons/Original/unreadNSFW.gif", {encoding: "base64"}) %>'
|
||||
Favicon.unread = if Favicon.SFW then Favicon.unreadSFW else Favicon.unreadNSFW
|
||||
|
||||
empty: 'data:image/gif;base64,<%= grunt.file.read("img/favicons/empty.gif", {encoding: "base64"}).toString("base64") %>'
|
||||
dead: 'data:image/gif;base64,<%= grunt.file.read("img/favicons/dead.gif", {encoding: "base64"}).toString("base64") %>'
|
||||
empty: 'data:image/gif;base64,<%= grunt.file.read("img/favicons/empty.gif", {encoding: "base64"}) %>'
|
||||
dead: 'data:image/gif;base64,<%= grunt.file.read("img/favicons/dead.gif", {encoding: "base64"}) %>'
|
||||
|
||||
|
||||
ThreadStats =
|
||||
@ -3032,7 +3032,7 @@ ThreadUpdater =
|
||||
http://freesound.org/people/pierrecartoons1979/sounds/90112/
|
||||
cc-by-nc-3.0
|
||||
###
|
||||
beep: 'data:audio/wav;base64,<%= grunt.file.read("audio/beep.wav", {encoding: "base64"}).toString("base64") %>'
|
||||
beep: 'data:audio/wav;base64,<%= grunt.file.read("audio/beep.wav", {encoding: "base64"}) %>'
|
||||
|
||||
cb:
|
||||
online: ->
|
||||
|
||||
@ -6,8 +6,8 @@ Conf = {}
|
||||
d = document
|
||||
doc = d.documentElement
|
||||
g =
|
||||
VERSION: '<%= pkg.version %>'
|
||||
NAMESPACE: "<%= pkg.name.replace(/-/g, '_') %>."
|
||||
VERSION: '<%= version %>'
|
||||
NAMESPACE: "<%= meta.name %>."
|
||||
boards: {}
|
||||
threads: {}
|
||||
posts: {}
|
||||
|
||||
@ -1 +0,0 @@
|
||||
document.dispatchEvent(new CustomEvent("<%= pkg.name.replace(/-/g, '') %>Version",{detail:{v:"<%= pkg.version %>"}}))
|
||||
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name <%= meta.name %>
|
||||
// @version <%= pkg.version %>
|
||||
// @version <%= version %>
|
||||
// @description Cross-browser userscript for maximum lurking on 4chan.
|
||||
// @copyright 2009-2011 James Campos <james.r.campos@gmail.com>
|
||||
// @copyright 2012-<%= grunt.template.today('yyyy') %> Nicolas Stepien <stepien.nicolas@gmail.com>
|
||||
@ -15,7 +15,7 @@
|
||||
// @grant GM_deleteValue
|
||||
// @grant GM_openInTab
|
||||
// @run-at document-start
|
||||
// @updateURL <%= meta.repo %>raw/stable/<%= meta.files.metajs %>
|
||||
// @downloadURL <%= meta.repo %>raw/stable/<%= meta.files.userjs %>
|
||||
// @icon data:image/gif;base64,<%= grunt.file.read('img/icon.gif', {encoding: 'base64'}).toString('base64') %>
|
||||
// @updateURL <%= meta.repo %>raw/<%= meta.mainBranch %>/<%= meta.files.metajs %>
|
||||
// @downloadURL <%= meta.repo %>raw/<%= meta.mainBranch %>/<%= meta.files.userjs %>
|
||||
// @icon data:image/gif;base64,<%= grunt.file.read('img/icon.gif', {encoding: 'base64'}) %>
|
||||
// ==/UserScript==
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>QUnit</title>
|
||||
<link rel='stylesheet' href='../node_modules/qunitjs/qunit/qunit.css'>
|
||||
</head>
|
||||
<body>
|
||||
<div id='qunit'></div>
|
||||
<script src='../node_modules/qunitjs/qunit/qunit.js'></script>
|
||||
<script src='../4chan_x.user.js'></script>
|
||||
<script>
|
||||
module('test module');
|
||||
test('test', function() {
|
||||
ok(true, 'Passed!');
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
x
Reference in New Issue
Block a user