mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 01:36:22 +00:00
update how to calculate alternative color
This commit is contained in:
84
extra_scripts/codemirror/mode/bfm/bfm.css
vendored
84
extra_scripts/codemirror/mode/bfm/bfm.css
vendored
@@ -1,42 +1,44 @@
|
||||
.cm-table-row-even { background-color: rgb(242, 242, 242); }
|
||||
.cm-s-3024-day.CodeMirror .cm-table-row-even { background-color: rgb(235, 235, 235); }
|
||||
.cm-s-3024-night.CodeMirror .cm-table-row-even { background-color: rgb(12, 4, 0); }
|
||||
.cm-s-abcdef.CodeMirror .cm-table-row-even { background-color: rgb(20, 20, 20); }
|
||||
.cm-s-base16-dark.CodeMirror .cm-table-row-even { background-color: rgb(28, 28, 28); }
|
||||
.cm-s-base16-light.CodeMirror .cm-table-row-even { background-color: rgb(233, 233, 233); }
|
||||
.cm-s-bespin.CodeMirror .cm-table-row-even { background-color: rgb(54, 45, 38); }
|
||||
.cm-s-blackboard.CodeMirror .cm-table-row-even { background-color: rgb(16, 22, 45); }
|
||||
.cm-s-cobalt.CodeMirror .cm-table-row-even { background-color: rgb(0, 46, 86); }
|
||||
.cm-s-colorforth.CodeMirror .cm-table-row-even { background-color: rgb(0, 0, 0); }
|
||||
.cm-s-darcula.CodeMirror .cm-table-row-even { background-color: rgb(58, 58, 58); }
|
||||
.cm-s-dracula.CodeMirror .cm-table-row-even { background-color: rgb(54, 57, 73); }
|
||||
.cm-s-duotone-dark.CodeMirror .cm-table-row-even { background-color: rgb(57, 53, 70); }
|
||||
.cm-s-duotone-light.CodeMirror .cm-table-row-even { background-color: rgb(242, 236, 229); }
|
||||
.cm-s-erlang-dark.CodeMirror .cm-table-row-even { background-color: rgb(0, 46, 86); }
|
||||
.cm-s-gruvbox-dark.CodeMirror .cm-table-row-even { background-color: rgb(54, 54, 54); }
|
||||
.cm-s-hopscotch.CodeMirror .cm-table-row-even { background-color: rgb(68, 55, 66); }
|
||||
.cm-s-isotope.CodeMirror .cm-table-row-even { background-color: rgb(0, 0, 0); }
|
||||
.cm-s-lesser-dark.CodeMirror .cm-table-row-even { background-color: rgb(51, 51, 51); }
|
||||
.cm-s-liquibyte.CodeMirror .cm-table-row-even { background-color: rgb(0, 0, 0); }
|
||||
.cm-s-lucario.CodeMirror .cm-table-row-even { background-color: rgb(58, 84, 108); }
|
||||
.cm-s-material.CodeMirror .cm-table-row-even { background-color: rgb(51, 68, 76); }
|
||||
.cm-s-mbo.CodeMirror .cm-table-row-even { background-color: rgb(59, 59, 59); }
|
||||
.cm-s-midnight.CodeMirror .cm-table-row-even { background-color: rgb(20, 34, 57); }
|
||||
.cm-s-monokai.CodeMirror .cm-table-row-even { background-color: rgb(53, 54, 46); }
|
||||
.cm-s-neo.CodeMirror .cm-table-row-even { background-color: rgb(242, 242, 242); }
|
||||
.cm-s-night.CodeMirror .cm-table-row-even { background-color: rgb(14, 0, 42); }
|
||||
.cm-s-oceanic-next.CodeMirror .cm-table-row-even { background-color: rgb(65, 88, 97); }
|
||||
.cm-s-paraiso-dark.CodeMirror .cm-table-row-even { background-color: rgb(63, 41, 62); }
|
||||
.cm-s-paraiso-light.CodeMirror .cm-table-row-even { background-color: rgb(222, 224, 205); }
|
||||
.cm-s-pastel-on-dark.CodeMirror .cm-table-row-even { background-color: rgb(59, 54, 53); }
|
||||
.cm-s-railscasts.CodeMirror .cm-table-row-even { background-color: rgb(58, 58, 58); }
|
||||
.cm-s-rubyblue.CodeMirror .cm-table-row-even { background-color: rgb(23, 49, 72); }
|
||||
.cm-s-seti.CodeMirror .cm-table-row-even { background-color: rgb(28, 31, 32); }
|
||||
.cm-s-shadowfox.CodeMirror .cm-table-row-even { background-color: rgb(57, 57, 62); }
|
||||
.cm-s-the-matrix.CodeMirror .cm-table-row-even { background-color: rgb(0, 0, 0); }
|
||||
.cm-s-tomorrow-night-bright.CodeMirror .cm-table-row-even { background-color: rgb(0, 0, 0); }
|
||||
.cm-s-tomorrow-night-eighties.CodeMirror .cm-table-row-even { background-color: rgb(0, 0, 0); }
|
||||
.cm-s-twilight.CodeMirror .cm-table-row-even { background-color: rgb(27, 27, 27); }
|
||||
.cm-s-vibrant-ink.CodeMirror .cm-table-row-even { background-color: rgb(0, 0, 0); }
|
||||
.cm-s-xq-dark.CodeMirror .cm-table-row-even { background-color: rgb(14, 0, 42); }
|
||||
.cm-s-yeti.CodeMirror .cm-table-row-even { background-color: rgb(225, 222, 219); }
|
||||
.cm-s-3024-day.CodeMirror .cm-table-row-even { background-color: rgb(238, 237, 237); }
|
||||
.cm-s-3024-night.CodeMirror .cm-table-row-even { background-color: rgb(30, 24, 21); }
|
||||
.cm-s-abcdef.CodeMirror .cm-table-row-even { background-color: rgb(36, 39, 37); }
|
||||
.cm-s-ambiance.CodeMirror .cm-table-row-even { background-color: rgb(242, 242, 242); }
|
||||
.cm-s-base16-dark.CodeMirror .cm-table-row-even { background-color: rgb(41, 41, 41); }
|
||||
.cm-s-base16-light.CodeMirror .cm-table-row-even { background-color: rgb(234, 234, 234); }
|
||||
.cm-s-bespin.CodeMirror .cm-table-row-even { background-color: rgb(52, 45, 40); }
|
||||
.cm-s-blackboard.CodeMirror .cm-table-row-even { background-color: rgb(36, 39, 55); }
|
||||
.cm-s-cobalt.CodeMirror .cm-table-row-even { background-color: rgb(26, 56, 83); }
|
||||
.cm-s-colorforth.CodeMirror .cm-table-row-even { background-color: rgb(25, 25, 25); }
|
||||
.cm-s-darcula.CodeMirror .cm-table-row-even { background-color: rgb(56, 57, 59); }
|
||||
.cm-s-dracula.CodeMirror .cm-table-row-even { background-color: rgb(61, 63, 73); }
|
||||
.cm-s-duotone-dark.CodeMirror .cm-table-row-even { background-color: rgb(49, 45, 60); }
|
||||
.cm-s-duotone-light.CodeMirror .cm-table-row-even { background-color: rgb(246, 243, 238); }
|
||||
.cm-s-erlang-dark.CodeMirror .cm-table-row-even { background-color: rgb(26, 56, 83); }
|
||||
.cm-s-gruvbox-dark.CodeMirror .cm-table-row-even { background-color: rgb(55, 53, 51); }
|
||||
.cm-s-hopscotch.CodeMirror .cm-table-row-even { background-color: rgb(66, 58, 65); }
|
||||
.cm-s-isotope.CodeMirror .cm-table-row-even { background-color: rgb(22, 22, 22); }
|
||||
.cm-s-lesser-dark.CodeMirror .cm-table-row-even { background-color: rgb(58, 58, 57); }
|
||||
.cm-s-liquibyte.CodeMirror .cm-table-row-even { background-color: rgb(26, 26, 26); }
|
||||
.cm-s-lucario.CodeMirror .cm-table-row-even { background-color: rgb(64, 81, 96); }
|
||||
.cm-s-material.CodeMirror .cm-table-row-even { background-color: rgb(58, 69, 74); }
|
||||
.cm-s-mbo.CodeMirror .cm-table-row-even { background-color: rgb(65, 65, 63); }
|
||||
.cm-s-midnight.CodeMirror .cm-table-row-even { background-color: rgb(34, 46, 63); }
|
||||
.cm-s-monokai.CodeMirror .cm-table-row-even { background-color: rgb(60, 61, 55); }
|
||||
.cm-s-neo.CodeMirror .cm-table-row-even { background-color: rgb(245, 245, 245); }
|
||||
.cm-s-night.CodeMirror .cm-table-row-even { background-color: rgb(34, 25, 53); }
|
||||
.cm-s-oceanic-next.CodeMirror .cm-table-row-even { background-color: rgb(68, 83, 89); }
|
||||
.cm-s-paraiso-dark.CodeMirror .cm-table-row-even { background-color: rgb(61, 45, 59); }
|
||||
.cm-s-paraiso-light.CodeMirror .cm-table-row-even { background-color: rgb(223, 224, 211); }
|
||||
.cm-s-pastel-on-dark.CodeMirror .cm-table-row-even { background-color: rgb(54, 51, 49); }
|
||||
.cm-s-railscasts.CodeMirror .cm-table-row-even { background-color: rgb(63, 63, 62); }
|
||||
.cm-s-rubyblue.CodeMirror .cm-table-row-even { background-color: rgb(41, 58, 73); }
|
||||
.cm-s-seti.CodeMirror .cm-table-row-even { background-color: rgb(40, 42, 43); }
|
||||
.cm-s-shadowfox.CodeMirror .cm-table-row-even { background-color: rgb(56, 56, 59); }
|
||||
.cm-s-solarized.CodeMirror .cm-table-row-even { background-color: rgb(242, 242, 242); }
|
||||
.cm-s-the-matrix.CodeMirror .cm-table-row-even { background-color: rgb(0, 26, 0); }
|
||||
.cm-s-tomorrow-night-bright.CodeMirror .cm-table-row-even { background-color: rgb(23, 23, 23); }
|
||||
.cm-s-tomorrow-night-eighties.CodeMirror .cm-table-row-even { background-color: rgb(20, 20, 20); }
|
||||
.cm-s-twilight.CodeMirror .cm-table-row-even { background-color: rgb(43, 43, 43); }
|
||||
.cm-s-vibrant-ink.CodeMirror .cm-table-row-even { background-color: rgb(26, 26, 26); }
|
||||
.cm-s-xq-dark.CodeMirror .cm-table-row-even { background-color: rgb(34, 25, 53); }
|
||||
.cm-s-yeti.CodeMirror .cm-table-row-even { background-color: rgb(235, 232, 230); }
|
||||
41
gruntfile.js
41
gruntfile.js
@@ -286,28 +286,47 @@ module.exports = function (grunt) {
|
||||
})
|
||||
|
||||
grunt.registerTask('bfm', function () {
|
||||
const Color = require('color')
|
||||
const parseCSS = require('css').parse
|
||||
|
||||
const root = path.join(__dirname, 'node_modules/codemirror/theme/')
|
||||
|
||||
const colors = fs.readdirSync(root).map(file => {
|
||||
const css = require('css').parse(fs.readFileSync(path.join(root, file), 'utf8'))
|
||||
const css = parseCSS(fs.readFileSync(path.join(root, file), 'utf8'))
|
||||
|
||||
const rules = css.stylesheet.rules.filter(rule => rule.selectors && /\b\.CodeMirror$/.test(rule.selectors[0]))
|
||||
if (rules.length === 1) {
|
||||
const declarations = rules[0].declarations.filter(declaration => declaration.property === 'background-color' || declaration.property === 'background')
|
||||
if (declarations.length === 1) {
|
||||
let bgColor = require('color')(declarations[0].value.split(' ')[0])
|
||||
if (bgColor.isLight()) {
|
||||
bgColor = bgColor.darken(0.05)
|
||||
} else {
|
||||
bgColor = bgColor.lighten(0.35)
|
||||
}
|
||||
let bgColor = Color('white')
|
||||
let fgColor = Color('black')
|
||||
|
||||
return `${rules[0].selectors[0]} .cm-table-row-even { background-color: ${bgColor.rgb().string()}; }`
|
||||
rules[0].declarations.forEach(declaration => {
|
||||
if (declaration.property === 'background-color' || declaration.property === 'background') {
|
||||
bgColor = Color(declaration.value.split(' ')[0])
|
||||
}
|
||||
else if (declaration.property === 'color') {
|
||||
const value = /^(.*?)(?:\s*!important)?$/.exec(declaration.value)[1]
|
||||
let match = /^rgba\((.*?),\s*1\)$/.exec(value)
|
||||
if (match) {
|
||||
fgColor = Color(`rgb(${match[1]})`)
|
||||
} else {
|
||||
fgColor = Color(value)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if (bgColor.isLight()) {
|
||||
bgColor = bgColor.mix(fgColor, 0.05)
|
||||
} else {
|
||||
bgColor = bgColor.mix(fgColor, 0.1)
|
||||
}
|
||||
|
||||
return `${rules[0].selectors[0]} .cm-table-row-even { background-color: ${bgColor.rgb().string()}; }`
|
||||
}
|
||||
}).filter(value => !!value)
|
||||
|
||||
fs.writeFileSync(path.join(__dirname, 'extra_scripts/codemirror/mode/bfm/bfm.css'), ['.cm-table-row-even { background-color: rgb(242, 242, 242); }', ...colors].join('\n'), 'utf8')
|
||||
const defaultBgColor = Color('white').mix(Color('black'), 0.05)
|
||||
|
||||
fs.writeFileSync(path.join(__dirname, 'extra_scripts/codemirror/mode/bfm/bfm.css'), [`.cm-table-row-even { background-color: ${defaultBgColor.rgb().string()}; }`, ...colors].join('\n'), 'utf8')
|
||||
})
|
||||
|
||||
grunt.registerTask('default', ['build'])
|
||||
|
||||
Reference in New Issue
Block a user