1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 01:36:22 +00:00

alternate background color for table rows

This commit is contained in:
Baptiste Augrain
2018-10-09 00:25:04 +02:00
parent 2ccd00a378
commit 555ae327b6
8 changed files with 191 additions and 5 deletions

View File

@@ -0,0 +1,42 @@
.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); }

View File

@@ -0,0 +1,71 @@
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../codemirror/lib/codemirror"), require("../codemirror/mode/gfm/gfm"))
else if (typeof define == "function" && define.amd) // AMD
define(["../codemirror/lib/codemirror", "../codemirror/mode/gfm/gfm"], mod)
else // Plain browser env
mod(CodeMirror)
})(function(CodeMirror) {
'use strict'
CodeMirror.defineMode('bfm', function(config, gfmConfig) {
const bfmOverlay = {
startState() {
return {
inTable: false,
rowIndex: 0
}
},
copyState(s) {
return {
inTable: s.inTable,
rowIndex: s.rowIndex
}
},
token(stream, state) {
state.combineTokens = true
if (state.inTable) {
if (stream.match(/^\|/)) {
++state.rowIndex
stream.skipToEnd()
if (state.rowIndex === 1) {
return 'table table-separator'
} else if (state.rowIndex % 2 === 0) {
return 'table table-row table-row-even'
} else {
return 'table table-row table-row-odd'
}
} else {
state.inTable = false
stream.skipToEnd()
return null
}
} else if (stream.match(/^\|/)) {
state.inTable = true
state.rowIndex = 0
stream.skipToEnd()
return 'table table-header'
}
stream.skipToEnd()
return null
}
}
gfmConfig.name = 'gfm'
return CodeMirror.overlayMode(CodeMirror.getMode(config, gfmConfig), bfmOverlay)
})
CodeMirror.defineMIME('text/x-bfm', 'bfm')
CodeMirror.modeInfo.push({
name: "Boost Flavored Markdown",
mime: "text/x-bfm",
mode: "bfm"
})
})