mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 01:36:22 +00:00
Merge pull request #2506 from daiyam/fix-alt-color-table
fix color for even rows in table
This commit is contained in:
5
extra_scripts/codemirror/mode/bfm/bfm.css
vendored
5
extra_scripts/codemirror/mode/bfm/bfm.css
vendored
@@ -34,11 +34,12 @@
|
||||
.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); }
|
||||
.cm-s-yeti.CodeMirror .cm-table-row-even { background-color: rgb(235, 232, 230); }
|
||||
.cm-s-solarized.cm-s-dark .cm-table-row-even { background-color: rgb(13, 54, 64); }
|
||||
.cm-s-solarized.cm-s-light .cm-table-row-even { background-color: rgb(245, 240, 222); }
|
||||
3
extra_scripts/codemirror/mode/bfm/bfm.js
vendored
3
extra_scripts/codemirror/mode/bfm/bfm.js
vendored
@@ -54,6 +54,9 @@
|
||||
|
||||
stream.skipToEnd()
|
||||
return null
|
||||
},
|
||||
blankLine(state) {
|
||||
state.inTable = false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
35
gruntfile.js
35
gruntfile.js
@@ -289,9 +289,23 @@ module.exports = function (grunt) {
|
||||
const Color = require('color')
|
||||
const parseCSS = require('css').parse
|
||||
|
||||
function generateRule (selector, bgColor, fgColor) {
|
||||
if (bgColor.isLight()) {
|
||||
bgColor = bgColor.mix(fgColor, 0.05)
|
||||
} else {
|
||||
bgColor = bgColor.mix(fgColor, 0.1)
|
||||
}
|
||||
|
||||
if (selector && selector.length > 0) {
|
||||
return `${selector} .cm-table-row-even { background-color: ${bgColor.rgb().string()}; }`
|
||||
} else {
|
||||
return `.cm-table-row-even { background-color: ${bgColor.rgb().string()}; }`
|
||||
}
|
||||
}
|
||||
|
||||
const root = path.join(__dirname, 'node_modules/codemirror/theme/')
|
||||
|
||||
const colors = fs.readdirSync(root).map(file => {
|
||||
const colors = fs.readdirSync(root).filter(file => file !== 'solarized.css').map(file => {
|
||||
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]))
|
||||
@@ -304,7 +318,7 @@ module.exports = function (grunt) {
|
||||
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)
|
||||
const match = /^rgba\((.*?),\s*1\)$/.exec(value)
|
||||
if (match) {
|
||||
fgColor = Color(`rgb(${match[1]})`)
|
||||
} else {
|
||||
@@ -313,19 +327,18 @@ module.exports = function (grunt) {
|
||||
}
|
||||
})
|
||||
|
||||
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()}; }`
|
||||
return generateRule(rules[0].selectors[0], bgColor, fgColor)
|
||||
}
|
||||
}).filter(value => !!value)
|
||||
|
||||
const defaultBgColor = Color('white').mix(Color('black'), 0.05)
|
||||
// default
|
||||
colors.unshift(generateRule(null, Color('white'), Color('black')))
|
||||
// solarized dark
|
||||
colors.push(generateRule('.cm-s-solarized.cm-s-dark', Color('#002b36'), Color('#839496')))
|
||||
// solarized light
|
||||
colors.push(generateRule('.cm-s-solarized.cm-s-light', Color('#fdf6e3'), Color('#657b83')))
|
||||
|
||||
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')
|
||||
fs.writeFileSync(path.join(__dirname, 'extra_scripts/codemirror/mode/bfm/bfm.css'), colors.join('\n'), 'utf8')
|
||||
})
|
||||
|
||||
grunt.registerTask('default', ['build'])
|
||||
|
||||
Reference in New Issue
Block a user