1
Fork 0

Switch to Gulp

This commit is contained in:
Bauke 2018-06-20 12:11:19 +02:00
parent 2c7c1278fa
commit 9a9fdf26c3
Signed by: Bauke
GPG Key ID: C1C0F29952BCF558
16 changed files with 859 additions and 585 deletions

View File

@ -1,33 +1 @@
@-moz-document domain('notabug.io') { .thing .title { color: #8be9fd; }
.thing .title:hover, .thing .title:active, .thing .title:focus { color: #ff79c6; }
.thing .title:visited { color: #ff79c6; }
#header { border-bottom: 2px solid #44475a; background-color: #282a36; }
.tabmenu li a { color: #f8f8f2; background-color: #44475a; padding: 5px 10px 0px 10px; }
.tabmenu li.selected a { color: #f8f8f2; border: none; background-color: #6272a4; }
#header-bottom-right { color: #f8f8f2; border-radius: 0; background-color: #44475a; padding: 6px 10px; }
body { color: #f8f8f2; background-color: #44475a; }
a { color: #8be9fd; }
a:hover, a:active, a:focus { color: #ff79c6; }
blockquote, .md blockquote { color: #f8f8f2; background-color: #282a36; border-left-color: #f8f8f2; }
hr, .md hr { background-color: #6272a4; }
pre, .md pre { color: #f8f8f2; background-color: #44475a; border-radius: 0; border: none; }
.side { background-color: #282a36; margin: 0; }
.side .login-form-side { margin: 0 10px; border: none; }
.side .login-form-side .status { margin: 7px 0px 0px 0px; border: none; padding: 10px; font-weight: bold; }
.side .login-form-side input[type='password'], .side .login-form-side input[type='text'] { width: 100%; margin: 7px 0px 0px 0px; border: 1px solid #6272a4; color: #f8f8f2; background-color: #44475a; font-family: sans-serif; font-weight: bold; }
.side .login-form-side input[type='password']::placeholder, .side .login-form-side input[type='text']::placeholder { color: #f8f8f2; font-family: sans-serif; font-weight: bold; }
.side .login-form-side .submit { margin: 7px 0px 0px 0px; }
.side .login-form-side .submit button { padding: 4px 48px; border-radius: 0; border: 1px solid #6272a4; color: #f8f8f2; background-color: #44475a; }
.side .login-form-side .submit button:hover, .side .login-form-side .submit button:active, .side .login-form-side .submit button:focus { background-color: #6272a4; }
.side .reddit-infobar { color: #282a36; background-color: #f1fa8c; border: none; margin: 0px 10px; }
.side .morelink { margin: 0px 10px; border: 1px solid #6272a4; background: none; background-color: #44475a; }
.side .morelink .nub { background: none; }
.side .morelink a { color: #8be9fd; }
.side .morelink a:hover, .side .morelink a:active, .side .morelink a:focus { color: #ff79c6; }
.side .titlebox { margin: 0px 10px; }
.side .md { color: #f8f8f2; }
.side pre, .side .md pre { overflow: hidden; }
.side .bottom { color: #f8f8f2; border: none; padding-top: 4px; }
.side .spacer { margin: 7px 0px; }
.side hr { display: none; }
.error, .red { color: #282a36; background-color: #ff5555; } }
@-moz-document domain('notabug.io'){.thing .title{color:#8be9fd}.thing .title:hover,.thing .title:active,.thing .title:focus{color:#ff79c6}.thing .title:visited{color:#ff79c6}#header{border-bottom:2px solid #44475a;background-color:#282a36}.tabmenu li a{color:#f8f8f2;background-color:#44475a;padding:5px 10px 0px 10px}.tabmenu li.selected a{color:#f8f8f2;border:none;background-color:#6272a4}#header-bottom-right{color:#f8f8f2;border-radius:0;background-color:#44475a;padding:6px 10px}body{color:#f8f8f2;background-color:#44475a}a{color:#8be9fd}a:hover,a:active,a:focus{color:#ff79c6}blockquote,.md blockquote{color:#f8f8f2;background-color:#282a36;border-left-color:#f8f8f2}hr,.md hr{background-color:#6272a4}pre,.md pre{color:#f8f8f2;background-color:#44475a;border-radius:0;border:none}.side{background-color:#282a36;margin:0}.side .login-form-side{margin:0 10px;border:none}.side .login-form-side .status{margin:7px 0px 0px 0px;border:none;padding:10px;font-weight:bold}.side .login-form-side input[type='password'],.side .login-form-side input[type='text']{width:100%;margin:7px 0px 0px 0px;border:1px solid #6272a4;color:#f8f8f2;background-color:#44475a;font-family:sans-serif;font-weight:bold}.side .login-form-side input[type='password']::placeholder,.side .login-form-side input[type='text']::placeholder{color:#f8f8f2;font-family:sans-serif;font-weight:bold}.side .login-form-side .submit{margin:7px 0px 0px 0px}.side .login-form-side .submit button{padding:4px 48px;border-radius:0;border:1px solid #6272a4;color:#f8f8f2;background-color:#44475a}.side .login-form-side .submit button:hover,.side .login-form-side .submit button:active,.side .login-form-side .submit button:focus{background-color:#6272a4}.side .reddit-infobar{color:#282a36;background-color:#f1fa8c;border:none;margin:0px 10px}.side .morelink{margin:0px 10px;border:1px solid #6272a4;background:none;background-color:#44475a}.side .morelink .nub{background:none}.side .morelink a{color:#8be9fd}.side .morelink a:hover,.side .morelink a:active,.side .morelink a:focus{color:#ff79c6}.side .titlebox{margin:0px 10px}.side .md{color:#f8f8f2}.side pre,.side .md pre{overflow:hidden}.side .bottom{color:#f8f8f2;border:none;padding-top:4px}.side .spacer{margin:7px 0px}.side hr{display:none}.error,.red{color:#282a36;background-color:#f55}}

View File

@ -1,43 +1,11 @@
/* ==UserStyle==
@name Notabug Dracula
@namespace notabug.io
@version 1.0.0
@version 1.0.1
@author Bauke
@description Dracula theme for notabug.io
@homepageURL https://gitlab.com/Bauke/styles
@supportURL https://gitlab.com/Bauke/styles/issues
@license MIT
==/UserStyle== */
@-moz-document domain('notabug.io') { .thing .title { color: #8be9fd; }
.thing .title:hover, .thing .title:active, .thing .title:focus { color: #ff79c6; }
.thing .title:visited { color: #ff79c6; }
#header { border-bottom: 2px solid #44475a; background-color: #282a36; }
.tabmenu li a { color: #f8f8f2; background-color: #44475a; padding: 5px 10px 0px 10px; }
.tabmenu li.selected a { color: #f8f8f2; border: none; background-color: #6272a4; }
#header-bottom-right { color: #f8f8f2; border-radius: 0; background-color: #44475a; padding: 6px 10px; }
body { color: #f8f8f2; background-color: #44475a; }
a { color: #8be9fd; }
a:hover, a:active, a:focus { color: #ff79c6; }
blockquote, .md blockquote { color: #f8f8f2; background-color: #282a36; border-left-color: #f8f8f2; }
hr, .md hr { background-color: #6272a4; }
pre, .md pre { color: #f8f8f2; background-color: #44475a; border-radius: 0; border: none; }
.side { background-color: #282a36; margin: 0; }
.side .login-form-side { margin: 0 10px; border: none; }
.side .login-form-side .status { margin: 7px 0px 0px 0px; border: none; padding: 10px; font-weight: bold; }
.side .login-form-side input[type='password'], .side .login-form-side input[type='text'] { width: 100%; margin: 7px 0px 0px 0px; border: 1px solid #6272a4; color: #f8f8f2; background-color: #44475a; font-family: sans-serif; font-weight: bold; }
.side .login-form-side input[type='password']::placeholder, .side .login-form-side input[type='text']::placeholder { color: #f8f8f2; font-family: sans-serif; font-weight: bold; }
.side .login-form-side .submit { margin: 7px 0px 0px 0px; }
.side .login-form-side .submit button { padding: 4px 48px; border-radius: 0; border: 1px solid #6272a4; color: #f8f8f2; background-color: #44475a; }
.side .login-form-side .submit button:hover, .side .login-form-side .submit button:active, .side .login-form-side .submit button:focus { background-color: #6272a4; }
.side .reddit-infobar { color: #282a36; background-color: #f1fa8c; border: none; margin: 0px 10px; }
.side .morelink { margin: 0px 10px; border: 1px solid #6272a4; background: none; background-color: #44475a; }
.side .morelink .nub { background: none; }
.side .morelink a { color: #8be9fd; }
.side .morelink a:hover, .side .morelink a:active, .side .morelink a:focus { color: #ff79c6; }
.side .titlebox { margin: 0px 10px; }
.side .md { color: #f8f8f2; }
.side pre, .side .md pre { overflow: hidden; }
.side .bottom { color: #f8f8f2; border: none; padding-top: 4px; }
.side .spacer { margin: 7px 0px; }
.side hr { display: none; }
.error, .red { color: #282a36; background-color: #ff5555; } }
@-moz-document domain('notabug.io'){.thing .title{color:#8be9fd}.thing .title:hover,.thing .title:active,.thing .title:focus{color:#ff79c6}.thing .title:visited{color:#ff79c6}#header{border-bottom:2px solid #44475a;background-color:#282a36}.tabmenu li a{color:#f8f8f2;background-color:#44475a;padding:5px 10px 0px 10px}.tabmenu li.selected a{color:#f8f8f2;border:none;background-color:#6272a4}#header-bottom-right{color:#f8f8f2;border-radius:0;background-color:#44475a;padding:6px 10px}body{color:#f8f8f2;background-color:#44475a}a{color:#8be9fd}a:hover,a:active,a:focus{color:#ff79c6}blockquote,.md blockquote{color:#f8f8f2;background-color:#282a36;border-left-color:#f8f8f2}hr,.md hr{background-color:#6272a4}pre,.md pre{color:#f8f8f2;background-color:#44475a;border-radius:0;border:none}.side{background-color:#282a36;margin:0}.side .login-form-side{margin:0 10px;border:none}.side .login-form-side .status{margin:7px 0px 0px 0px;border:none;padding:10px;font-weight:bold}.side .login-form-side input[type='password'],.side .login-form-side input[type='text']{width:100%;margin:7px 0px 0px 0px;border:1px solid #6272a4;color:#f8f8f2;background-color:#44475a;font-family:sans-serif;font-weight:bold}.side .login-form-side input[type='password']::placeholder,.side .login-form-side input[type='text']::placeholder{color:#f8f8f2;font-family:sans-serif;font-weight:bold}.side .login-form-side .submit{margin:7px 0px 0px 0px}.side .login-form-side .submit button{padding:4px 48px;border-radius:0;border:1px solid #6272a4;color:#f8f8f2;background-color:#44475a}.side .login-form-side .submit button:hover,.side .login-form-side .submit button:active,.side .login-form-side .submit button:focus{background-color:#6272a4}.side .reddit-infobar{color:#282a36;background-color:#f1fa8c;border:none;margin:0px 10px}.side .morelink{margin:0px 10px;border:1px solid #6272a4;background:none;background-color:#44475a}.side .morelink .nub{background:none}.side .morelink a{color:#8be9fd}.side .morelink a:hover,.side .morelink a:active,.side .morelink a:focus{color:#ff79c6}.side .titlebox{margin:0px 10px}.side .md{color:#f8f8f2}.side pre,.side .md pre{overflow:hidden}.side .bottom{color:#f8f8f2;border:none;padding-top:4px}.side .spacer{margin:7px 0px}.side hr{display:none}.error,.red{color:#282a36;background-color:#f55}}

8
css/tildes-compact/tildes-compact.css Executable file → Normal file
View File

@ -1,7 +1 @@
@-moz-document domain('tildes.net') { .topic-listing .topic-text-excerpt, .post-listing .topic-text-excerpt { display: none !important; }
.topic-listing .topic-metadata, .post-listing .topic-metadata { display: inline-flex !important; height: 1.3em !important; max-width: 200px !important; overflow: hidden !important; white-space: nowrap !important; }
.topic-listing .topic-metadata .topic-tags li, .post-listing .topic-metadata .topic-tags li { display: none !important; }
.topic-listing .topic-metadata .topic-tags li:nth-child(-n+3), .post-listing .topic-metadata .topic-tags li:nth-child(-n+3) { display: inherit !important; }
.topic-listing .topic-info, .post-listing .topic-info { width: 500px !important; }
.topic-listing .topic-info .user-label, .post-listing .topic-info .user-label { display: none !important; }
.post-listing .post-buttons, .post-listing .comment-votes { display: none !important; } }
@-moz-document domain('tildes.net'){.topic-listing .topic-text-excerpt,.post-listing .topic-text-excerpt{display:none !important}.topic-listing .topic-metadata,.post-listing .topic-metadata{display:inline-flex !important;height:1.3em !important;max-width:200px !important;overflow:hidden !important;white-space:nowrap !important}.topic-listing .topic-metadata .topic-tags li,.post-listing .topic-metadata .topic-tags li{display:none !important}.topic-listing .topic-metadata .topic-tags li:nth-child(-n+3),.post-listing .topic-metadata .topic-tags li:nth-child(-n+3){display:inherit !important}.topic-listing .topic-info,.post-listing .topic-info{width:500px !important}.topic-listing .topic-info .user-label,.post-listing .topic-info .user-label{display:none !important}.post-listing .post-buttons,.post-listing .comment-votes{display:none !important}}

View File

@ -1,17 +1,11 @@
/* ==UserStyle==
@name Tildes Compact
@namespace tildes.net
@version 1.0.0
@version 1.0.1
@author Bauke
@description Removes some elements and changes some sizes to make the Tildes.net layout a little more compact.
@homepageURL https://gitlab.com/Bauke/styles
@supportURL https://gitlab.com/Bauke/styles/issues
@license MIT
==/UserStyle== */
@-moz-document domain('tildes.net') { .topic-listing .topic-text-excerpt, .post-listing .topic-text-excerpt { display: none !important; }
.topic-listing .topic-metadata, .post-listing .topic-metadata { display: inline-flex !important; height: 1.3em !important; max-width: 200px !important; overflow: hidden !important; white-space: nowrap !important; }
.topic-listing .topic-metadata .topic-tags li, .post-listing .topic-metadata .topic-tags li { display: none !important; }
.topic-listing .topic-metadata .topic-tags li:nth-child(-n+3), .post-listing .topic-metadata .topic-tags li:nth-child(-n+3) { display: inherit !important; }
.topic-listing .topic-info, .post-listing .topic-info { width: 500px !important; }
.topic-listing .topic-info .user-label, .post-listing .topic-info .user-label { display: none !important; }
.post-listing .post-buttons, .post-listing .comment-votes { display: none !important; } }
@-moz-document domain('tildes.net'){.topic-listing .topic-text-excerpt,.post-listing .topic-text-excerpt{display:none !important}.topic-listing .topic-metadata,.post-listing .topic-metadata{display:inline-flex !important;height:1.3em !important;max-width:200px !important;overflow:hidden !important;white-space:nowrap !important}.topic-listing .topic-metadata .topic-tags li,.post-listing .topic-metadata .topic-tags li{display:none !important}.topic-listing .topic-metadata .topic-tags li:nth-child(-n+3),.post-listing .topic-metadata .topic-tags li:nth-child(-n+3){display:inherit !important}.topic-listing .topic-info,.post-listing .topic-info{width:500px !important}.topic-listing .topic-info .user-label,.post-listing .topic-info .user-label{display:none !important}.post-listing .post-buttons,.post-listing .comment-votes{display:none !important}}

83
css/tildes-dracula/tildes-dracula.css Executable file → Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,52 +0,0 @@
// Generates all *.user.css styles.
// Require dependencies
// const fs = require('fs')
const { bump } = require('./bump.js')
const klawSync = require('klaw-sync')
const path = require('path')
const userCss = require('usercss-creator')
// Define constants
const stylesDirectory = path.join(__dirname, 'sass')
const cssDirectory = path.join(__dirname, 'css')
// Walk recursively through styles directory
let files = klawSync(stylesDirectory, {nodir: true})
// Filter out any files that aren't .json files
files = files.filter(file => path.extname(file.path) === '.json')
let style
let incrementType
for (const arg of process.argv) {
if (arg.includes('--bump')) {
style = arg.substring('--bump='.length, arg.length)
}
switch (arg) {
case 'major':
incrementType = 'major'
break
case 'minor':
incrementType = 'minor'
break
case 'patch':
incrementType = 'patch'
break
}
}
// Iterate through all .json files
for (const file of files) {
// Requiring the .json file as the descriptor of the style
const descriptor = require(file.path)
// Test if the style we want to bump is the one currently generating
if (style === descriptor.folder) {
// Bump the style's .json with the increment type
bump(file.path, incrementType)
}
// Creating the css path and generating the .user.css file with the options
const cssPath = path.join(cssDirectory, descriptor.folder, descriptor.entry)
userCss.create(cssPath, descriptor.options)
}

92
gulpfile.js Normal file
View File

@ -0,0 +1,92 @@
const gulp = require('gulp')
const eslint = require('gulp-eslint')
const stylelint = require('gulp-stylelint')
const sass = require('gulp-sass')
gulp.task('lint:js', () => {
return gulp.src(['**/*.js','!node_modules/**'])
.pipe(eslint())
.pipe(eslint.format())
})
gulp.task('lint:sass', () => {
const options = {
reporters: [{formatter: 'string', console: true}]
}
return gulp.src('sass/**/*.sass')
.pipe(stylelint(options))
})
gulp.task('build:dev', () => {
const options = {
outputStyle: 'compressed'
}
return gulp.src('sass/**/*.sass')
.pipe(sass(options).on('error', sass.logError))
.pipe(gulp.dest('temp'))
})
gulp.task('build:prod', () => {
const options = {
outputStyle: 'compressed'
}
return gulp.src('sass/**/*.sass')
.pipe(sass(options).on('error', sass.logError))
.pipe(gulp.dest('css'))
})
gulp.task('generate', ['lint:js', 'lint:sass', 'build:prod'], () => {
// Generates all *.user.css styles.
const { bump } = require('./bump.js')
const klawSync = require('klaw-sync')
const path = require('path')
const userCss = require('usercss-creator')
// Define constants
const stylesDirectory = path.join(__dirname, 'sass')
const cssDirectory = path.join(__dirname, 'css')
// Walk recursively through styles directory
let files = klawSync(stylesDirectory, {nodir: true})
// Filter out any files that aren't .json files
files = files.filter(file => path.extname(file.path) === '.json')
let style
let incrementType
for (const arg of process.argv) {
if (arg.includes('--bump')) {
style = arg.substring('--bump='.length, arg.length)
}
switch (arg) {
case '--major':
incrementType = 'major'
break
case '--minor':
incrementType = 'minor'
break
case '--patch':
incrementType = 'patch'
break
}
}
// Iterate through all .json files
for (const file of files) {
// Requiring the .json file as the descriptor of the style
const descriptor = require(file.path)
// Test if the style we want to bump is the one currently generating
if (style === descriptor.folder) {
// Bump the style's .json with the increment type
bump(file.path, incrementType)
}
// Create the css path and generate the .user.css file with the options
const cssPath = path.join(cssDirectory, descriptor.folder, descriptor.entry)
userCss.create(cssPath, descriptor.options)
}
})
gulp.task('watch', () => {
gulp.watch('sass/**/*.sass', ['lint:js', 'lint:sass', 'build:dev'])
})

View File

@ -8,15 +8,13 @@
},
"license": "MIT",
"scripts": {
"release signature example: yarn release --bump=tildes-monokai minor": "echo \"no.\"",
"release": "yarn lint && yarn build:prod && yarn generate",
"watch": "node-sass -w sass -o temp",
"generate": "node generate.js",
"build:dev": "node-sass sass -o temp --output-style compact",
"build:prod": "node-sass sass -o css -q --output-style compact",
"lint": "yarn lint:js && yarn lint:css",
"lint:js": "eslint . --color",
"lint:css": "stylelint \"sass/**/*.sass\" --color"
"watch": "gulp watch",
"generate": "gulp generate",
"build:dev": "gulp build:dev",
"build:prod": "gulp build:prod",
"lint": "yarn lint:js && yarn lint:sass",
"lint:js": "gulp lint:js",
"lint:css": "gulp lint:sass"
},
"dependencies": {
"klaw-sync": "^4.0.0",
@ -25,6 +23,10 @@
},
"devDependencies": {
"eslint": "^4.19.1",
"gulp": "^3.9.1",
"gulp-eslint": "^4.0.2",
"gulp-sass": "^4.0.1",
"gulp-stylelint": "^7.0.0",
"stylelint": "^9.2.1",
"stylelint-config-recommended": "^2.1.0"
}

View File

@ -4,11 +4,11 @@
"options": {
"name": "Notabug Dracula",
"namespace": "notabug.io",
"version": "1.0.0",
"version": "1.0.1",
"author": "Bauke",
"description": "Dracula theme for notabug.io",
"homepageURL": "https://gitlab.com/Bauke/styles",
"supportURL": "https://gitlab.com/Bauke/styles/issues",
"license": "MIT"
}
}
}

View File

@ -4,7 +4,7 @@
"options": {
"name": "Tildes Compact",
"namespace": "tildes.net",
"version": "1.0.0",
"version": "1.0.1",
"author": "Bauke",
"description": "Removes some elements and changes some sizes to make the Tildes.net layout a little more compact.",
"homepageURL": "https://gitlab.com/Bauke/styles",

View File

@ -4,7 +4,7 @@
"options": {
"name": "Tildes Dracula",
"namespace": "tildes.net",
"version": "1.0.0",
"version": "1.0.1",
"author": "Bauke",
"description": "Dracula theme for Tildes.net",
"homepageURL": "https://gitlab.com/Bauke/styles",

View File

@ -4,7 +4,7 @@
"options": {
"name": "Tildes Monokai",
"namespace": "tildes.net",
"version": "1.0.0",
"version": "1.0.1",
"author": "Bauke",
"description": "Monokai theme for Tildes.net",
"homepageURL": "https://gitlab.com/Bauke/styles",

756
yarn.lock

File diff suppressed because it is too large Load Diff