4 /* Set height, width, borders, and global font properties here */
5 font-family: monospace;
14 padding: 4px 0; /* Vertical padding around content */
16 .CodeMirror pre.CodeMirror-line,
17 .CodeMirror pre.CodeMirror-line-like {
18 padding: 0 4px; /* Horizontal padding of content */
21 .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
22 background-color: white; /* The little square between H and V scrollbars */
28 border-right: 1px solid #ddd;
29 background-color: #f7f7f7;
32 .CodeMirror-linenumbers {}
33 .CodeMirror-linenumber {
41 .CodeMirror-guttermarker { color: black; }
42 .CodeMirror-guttermarker-subtle { color: #999; }
47 border-left: 1px solid black;
51 /* Shown when moving in bi-directional text */
52 .CodeMirror div.CodeMirror-secondarycursor {
53 border-left: 1px solid silver;
55 .cm-fat-cursor .CodeMirror-cursor {
60 .cm-fat-cursor div.CodeMirror-cursors {
64 background-color: rgba(20, 255, 20, 0.5);
65 -webkit-animation: blink 1.06s steps(1) infinite;
66 -moz-animation: blink 1.06s steps(1) infinite;
67 animation: blink 1.06s steps(1) infinite;
69 .cm-animate-fat-cursor {
72 -webkit-animation: blink 1.06s steps(1) infinite;
73 -moz-animation: blink 1.06s steps(1) infinite;
74 animation: blink 1.06s steps(1) infinite;
75 background-color: #7e7;
77 @-moz-keyframes blink {
79 50% { background-color: transparent; }
82 @-webkit-keyframes blink {
84 50% { background-color: transparent; }
89 50% { background-color: transparent; }
93 /* Can style cursor different in overwrite (non-insert) mode */
94 .CodeMirror-overwrite .CodeMirror-cursor {}
96 .cm-tab { display: inline-block; text-decoration: inherit; }
100 left: 0; right: 0; top: -50px; bottom: 0;
104 border-left: 1px solid #ccc;
111 .cm-s-default .cm-header {color: blue;}
112 .cm-s-default .cm-quote {color: #090;}
113 .cm-negative {color: #d44;}
114 .cm-positive {color: #292;}
115 .cm-header, .cm-strong {font-weight: bold;}
116 .cm-em {font-style: italic;}
117 .cm-link {text-decoration: underline;}
118 .cm-strikethrough {text-decoration: line-through;}
120 .cm-s-default .cm-keyword {color: #708;}
121 .cm-s-default .cm-atom {color: #219;}
122 .cm-s-default .cm-number {color: #164;}
123 .cm-s-default .cm-def {color: #00f;}
124 .cm-s-default .cm-variable,
125 .cm-s-default .cm-punctuation,
126 .cm-s-default .cm-property,
127 .cm-s-default .cm-operator {}
128 .cm-s-default .cm-variable-2 {color: #05a;}
129 .cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
130 .cm-s-default .cm-comment {color: #a50;}
131 .cm-s-default .cm-string {color: #a11;}
132 .cm-s-default .cm-string-2 {color: #f50;}
133 .cm-s-default .cm-meta {color: #555;}
134 .cm-s-default .cm-qualifier {color: #555;}
135 .cm-s-default .cm-builtin {color: #30a;}
136 .cm-s-default .cm-bracket {color: #997;}
137 .cm-s-default .cm-tag {color: #170;}
138 .cm-s-default .cm-attribute {color: #00c;}
139 .cm-s-default .cm-hr {color: #999;}
140 .cm-s-default .cm-link {color: #00c;}
142 .cm-s-default .cm-error {color: #f00;}
143 .cm-invalidchar {color: #f00;}
145 .CodeMirror-composing { border-bottom: 2px solid; }
147 /* Default styles for common addons */
149 div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
150 div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
151 .CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
152 .CodeMirror-activeline-background {background: #e8f2ff;}
156 /* The rest of this file contains styles related to the mechanics of
157 the editor. You probably shouldn't touch them. */
166 overflow: scroll !important; /* Things will break if this is overridden */
167 /* 50px is the magic margin used to hide the element's real scrollbars */
168 /* See overflow: hidden in .CodeMirror */
169 margin-bottom: -50px; margin-right: -50px;
170 padding-bottom: 50px;
172 outline: none; /* Prevent dragging from highlighting the element */
177 border-right: 50px solid transparent;
180 /* The fake, visible scrollbars. Used to force redraw during scrolling
181 before actual scrolling happens, thus preventing shaking and
182 flickering artifacts. */
183 .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
189 .CodeMirror-vscrollbar {
194 .CodeMirror-hscrollbar {
199 .CodeMirror-scrollbar-filler {
202 .CodeMirror-gutter-filler {
206 .CodeMirror-gutters {
207 position: absolute; left: 0; top: 0;
214 display: inline-block;
216 margin-bottom: -50px;
218 .CodeMirror-gutter-wrapper {
221 background: none !important;
222 border: none !important;
224 .CodeMirror-gutter-background {
229 .CodeMirror-gutter-elt {
234 .CodeMirror-gutter-wrapper ::selection { background-color: transparent }
235 .CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }
239 min-height: 1px; /* prevents collapsing before first draw */
241 .CodeMirror pre.CodeMirror-line,
242 .CodeMirror pre.CodeMirror-line-like {
243 /* Reset some styles that the rest of the page might have set */
244 -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
246 background: transparent;
247 font-family: inherit;
252 line-height: inherit;
257 -webkit-tap-highlight-color: transparent;
258 -webkit-font-variant-ligatures: contextual;
259 font-variant-ligatures: contextual;
261 .CodeMirror-wrap pre.CodeMirror-line,
262 .CodeMirror-wrap pre.CodeMirror-line-like {
263 word-wrap: break-word;
264 white-space: pre-wrap;
268 .CodeMirror-linebackground {
270 left: 0; right: 0; top: 0; bottom: 0;
274 .CodeMirror-linewidget {
277 padding: 0.1px; /* Force widget margins to stay inside of the container */
280 .CodeMirror-widget {}
282 .CodeMirror-rtl pre { direction: rtl; }
288 /* Force content-box sizing for the elements where we expect it */
293 .CodeMirror-linenumber {
294 -moz-box-sizing: content-box;
295 box-sizing: content-box;
298 .CodeMirror-measure {
308 pointer-events: none;
310 .CodeMirror-measure pre { position: static; }
312 div.CodeMirror-cursors {
317 div.CodeMirror-dragcursors {
321 .CodeMirror-focused div.CodeMirror-cursors {
325 .CodeMirror-selected { background: #d9d9d9; }
326 .CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
327 .CodeMirror-crosshair { cursor: crosshair; }
328 .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
329 .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
332 background-color: #ffa;
333 background-color: rgba(255, 255, 0, .4);
336 /* Used to force a border model for a node */
337 .cm-force-border { padding-right: .1px; }
340 /* Hide the cursor when printing */
341 .CodeMirror div.CodeMirror-cursors {
346 /* See issue #2901 */
347 .cm-tab-wrap-hack:after { content: ''; }
349 /* Help users use markselection to safely style text background */
350 span.CodeMirror-selectedtext { background: none; }
355 * Codemirror Darcula theme
359 Name: IntelliJ IDEA darcula theme
360 From IntelliJ IDEA by JetBrains
363 .cm-s-darcula { font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;}
364 .cm-s-darcula.CodeMirror { background: #2B2B2B; color: #A9B7C6; }
366 .cm-s-darcula span.cm-meta { color: #BBB529; }
367 .cm-s-darcula span.cm-number { color: #6897BB; }
368 .cm-s-darcula span.cm-keyword { color: #CC7832; line-height: 1em; font-weight: bold; }
369 .cm-s-darcula span.cm-def { color: #A9B7C6; font-style: italic; }
370 .cm-s-darcula span.cm-variable { color: #A9B7C6; }
371 .cm-s-darcula span.cm-variable-2 { color: #A9B7C6; }
372 .cm-s-darcula span.cm-variable-3 { color: #9876AA; }
373 .cm-s-darcula span.cm-type { color: #AABBCC; font-weight: bold; }
374 .cm-s-darcula span.cm-property { color: #FFC66D; }
375 .cm-s-darcula span.cm-operator { color: #A9B7C6; }
376 .cm-s-darcula span.cm-string { color: #6A8759; }
377 .cm-s-darcula span.cm-string-2 { color: #6A8759; }
378 .cm-s-darcula span.cm-comment { color: #61A151; font-style: italic; }
379 .cm-s-darcula span.cm-link { color: #CC7832; }
380 .cm-s-darcula span.cm-atom { color: #CC7832; }
381 .cm-s-darcula span.cm-error { color: #BC3F3C; }
382 .cm-s-darcula span.cm-tag { color: #629755; font-weight: bold; font-style: italic; text-decoration: underline; }
383 .cm-s-darcula span.cm-attribute { color: #6897bb; }
384 .cm-s-darcula span.cm-qualifier { color: #6A8759; }
385 .cm-s-darcula span.cm-bracket { color: #A9B7C6; }
386 .cm-s-darcula span.cm-builtin { color: #FF9E59; }
387 .cm-s-darcula span.cm-special { color: #FF9E59; }
388 .cm-s-darcula span.cm-matchhighlight { color: #FFFFFF; background-color: rgba(50, 89, 48, .7); font-weight: normal;}
389 .cm-s-darcula span.cm-searching { color: #FFFFFF; background-color: rgba(61, 115, 59, .7); font-weight: normal;}
391 .cm-s-darcula .CodeMirror-cursor { border-left: 1px solid #A9B7C6; }
392 .cm-s-darcula .CodeMirror-activeline-background { background: #323232; }
393 .cm-s-darcula .CodeMirror-gutters { background: #313335; border-right: 1px solid #313335; }
394 .cm-s-darcula .CodeMirror-guttermarker { color: #FFEE80; }
395 .cm-s-darcula .CodeMirror-guttermarker-subtle { color: #D0D0D0; }
396 .cm-s-darcula .CodeMirrir-linenumber { color: #606366; }
397 .cm-s-darcula .CodeMirror-matchingbracket { background-color: #3B514D; color: #FFEF28 !important; font-weight: bold; }
399 .cm-s-darcula div.CodeMirror-selected { background: #214283; }
401 .CodeMirror-hints.darcula {
402 font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
404 background-color: #3B3E3F !important;
407 .CodeMirror-hints.darcula .CodeMirror-hint-active {
408 background-color: #494D4E !important;
409 color: #9C9E9E !important;
413 * Custom BookStack overrides
415 .CodeMirror, .CodeMirror pre {
423 @include lightDark(border-color, #DDD, #111);
425 .CodeMirror pre::after {
428 html.dark-mode .CodeMirror pre {
429 background-color: transparent;
432 .cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; border-left: 0; color: #333; }
434 .code-fill .CodeMirror {
452 background-color: #EEE;
453 border: 1px solid #DDD;
454 @include lightDark(background-color, #eee, #333);
455 @include lightDark(border-color, #ddd, #444);
456 @include lightDark(fill, #444, #888);
463 pointer-events: none;
465 transition: all ease-in 240ms;
466 transform: translateY(0);
469 background-color: lighten($positive, 10%);
472 transform: translateY(-3px);
476 .CodeMirror:hover .CodeMirror-copy {