Start my quest to integrate 4chan-X V3
This commit is contained in:
parent
9b0aa74875
commit
611377152e
22
.gitattributes
vendored
Normal file
22
.gitattributes
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
# Custom for Visual Studio
|
||||||
|
*.cs diff=csharp
|
||||||
|
*.sln merge=union
|
||||||
|
*.csproj merge=union
|
||||||
|
*.vbproj merge=union
|
||||||
|
*.fsproj merge=union
|
||||||
|
*.dbproj merge=union
|
||||||
|
|
||||||
|
# Standard to msysgit
|
||||||
|
*.doc diff=astextplain
|
||||||
|
*.DOC diff=astextplain
|
||||||
|
*.docx diff=astextplain
|
||||||
|
*.DOCX diff=astextplain
|
||||||
|
*.dot diff=astextplain
|
||||||
|
*.DOT diff=astextplain
|
||||||
|
*.pdf diff=astextplain
|
||||||
|
*.PDF diff=astextplain
|
||||||
|
*.rtf diff=astextplain
|
||||||
|
*.RTF diff=astextplain
|
||||||
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,2 +1,7 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
tmp/
|
tmp/
|
||||||
|
4chan_x.user.js
|
||||||
|
Cakefile
|
||||||
|
script.coffee
|
||||||
|
*~
|
||||||
|
*.db
|
||||||
@ -125,20 +125,20 @@
|
|||||||
'Expand from here': [true, 'Expand all images only from current position to thread end.']
|
'Expand from here': [true, 'Expand all images only from current position to thread end.']
|
||||||
},
|
},
|
||||||
filter: {
|
filter: {
|
||||||
name: ['# Filter any namefags:', '#/^(?!Anonymous$)/'].join('\n'),
|
name: "# Filter any namefags:\n#/^(?!Anonymous$)/",
|
||||||
uniqueID: ['# Filter a specific ID:', '#/Txhvk1Tl/'].join('\n'),
|
uniqueID: "# Filter a specific ID:\n#/Txhvk1Tl/",
|
||||||
tripcode: ['# Filter any tripfag', '#/^!/'].join('\n'),
|
tripcode: "# Filter any tripfag\n#/^!/",
|
||||||
capcode: ['# Set a custom class for mods:', '#/Mod$/;highlight:mod;op:yes', '# Set a custom class for moot:', '#/Admin$/;highlight:moot;op:yes'].join('\n'),
|
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
|
||||||
email: ['# Filter any e-mails that are not `sage` on /a/ and /jp/:', '#/^(?!sage$)/;boards:a,jp'].join('\n'),
|
email: "# Filter any e-mails that are not `sage` on /a/ and /jp/:\n#/^(?!sage$)/;boards:a,jp",
|
||||||
subject: ['# Filter Generals on /v/:', '#/general/i;boards:v;op:only'].join('\n'),
|
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
|
||||||
comment: ['# Filter Stallman copypasta on /g/:', '#/what you\'re refer+ing to as linux/i;boards:g'].join('\n'),
|
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g",
|
||||||
flag: [''].join('\n'),
|
flag: '',
|
||||||
filename: [''].join('\n'),
|
filename: '',
|
||||||
dimensions: ['# Highlight potential wallpapers:', '#/1920x1080/;op:yes;highlight;top:no;boards:w,wg'].join('\n'),
|
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
|
||||||
filesize: [''].join('\n'),
|
filesize: '',
|
||||||
MD5: [''].join('\n')
|
MD5: ''
|
||||||
},
|
},
|
||||||
sauces: ['http://iqdb.org/?url=%turl', 'http://www.google.com/searchbyimage?image_url=%turl', '#http://tineye.com/search?url=%turl', '#http://saucenao.com/search.php?db=999&url=%turl', '#http://3d.iqdb.org/?url=%turl', '#http://regex.info/exif.cgi?imgurl=%url', '# uploaders:', '#http://imgur.com/upload?url=%url;text:Upload to imgur', '#http://omploader.org/upload?url1=%url;text:Upload to omploader', '# "View Same" in archives:', '#//archive.foolz.us/_/search/image/%MD5/;text:View same on foolz', '#//archive.foolz.us/%board/search/image/%MD5/;text:View same on foolz /%board/', '#//archive.installgentoo.net/%board/image/%MD5;text:View same on installgentoo /%board/'].join('\n'),
|
sauces: "http://iqdb.org/?url=%turl\nhttp://www.google.com/searchbyimage?image_url=%turl\n#http://tineye.com/search?url=%turl\n#http://saucenao.com/search.php?db=999&url=%turl\n#http://3d.iqdb.org/?url=%turl\n#http://regex.info/exif.cgi?imgurl=%url\n# uploaders:\n#http://imgur.com/upload?url=%url;text:Upload to imgur\n#http://omploader.org/upload?url1=%url;text:Upload to omploader\n# \"View Same\" in archives:\n#//archive.foolz.us/_/search/image/%MD5/;text:View same on foolz\n#//archive.foolz.us/%board/search/image/%MD5/;text:View same on foolz /%board/\n#//archive.installgentoo.net/%board/image/%MD5;text:View same on installgentoo /%board/",
|
||||||
time: '%m/%d/%y(%a)%H:%M:%S',
|
time: '%m/%d/%y(%a)%H:%M:%S',
|
||||||
backlink: '>>%id',
|
backlink: '>>%id',
|
||||||
fileInfo: '%l (%p%s, %r)',
|
fileInfo: '%l (%p%s, %r)',
|
||||||
|
|||||||
110
Gruntfile.coffee
Normal file
110
Gruntfile.coffee
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
module.exports = (grunt) ->
|
||||||
|
|
||||||
|
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/report.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: ->
|
||||||
|
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 origin --all && git push origin --tags'
|
||||||
|
stdout: true
|
||||||
|
|
||||||
|
watch:
|
||||||
|
all:
|
||||||
|
options:
|
||||||
|
interrupt: true
|
||||||
|
files: [
|
||||||
|
'Gruntfile.js'
|
||||||
|
'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'
|
||||||
|
]
|
||||||
97
Gruntfile.js
97
Gruntfile.js
@ -1,97 +0,0 @@
|
|||||||
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/report.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 origin --all && git push origin --tags',
|
|
||||||
stdout: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
all: {
|
|
||||||
options: {
|
|
||||||
interrupt: true
|
|
||||||
},
|
|
||||||
files: [
|
|
||||||
'Gruntfile.js',
|
|
||||||
'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']);
|
|
||||||
|
|
||||||
};
|
|
||||||
@ -1,172 +1,442 @@
|
|||||||
Config =
|
Config =
|
||||||
main:
|
main:
|
||||||
'Miscellaneous':
|
'Miscellaneous':
|
||||||
'Enable 4chan\'s Extension': [false, 'Compatibility between <%= meta.name %> and 4chan\'s inline extension is NOT guaranteed.']
|
'Enable 4chan\'s Extension': [
|
||||||
'404 Redirect': [true, 'Redirect dead threads and images.']
|
false
|
||||||
'Keybinds': [true, 'Bind actions to keyboard shortcuts.']
|
'Compatibility between <%= meta.name %> and 4chan\'s inline extension is NOT guaranteed.'
|
||||||
'Time Formatting': [true, 'Localize and format timestamps arbitrarily.']
|
]
|
||||||
'Relative Post Dates': [false, 'Display dates like "3 minutes ago". Tooltip shows the timestamp.']
|
'404 Redirect': [
|
||||||
'File Info Formatting': [true, 'Reformat the file information.']
|
true
|
||||||
'Comment Expansion': [true, 'Can expand too long comments.']
|
'Redirect dead threads and images.'
|
||||||
'Thread Expansion': [true, 'Can expand threads to view all replies.']
|
]
|
||||||
'Index Navigation': [false, 'Navigate to previous / next thread.']
|
'Keybinds': [
|
||||||
'Custom CSS': [false, 'Apply custom CSS to 4chan.']
|
true
|
||||||
'Check for Updates': [true, 'Check for updated versions of <%= meta.name %>.']
|
'Bind actions to keyboard shortcuts.'
|
||||||
|
]
|
||||||
|
'Time Formatting': [
|
||||||
|
true
|
||||||
|
'Localize and format timestamps arbitrarily.'
|
||||||
|
]
|
||||||
|
'Relative Post Dates': [
|
||||||
|
false
|
||||||
|
'Display dates like "3 minutes ago". Tooltip shows the timestamp.'
|
||||||
|
]
|
||||||
|
'File Info Formatting': [
|
||||||
|
true
|
||||||
|
'Reformat the file information.'
|
||||||
|
]
|
||||||
|
'Comment Expansion': [
|
||||||
|
true
|
||||||
|
'Can expand too long comments.'
|
||||||
|
]
|
||||||
|
'Thread Expansion': [
|
||||||
|
true
|
||||||
|
'Can expand threads to view all replies.'
|
||||||
|
]
|
||||||
|
'Index Navigation': [
|
||||||
|
false
|
||||||
|
'Navigate to previous / next thread.'
|
||||||
|
]
|
||||||
|
'Custom CSS': [
|
||||||
|
false
|
||||||
|
'Apply custom CSS to 4chan.'
|
||||||
|
]
|
||||||
|
'Check for Updates': [
|
||||||
|
true
|
||||||
|
'Check for updated versions of <%= meta.name %>.'
|
||||||
|
]
|
||||||
|
|
||||||
'Filtering':
|
'Filtering':
|
||||||
'Anonymize': [false, 'Turn everyone Anonymous.']
|
'Anonymize': [
|
||||||
'Filter': [true, 'Self-moderation placebo.']
|
false
|
||||||
'Recursive Hiding': [true, 'Hide replies of hidden posts, recursively.']
|
'Turn everyone Anonymous.'
|
||||||
'Thread Hiding': [true, 'Hide entire threads.']
|
]
|
||||||
'Reply Hiding': [true, 'Hide single replies.']
|
'Filter': [
|
||||||
'Hiding Buttons': [true, 'Make buttons to hide threads / replies, in addition to menu links.']
|
true
|
||||||
'Stubs': [true, 'Make stubs of hidden threads / replies.']
|
'Self-moderation placebo.'
|
||||||
|
]
|
||||||
|
'Recursive Hiding': [
|
||||||
|
true
|
||||||
|
'Hide replies of hidden posts, recursively.'
|
||||||
|
]
|
||||||
|
'Thread Hiding': [
|
||||||
|
true
|
||||||
|
'Hide entire threads.'
|
||||||
|
]
|
||||||
|
'Reply Hiding': [
|
||||||
|
true
|
||||||
|
'Hide single replies.'
|
||||||
|
]
|
||||||
|
'Hiding Buttons': [
|
||||||
|
true
|
||||||
|
'Make buttons to hide threads / replies, in addition to menu links.'
|
||||||
|
]
|
||||||
|
'Stubs': [
|
||||||
|
true
|
||||||
|
'Make stubs of hidden threads / replies.'
|
||||||
|
]
|
||||||
|
|
||||||
'Images':
|
'Images':
|
||||||
'Auto-GIF': [false, 'Animate GIF thumbnails.']
|
'Auto-GIF': [
|
||||||
'Image Expansion': [true, 'Expand images.']
|
false
|
||||||
'Image Hover': [false, 'Show full image on mouseover.']
|
'Animate GIF thumbnails.'
|
||||||
'Sauce': [true, 'Add sauce links to images.']
|
]
|
||||||
'Reveal Spoilers': [false, 'Reveal spoiler thumbnails.']
|
'Image Expansion': [
|
||||||
|
true
|
||||||
|
'Expand images.'
|
||||||
|
]
|
||||||
|
'Image Hover': [
|
||||||
|
false
|
||||||
|
'Show full image on mouseover.'
|
||||||
|
]
|
||||||
|
'Sauce': [
|
||||||
|
true
|
||||||
|
'Add sauce links to images.'
|
||||||
|
]
|
||||||
|
'Reveal Spoilers': [
|
||||||
|
false
|
||||||
|
'Reveal spoiler thumbnails.'
|
||||||
|
]
|
||||||
|
|
||||||
'Menu':
|
'Menu':
|
||||||
'Menu': [true, 'Add a drop-down menu in posts.']
|
'Menu': [
|
||||||
'Report Link': [true, 'Add a report link to the menu.']
|
true
|
||||||
'Delete Link': [true, 'Add post and image deletion links to the menu.']
|
'Add a drop-down menu in posts.'
|
||||||
'Download Link': [true, 'Add a download with original filename link to the menu. Chrome-only currently.']
|
]
|
||||||
'Archive Link': [true, 'Add an archive link to the menu.']
|
'Report Link': [
|
||||||
|
true
|
||||||
|
'Add a report link to the menu.'
|
||||||
|
]
|
||||||
|
'Delete Link': [
|
||||||
|
true
|
||||||
|
'Add post and image deletion links to the menu.'
|
||||||
|
]
|
||||||
|
'Download Link': [
|
||||||
|
true
|
||||||
|
'Add a download with original filename link to the menu. Chrome-only currently.'
|
||||||
|
]
|
||||||
|
'Archive Link': [
|
||||||
|
true
|
||||||
|
'Add an archive link to the menu.'
|
||||||
|
]
|
||||||
|
|
||||||
'Monitoring':
|
'Monitoring':
|
||||||
'Thread Updater': [true, 'Fetch and insert new replies. Has more options in its own dialog.']
|
'Thread Updater': [
|
||||||
'Unread Count': [true, 'Show the unread posts count in the tab title.']
|
true
|
||||||
'Unread Tab Icon': [true, 'Show a different favicon when there are unread posts.']
|
'Fetch and insert new replies. Has more options in its own dialog.'
|
||||||
'Thread Excerpt': [true, 'Show an excerpt of the thread in the tab title.']
|
]
|
||||||
'Thread Stats': [true, 'Display reply and image count.']
|
'Unread Count': [
|
||||||
'Thread Watcher': [true, 'Bookmark threads.']
|
true
|
||||||
'Auto Watch': [true, 'Automatically watch threads you start.']
|
'Show the unread posts count in the tab title.'
|
||||||
'Auto Watch Reply': [false, 'Automatically watch threads you reply to.']
|
]
|
||||||
|
'Unread Tab Icon': [
|
||||||
|
true
|
||||||
|
'Show a different favicon when there are unread posts.'
|
||||||
|
]
|
||||||
|
'Thread Excerpt': [
|
||||||
|
true
|
||||||
|
'Show an excerpt of the thread in the tab title.'
|
||||||
|
]
|
||||||
|
'Thread Stats': [
|
||||||
|
true
|
||||||
|
'Display reply and image count.'
|
||||||
|
]
|
||||||
|
'Thread Watcher': [
|
||||||
|
true
|
||||||
|
'Bookmark threads.'
|
||||||
|
]
|
||||||
|
'Auto Watch': [
|
||||||
|
true
|
||||||
|
'Automatically watch threads you start.'
|
||||||
|
]
|
||||||
|
'Auto Watch Reply': [
|
||||||
|
false
|
||||||
|
'Automatically watch threads you reply to.'
|
||||||
|
]
|
||||||
|
|
||||||
'Posting':
|
'Posting':
|
||||||
'Quick Reply': [true, 'All-in-one form to reply, create threads, automate dumping and more.']
|
'Quick Reply': [
|
||||||
'Persistent QR': [false, 'The Quick reply won\'t disappear after posting.']
|
true
|
||||||
'Auto Hide QR': [false, 'Automatically hide the quick reply when posting.']
|
'All-in-one form to reply, create threads, automate dumping and more.'
|
||||||
'Remember Subject': [false, 'Remember the subject field, instead of resetting after posting.']
|
]
|
||||||
'Remember Spoiler': [false, 'Remember the spoiler state, instead of resetting after posting.']
|
'Persistent QR': [
|
||||||
'Hide Original Post Form': [true, 'Hide the normal post form.']
|
false
|
||||||
|
'The Quick reply won\'t disappear after posting.'
|
||||||
|
]
|
||||||
|
'Auto Hide QR': [
|
||||||
|
false
|
||||||
|
'Automatically hide the quick reply when posting.'
|
||||||
|
]
|
||||||
|
'Remember Subject': [
|
||||||
|
false
|
||||||
|
'Remember the subject field, instead of resetting after posting.'
|
||||||
|
]
|
||||||
|
'Remember Spoiler': [
|
||||||
|
false
|
||||||
|
'Remember the spoiler state, instead of resetting after posting.'
|
||||||
|
]
|
||||||
|
'Hide Original Post Form': [
|
||||||
|
true
|
||||||
|
'Hide the normal post form.'
|
||||||
|
]
|
||||||
|
|
||||||
'Quote links':
|
'Quote links':
|
||||||
'Quote Backlinks': [true, 'Add quote backlinks.']
|
'Quote Backlinks': [
|
||||||
'OP Backlinks': [false, 'Add backlinks to the OP.']
|
true
|
||||||
'Quote Inlining': [true, 'Inline quoted post on click.']
|
'Add quote backlinks.'
|
||||||
'Forward Hiding': [true, 'Hide original posts of inlined backlinks.']
|
]
|
||||||
'Quote Previewing': [true, 'Show quoted post on hover.']
|
'OP Backlinks': [
|
||||||
'Quote Highlighting': [true, 'Highlight the previewed post.']
|
false
|
||||||
'Resurrect Quotes': [true, 'Link dead quotes to the archives.']
|
'Add backlinks to the OP.'
|
||||||
'Mark Quotes of You': [true, 'Add \'(You)\' to quotes linking to your posts.']
|
]
|
||||||
'Mark OP Quotes': [true, 'Add \'(OP)\' to OP quotes.']
|
'Quote Inlining': [
|
||||||
'Mark Cross-thread Quotes': [true, 'Add \'(Cross-thread)\' to cross-threads quotes.']
|
true
|
||||||
|
'Inline quoted post on click.'
|
||||||
|
]
|
||||||
|
'Forward Hiding': [
|
||||||
|
true
|
||||||
|
'Hide original posts of inlined backlinks.'
|
||||||
|
]
|
||||||
|
'Quote Previewing': [
|
||||||
|
true
|
||||||
|
'Show quoted post on hover.'
|
||||||
|
]
|
||||||
|
'Quote Highlighting': [
|
||||||
|
true
|
||||||
|
'Highlight the previewed post.'
|
||||||
|
]
|
||||||
|
'Resurrect Quotes': [
|
||||||
|
true
|
||||||
|
'Link dead quotes to the archives.'
|
||||||
|
]
|
||||||
|
'Mark Quotes of You': [
|
||||||
|
true
|
||||||
|
'Add \'(You)\' to quotes linking to your posts.'
|
||||||
|
]
|
||||||
|
'Mark OP Quotes': [
|
||||||
|
true
|
||||||
|
'Add \'(OP)\' to OP quotes.'
|
||||||
|
]
|
||||||
|
'Mark Cross-thread Quotes': [
|
||||||
|
true
|
||||||
|
'Add \'(Cross-thread)\' to cross-threads quotes.'
|
||||||
|
]
|
||||||
|
|
||||||
imageExpansion:
|
imageExpansion:
|
||||||
'Fit width': [true, '']
|
'Fit width': [
|
||||||
'Fit height': [false, '']
|
true
|
||||||
'Expand spoilers': [true, 'Expand all images along with spoilers.']
|
''
|
||||||
'Expand from here': [true, 'Expand all images only from current position to thread end.']
|
]
|
||||||
|
'Fit height': [
|
||||||
|
false
|
||||||
|
''
|
||||||
|
]
|
||||||
|
'Expand spoilers': [
|
||||||
|
true
|
||||||
|
'Expand all images along with spoilers.'
|
||||||
|
]
|
||||||
|
'Expand from here': [
|
||||||
|
true
|
||||||
|
'Expand all images only from current position to thread end.'
|
||||||
|
]
|
||||||
|
|
||||||
filter:
|
filter:
|
||||||
name: [
|
name: """
|
||||||
'# Filter any namefags:'
|
# Filter any namefags:
|
||||||
'#/^(?!Anonymous$)/'
|
#/^(?!Anonymous$)/
|
||||||
].join '\n'
|
"""
|
||||||
uniqueID: [
|
|
||||||
'# Filter a specific ID:'
|
uniqueID: """
|
||||||
'#/Txhvk1Tl/'
|
# Filter a specific ID:
|
||||||
].join '\n'
|
#/Txhvk1Tl/
|
||||||
tripcode: [
|
"""
|
||||||
'# Filter any tripfag'
|
|
||||||
'#/^!/'
|
tripcode: """
|
||||||
].join '\n'
|
# Filter any tripfag
|
||||||
capcode: [
|
#/^!/
|
||||||
'# Set a custom class for mods:'
|
"""
|
||||||
'#/Mod$/;highlight:mod;op:yes'
|
|
||||||
'# Set a custom class for moot:'
|
capcode: """
|
||||||
'#/Admin$/;highlight:moot;op:yes'
|
# Set a custom class for mods:
|
||||||
].join '\n'
|
#/Mod$/;highlight:mod;op:yes
|
||||||
email: [
|
# Set a custom class for moot:
|
||||||
'# Filter any e-mails that are not `sage` on /a/ and /jp/:'
|
#/Admin$/;highlight:moot;op:yes
|
||||||
'#/^(?!sage$)/;boards:a,jp'
|
"""
|
||||||
].join '\n'
|
|
||||||
subject: [
|
email: """
|
||||||
'# Filter Generals on /v/:'
|
# Filter any e-mails that are not `sage` on /a/ and /jp/:
|
||||||
'#/general/i;boards:v;op:only'
|
#/^(?!sage$)/;boards:a,jp
|
||||||
].join '\n'
|
"""
|
||||||
comment: [
|
subject: """
|
||||||
'# Filter Stallman copypasta on /g/:'
|
# Filter Generals on /v/:
|
||||||
'#/what you\'re refer+ing to as linux/i;boards:g'
|
#/general/i;boards:v;op:only
|
||||||
].join '\n'
|
"""
|
||||||
flag: [
|
|
||||||
''
|
comment: """
|
||||||
].join '\n'
|
# Filter Stallman copypasta on /g/:
|
||||||
filename: [
|
#/what you\'re refer+ing to as linux/i;boards:g
|
||||||
''
|
"""
|
||||||
].join '\n'
|
|
||||||
dimensions: [
|
flag: ''
|
||||||
'# Highlight potential wallpapers:'
|
filename: ''
|
||||||
'#/1920x1080/;op:yes;highlight;top:no;boards:w,wg'
|
dimensions: """
|
||||||
].join '\n'
|
# Highlight potential wallpapers:
|
||||||
filesize: [
|
#/1920x1080/;op:yes;highlight;top:no;boards:w,wg
|
||||||
''
|
"""
|
||||||
].join '\n'
|
|
||||||
MD5: [
|
filesize: ''
|
||||||
''
|
|
||||||
].join '\n'
|
MD5: ''
|
||||||
sauces: [
|
|
||||||
'http://iqdb.org/?url=%turl'
|
sauces: """
|
||||||
'http://www.google.com/searchbyimage?image_url=%turl'
|
http://iqdb.org/?url=%turl
|
||||||
'#http://tineye.com/search?url=%turl'
|
http://www.google.com/searchbyimage?image_url=%turl
|
||||||
'#http://saucenao.com/search.php?db=999&url=%turl'
|
#http://tineye.com/search?url=%turl
|
||||||
'#http://3d.iqdb.org/?url=%turl'
|
#http://saucenao.com/search.php?db=999&url=%turl
|
||||||
'#http://regex.info/exif.cgi?imgurl=%url'
|
#http://3d.iqdb.org/?url=%turl
|
||||||
'# uploaders:'
|
#http://regex.info/exif.cgi?imgurl=%url
|
||||||
'#http://imgur.com/upload?url=%url;text:Upload to imgur'
|
# uploaders:
|
||||||
'#http://omploader.org/upload?url1=%url;text:Upload to omploader'
|
#http://imgur.com/upload?url=%url;text:Upload to imgur
|
||||||
'# "View Same" in archives:'
|
#http://omploader.org/upload?url1=%url;text:Upload to omploader
|
||||||
'#//archive.foolz.us/_/search/image/%MD5/;text:View same on foolz'
|
# "View Same" in archives:
|
||||||
'#//archive.foolz.us/%board/search/image/%MD5/;text:View same on foolz /%board/'
|
#//archive.foolz.us/_/search/image/%MD5/;text:View same on foolz
|
||||||
'#//archive.installgentoo.net/%board/image/%MD5;text:View same on installgentoo /%board/'
|
#//archive.foolz.us/%board/search/image/%MD5/;text:View same on foolz /%board/
|
||||||
].join '\n'
|
#//archive.installgentoo.net/%board/image/%MD5;text:View same on installgentoo /%board/
|
||||||
|
"""
|
||||||
|
|
||||||
time: '%m/%d/%y(%a)%H:%M:%S'
|
time: '%m/%d/%y(%a)%H:%M:%S'
|
||||||
|
|
||||||
backlink: '>>%id'
|
backlink: '>>%id'
|
||||||
|
|
||||||
fileInfo: '%l (%p%s, %r)'
|
fileInfo: '%l (%p%s, %r)'
|
||||||
|
|
||||||
favicon: 'ferongr'
|
favicon: 'ferongr'
|
||||||
|
|
||||||
usercss: ''
|
usercss: ''
|
||||||
|
|
||||||
hotkeys:
|
hotkeys:
|
||||||
# QR & Options
|
# QR & Options
|
||||||
'Open empty QR': ['q', 'Open QR without post number inserted.']
|
'Open empty QR': [
|
||||||
'Open QR': ['Shift+q', 'Open QR with post number inserted.']
|
'q'
|
||||||
'Open settings': ['Alt+o', 'Open Settings.']
|
'Open QR without post number inserted.'
|
||||||
'Close': ['Esc', 'Close Settings, Notifications or QR.']
|
]
|
||||||
'Spoiler tags': ['Ctrl+s', 'Insert spoiler tags.']
|
'Open QR': [
|
||||||
'Code tags': ['Alt+c', 'Insert code tags.']
|
'Shift+q'
|
||||||
'Math tags': ['Alt+m', 'Insert math tags.']
|
'Open QR with post number inserted.'
|
||||||
'Submit QR': ['Alt+s', 'Submit post.']
|
]
|
||||||
|
'Open settings': [
|
||||||
|
'Alt+o'
|
||||||
|
'Open Settings.'
|
||||||
|
]
|
||||||
|
'Close': [
|
||||||
|
'Esc'
|
||||||
|
'Close Settings, Notifications or QR.'
|
||||||
|
]
|
||||||
|
'Spoiler tags': [
|
||||||
|
'Ctrl+s'
|
||||||
|
'Insert spoiler tags.'
|
||||||
|
]
|
||||||
|
'Code tags': [
|
||||||
|
'Alt+c'
|
||||||
|
'Insert code tags.'
|
||||||
|
]
|
||||||
|
'Math tags': [
|
||||||
|
'Alt+m'
|
||||||
|
'Insert math tags.'
|
||||||
|
]
|
||||||
|
'Submit QR': [
|
||||||
|
'Alt+s'
|
||||||
|
'Submit post.'
|
||||||
|
]
|
||||||
# Thread related
|
# Thread related
|
||||||
'Watch': ['w', 'Watch thread.']
|
'Watch': [
|
||||||
'Update': ['r', 'Update the thread now.']
|
'w'
|
||||||
|
'Watch thread.'
|
||||||
|
]
|
||||||
|
'Update': [
|
||||||
|
'r'
|
||||||
|
'Update the thread now.'
|
||||||
|
]
|
||||||
# Images
|
# Images
|
||||||
'Expand image': ['Shift+e', 'Expand selected image.']
|
'Expand image': [
|
||||||
'Expand images': ['e', 'Expand all images.']
|
'Shift+e'
|
||||||
|
'Expand selected image.'
|
||||||
|
]
|
||||||
|
'Expand images': [
|
||||||
|
'e'
|
||||||
|
'Expand all images.'
|
||||||
|
]
|
||||||
# Board Navigation
|
# Board Navigation
|
||||||
'Front page': ['0', 'Jump to page 0.']
|
'Front page': [
|
||||||
'Open front page': ['Shift+0', 'Open page 0 in a new tab.']
|
'0'
|
||||||
'Next page': ['Right', 'Jump to the next page.']
|
'Jump to page 0.'
|
||||||
'Previous page': ['Left', 'Jump to the previous page.']
|
]
|
||||||
|
'Open front page': [
|
||||||
|
'Shift+0'
|
||||||
|
'Open page 0 in a new tab.'
|
||||||
|
]
|
||||||
|
'Next page': [
|
||||||
|
'Right'
|
||||||
|
'Jump to the next page.'
|
||||||
|
]
|
||||||
|
'Previous page': [
|
||||||
|
'Left'
|
||||||
|
'Jump to the previous page.'
|
||||||
|
]
|
||||||
# Thread Navigation
|
# Thread Navigation
|
||||||
'Next thread': ['Down', 'See next thread.']
|
'Next thread': [
|
||||||
'Previous thread': ['Up', 'See previous thread.']
|
'Down'
|
||||||
'Expand thread': ['Ctrl+e', 'Expand thread.']
|
'See next thread.'
|
||||||
'Open thread': ['o', 'Open thread in current tab.']
|
]
|
||||||
'Open thread tab': ['Shift+o', 'Open thread in new tab.']
|
'Previous thread': [
|
||||||
|
'Up'
|
||||||
|
'See previous thread.'
|
||||||
|
]
|
||||||
|
'Expand thread': [
|
||||||
|
'Ctrl+e'
|
||||||
|
'Expand thread.'
|
||||||
|
]
|
||||||
|
'Open thread': [
|
||||||
|
'o'
|
||||||
|
'Open thread in current tab.'
|
||||||
|
]
|
||||||
|
'Open thread tab': [
|
||||||
|
'Shift+o'
|
||||||
|
'Open thread in new tab.'
|
||||||
|
]
|
||||||
# Reply Navigation
|
# Reply Navigation
|
||||||
'Next reply': ['j', 'Select next reply.']
|
'Next reply': [
|
||||||
'Previous reply': ['k', 'Select previous reply.']
|
'j'
|
||||||
'Hide': ['x', 'Hide thread.']
|
'Select next reply.'
|
||||||
|
]
|
||||||
|
'Previous reply': [
|
||||||
|
'k'
|
||||||
|
'Select previous reply.'
|
||||||
|
]
|
||||||
|
'Hide': [
|
||||||
|
'x'
|
||||||
|
'Hide thread.'
|
||||||
|
]
|
||||||
updater:
|
updater:
|
||||||
checkbox:
|
checkbox:
|
||||||
'Beep': [false, 'Beep on new post to completely read thread.']
|
'Beep': [
|
||||||
'Auto Scroll': [false, 'Scroll updated posts into view. Only enabled at bottom of page.']
|
false
|
||||||
'Bottom Scroll': [false, 'Always scroll to the bottom, not the first new post. Useful for event threads.']
|
'Beep on new post to completely read thread.'
|
||||||
'Scroll BG': [false, 'Auto-scroll background tabs.']
|
]
|
||||||
'Auto Update': [true, 'Automatically fetch new posts.']
|
'Auto Scroll': [
|
||||||
|
false
|
||||||
|
'Scroll updated posts into view. Only enabled at bottom of page.'
|
||||||
|
]
|
||||||
|
'Bottom Scroll': [
|
||||||
|
false
|
||||||
|
'Always scroll to the bottom, not the first new post. Useful for event threads.'
|
||||||
|
]
|
||||||
|
'Scroll BG': [
|
||||||
|
false
|
||||||
|
'Auto-scroll background tabs.'
|
||||||
|
]
|
||||||
|
'Auto Update': [
|
||||||
|
true
|
||||||
|
'Automatically fetch new posts.'
|
||||||
|
]
|
||||||
'Interval': 30
|
'Interval': 30
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user