File Explorer: CodeMirror + EasyMDE statt Preview

This commit is contained in:
Meleki committed 2026-02-28 11:30:26 +01:00
1 parent b4521a95ef
commit bba82aad7e
18 files changed
+410 -87

No files matched your search

+1
View File
@@ -0,0 +1 @@
.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:contentLine truncated
+7
View File
@@ -0,0 +1,7 @@
/**
* easymde v2.18.0
* Copyright Jeroen Akkerman
* @link https://github.com/ionaru/easy-markdown-editor
* @license MIT
*/
.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:contentLine truncated
+120 -35
View File
@@ -106,53 +106,138 @@
}
/* Preview */
/* ── CodeMirror / EasyMDE gemeinsame Wrapper-Basis ── */
.fe-preview {
.fe-cm-wrap,
.fe-mde-wrap {
display: flex;
flex: 1;
overflow: hidden;
height: 100%;
}
.fe-line-numbers {
padding: .5em;
background: var(--f1-bg);
color: var(--text);
opacity: var(--semi-transparent);
text-align: right;
overflow: hidden;
user-select: none;
border-right: var(--border-width) solid var(--f1-border);
flex-shrink: 0;
min-width: 3em;
}
.fe-line-numbers div {
height: 1.5em;
}
.fe-textarea {
.fe-mde-wrap .EasyMDEContainer {
display: flex;
flex: 1;
border: none;
background: var(--f2-bg);
color: var(--text);
flex-direction: column;
overflow: hidden;
height: 100%;
}
.fe-cm-wrap .CodeMirror,
.fe-mde-wrap .CodeMirror,
.fe-mde-wrap .EasyMDEContainer .CodeMirror {
flex: 1;
height: 100% !important;
font-family: var(--mono) !important;
line-height: 1.5;
padding: .5em;
outline: none;
overflow-y: auto;
white-space: pre;
tab-size: 4;
height: auto;
min-height: unset;
max-height: unset;
background: var(--f2-bg) !important;
color: var(--text) !important;
border: none !important;
border-radius: 0 !important;
padding: 0 !important;
}
.fe-textarea:hover {
border-color: transparent;
.fe-cm-wrap .CodeMirror-scroll,
.fe-mde-wrap .CodeMirror-scroll {
overflow: auto !important;
}
.fe-textarea::selection {
background: rgba(180, 68, 17, 0.35);
.fe-cm-wrap .CodeMirror-gutters,
.fe-mde-wrap .CodeMirror-gutters {
background: var(--f1-bg) !important;
border-right: var(--border-width) solid var(--f1-border) !important;
}
.fe-cm-wrap .CodeMirror-linenumber,
.fe-mde-wrap .CodeMirror-linenumber {
color: var(--text) !important;
opacity: var(--semi-transparent);
}
.fe-cm-wrap .CodeMirror-cursor,
.fe-mde-wrap .CodeMirror-cursor {
border-left-color: var(--primary) !important;
}
.fe-cm-wrap .CodeMirror-selected,
.fe-mde-wrap .CodeMirror-selected {
background: rgba(180, 68, 17, 0.3) !important;
}
/* ── Syntax Highlighting (theme: default übersteuern) ── */
.fe-cm-wrap .cm-keyword,
.fe-mde-wrap .cm-keyword { color: #c678dd !important; }
.fe-cm-wrap .cm-def,
.fe-mde-wrap .cm-def { color: #61afef !important; }
.fe-cm-wrap .cm-variable,
.fe-mde-wrap .cm-variable { color: var(--text) !important; }
.fe-cm-wrap .cm-variable-2,
.fe-mde-wrap .cm-variable-2 { color: #e06c75 !important; }
.fe-cm-wrap .cm-variable-3,
.fe-mde-wrap .cm-variable-3 { color: #56b6c2 !important; }
.fe-cm-wrap .cm-property,
.fe-mde-wrap .cm-property { color: #e06c75 !important; }
.fe-cm-wrap .cm-operator,
.fe-mde-wrap .cm-operator { color: #56b6c2 !important; }
.fe-cm-wrap .cm-string,
.fe-mde-wrap .cm-string { color: #98c379 !important; }
.fe-cm-wrap .cm-string-2,
.fe-mde-wrap .cm-string-2 { color: #98c379 !important; }
.fe-cm-wrap .cm-number,
.fe-mde-wrap .cm-number { color: #d19a66 !important; }
.fe-cm-wrap .cm-atom,
.fe-mde-wrap .cm-atom { color: #d19a66 !important; }
.fe-cm-wrap .cm-comment,
.fe-mde-wrap .cm-comment { color: #5c6370 !important; font-style: italic; }
.fe-cm-wrap .cm-meta,
.fe-mde-wrap .cm-meta { color: #c678dd !important; }
.fe-cm-wrap .cm-qualifier,
.fe-mde-wrap .cm-qualifier { color: #e5c07b !important; }
.fe-cm-wrap .cm-builtin,
.fe-mde-wrap .cm-builtin { color: #e5c07b !important; }
.fe-cm-wrap .cm-tag,
.fe-mde-wrap .cm-tag { color: #e06c75 !important; }
.fe-cm-wrap .cm-attribute,
.fe-mde-wrap .cm-attribute { color: #d19a66 !important; }
.fe-cm-wrap .cm-type,
.fe-mde-wrap .cm-type { color: #56b6c2 !important; }
.fe-cm-wrap .cm-error,
.fe-mde-wrap .cm-error { color: #f44 !important; }
/* Markdown spezifisch (EasyMDE) */
.fe-mde-wrap .cm-header { color: #e5c07b !important; font-weight: bold; }
.fe-mde-wrap .cm-strong { color: var(--text-accent) !important; font-weight: bold; }
.fe-mde-wrap .cm-em { color: #c678dd !important; font-style: italic; }
.fe-mde-wrap .cm-link { color: #61afef !important; }
.fe-mde-wrap .cm-url { color: #98c379 !important; }
.fe-mde-wrap .cm-quote { color: #5c6370 !important; font-style: italic; }
/* EasyMDE Toolbar/Statusbar/Preview ausblenden */
.fe-mde-wrap .editor-toolbar,
.fe-mde-wrap .editor-statusbar,
.fe-mde-wrap .editor-preview-side,
.fe-mde-wrap .editor-preview-full {
display: none !important;
}
/* Footer */