mirror of
https://github.com/sparksuite/simplemde-markdown-editor.git
synced 2025-09-24 16:40:55 -06:00
Added yaml and yaml-frontmatter modes
This commit is contained in:
parent
6eae597a69
commit
4a5345be1f
@ -88,6 +88,7 @@ simplemde.value("This text will appear in the editor");
|
||||
- link
|
||||
- table
|
||||
- **lineWrapping**: If set to `false`, disable line wrapping. Defaults to `true`.
|
||||
- **mode**: Can be set with `gfm` (Markdown), `yaml` or `yaml-frontmatter`. Defaults to `gfm`.
|
||||
- **parsingConfig**: Adjust settings for parsing the Markdown during editing (not previewing).
|
||||
- **allowAtxHeaderWithoutSpace**: If set to `true`, will render headers without a space after the `#`. Defaults to `false`.
|
||||
- **strikethrough**: If set to `false`, will not process GFM strikethrough syntax. Defaults to `true`.
|
||||
|
@ -58,7 +58,7 @@
|
||||
}
|
||||
.cm-fat-cursor .CodeMirror-cursor {
|
||||
width: auto;
|
||||
border: 0;
|
||||
border: 0 !important;
|
||||
background: #7e7;
|
||||
}
|
||||
.cm-fat-cursor div.CodeMirror-cursors {
|
||||
@ -94,8 +94,14 @@
|
||||
|
||||
.cm-tab { display: inline-block; text-decoration: inherit; }
|
||||
|
||||
.CodeMirror-rulers {
|
||||
position: absolute;
|
||||
left: 0; right: 0; top: -50px; bottom: -20px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.CodeMirror-ruler {
|
||||
border-left: 1px solid #ccc;
|
||||
top: 0; bottom: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
@ -197,6 +203,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
||||
|
||||
.CodeMirror-gutters {
|
||||
position: absolute; left: 0; top: 0;
|
||||
min-height: 100%;
|
||||
z-index: 3;
|
||||
}
|
||||
.CodeMirror-gutter {
|
||||
@ -251,6 +258,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-font-variant-ligatures: none;
|
||||
font-variant-ligatures: none;
|
||||
}
|
||||
.CodeMirror-wrap pre {
|
||||
word-wrap: break-word;
|
||||
|
File diff suppressed because one or more lines are too long
@ -7,7 +7,7 @@
|
||||
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.SimpleMDE = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||||
(function (global){
|
||||
|
||||
; Typo = global.Typo = require("D:\\My Web Sites\\simplemde-markdown-editor\\node_modules\\codemirror-spell-checker\\src\\js\\typo.js");
|
||||
; Typo = global.Typo = require("/Users/ruisaraiva/Development/simplemde-markdown-editor/node_modules/codemirror-spell-checker/src/js/typo.js");
|
||||
CodeMirror = global.CodeMirror = require("codemirror");
|
||||
; var __browserify_shim_require__=require;(function browserifyShim(module, define, require) {
|
||||
// Initialize data globally to reduce memory consumption
|
||||
@ -105,7 +105,7 @@ if(!String.prototype.includes) {
|
||||
}).call(global, module, undefined, undefined);
|
||||
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{"D:\\My Web Sites\\simplemde-markdown-editor\\node_modules\\codemirror-spell-checker\\src\\js\\typo.js":2,"codemirror":7}],2:[function(require,module,exports){
|
||||
},{"/Users/ruisaraiva/Development/simplemde-markdown-editor/node_modules/codemirror-spell-checker/src/js/typo.js":2,"codemirror":7}],2:[function(require,module,exports){
|
||||
(function (global){
|
||||
; var __browserify_shim_require__=require;(function browserifyShim(module, exports, require, define, browserify_shim__define__module__export__) {
|
||||
'use strict';
|
||||
@ -1170,6 +1170,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
// This is woefully incomplete. Suggestions for alternative methods welcome.
|
||||
var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);
|
||||
var mac = ios || /Mac/.test(platform);
|
||||
var chromeOS = /\bCrOS\b/.test(userAgent);
|
||||
var windows = /win/i.test(platform);
|
||||
|
||||
var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/);
|
||||
@ -1876,6 +1877,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
|
||||
function postUpdateDisplay(cm, update) {
|
||||
var viewport = update.viewport;
|
||||
|
||||
for (var first = true;; first = false) {
|
||||
if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) {
|
||||
// Clip forced viewport to actual scrollable area.
|
||||
@ -1891,8 +1893,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
updateHeightsInViewport(cm);
|
||||
var barMeasure = measureForScrollbars(cm);
|
||||
updateSelection(cm);
|
||||
setDocumentHeight(cm, barMeasure);
|
||||
updateScrollbars(cm, barMeasure);
|
||||
setDocumentHeight(cm, barMeasure);
|
||||
}
|
||||
|
||||
update.signal(cm, "update", cm);
|
||||
@ -1909,8 +1911,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
postUpdateDisplay(cm, update);
|
||||
var barMeasure = measureForScrollbars(cm);
|
||||
updateSelection(cm);
|
||||
setDocumentHeight(cm, barMeasure);
|
||||
updateScrollbars(cm, barMeasure);
|
||||
setDocumentHeight(cm, barMeasure);
|
||||
update.finish();
|
||||
}
|
||||
}
|
||||
@ -1918,8 +1920,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
function setDocumentHeight(cm, measure) {
|
||||
cm.display.sizer.style.minHeight = measure.docHeight + "px";
|
||||
cm.display.heightForcer.style.top = measure.docHeight + "px";
|
||||
cm.display.gutters.style.height = Math.max(measure.docHeight + cm.display.barHeight + scrollGap(cm),
|
||||
measure.clientHeight) + "px";
|
||||
cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + "px";
|
||||
}
|
||||
|
||||
// Read the actual heights of the rendered lines, and update their
|
||||
@ -2224,9 +2225,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm); }
|
||||
}
|
||||
|
||||
// This will be set to an array of strings when copying, so that,
|
||||
// when pasting, we know what kind of selections the copied text
|
||||
// was made out of.
|
||||
// This will be set to a {lineWise: bool, text: [string]} object, so
|
||||
// that, when pasting, we know what kind of selections the copied
|
||||
// text was made out of.
|
||||
var lastCopied = null;
|
||||
|
||||
function applyTextInput(cm, inserted, deleted, sel, origin) {
|
||||
@ -2235,14 +2236,14 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
if (!sel) sel = doc.sel;
|
||||
|
||||
var paste = cm.state.pasteIncoming || origin == "paste";
|
||||
var textLines = doc.splitLines(inserted), multiPaste = null;
|
||||
var textLines = doc.splitLines(inserted), multiPaste = null
|
||||
// When pasing N lines into N selections, insert one line per selection
|
||||
if (paste && sel.ranges.length > 1) {
|
||||
if (lastCopied && lastCopied.join("\n") == inserted) {
|
||||
if (sel.ranges.length % lastCopied.length == 0) {
|
||||
if (lastCopied && lastCopied.text.join("\n") == inserted) {
|
||||
if (sel.ranges.length % lastCopied.text.length == 0) {
|
||||
multiPaste = [];
|
||||
for (var i = 0; i < lastCopied.length; i++)
|
||||
multiPaste.push(doc.splitLines(lastCopied[i]));
|
||||
for (var i = 0; i < lastCopied.text.length; i++)
|
||||
multiPaste.push(doc.splitLines(lastCopied.text[i]));
|
||||
}
|
||||
} else if (textLines.length == sel.ranges.length) {
|
||||
multiPaste = map(textLines, function(l) { return [l]; });
|
||||
@ -2258,6 +2259,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
from = Pos(from.line, from.ch - deleted);
|
||||
else if (cm.state.overwrite && !paste) // Handle overwrite
|
||||
to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length));
|
||||
else if (lastCopied && lastCopied.lineWise && lastCopied.text.join("\n") == inserted)
|
||||
from = to = Pos(from.line, 0)
|
||||
}
|
||||
var updateInput = cm.curOp.updateInput;
|
||||
var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i % multiPaste.length] : textLines,
|
||||
@ -2390,18 +2393,18 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
function prepareCopyCut(e) {
|
||||
if (signalDOMEvent(cm, e)) return
|
||||
if (cm.somethingSelected()) {
|
||||
lastCopied = cm.getSelections();
|
||||
lastCopied = {lineWise: false, text: cm.getSelections()};
|
||||
if (input.inaccurateSelection) {
|
||||
input.prevInput = "";
|
||||
input.inaccurateSelection = false;
|
||||
te.value = lastCopied.join("\n");
|
||||
te.value = lastCopied.text.join("\n");
|
||||
selectInput(te);
|
||||
}
|
||||
} else if (!cm.options.lineWiseCopyCut) {
|
||||
return;
|
||||
} else {
|
||||
var ranges = copyableRanges(cm);
|
||||
lastCopied = ranges.text;
|
||||
lastCopied = {lineWise: true, text: ranges.text};
|
||||
if (e.type == "cut") {
|
||||
cm.setSelections(ranges.ranges, null, sel_dontScroll);
|
||||
} else {
|
||||
@ -2749,13 +2752,13 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
function onCopyCut(e) {
|
||||
if (signalDOMEvent(cm, e)) return
|
||||
if (cm.somethingSelected()) {
|
||||
lastCopied = cm.getSelections();
|
||||
lastCopied = {lineWise: false, text: cm.getSelections()};
|
||||
if (e.type == "cut") cm.replaceSelection("", null, "cut");
|
||||
} else if (!cm.options.lineWiseCopyCut) {
|
||||
return;
|
||||
} else {
|
||||
var ranges = copyableRanges(cm);
|
||||
lastCopied = ranges.text;
|
||||
lastCopied = {lineWise: true, text: ranges.text};
|
||||
if (e.type == "cut") {
|
||||
cm.operation(function() {
|
||||
cm.setSelections(ranges.ranges, 0, sel_dontScroll);
|
||||
@ -2767,12 +2770,12 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
if (e.clipboardData && !ios) {
|
||||
e.preventDefault();
|
||||
e.clipboardData.clearData();
|
||||
e.clipboardData.setData("text/plain", lastCopied.join("\n"));
|
||||
e.clipboardData.setData("text/plain", lastCopied.text.join("\n"));
|
||||
} else {
|
||||
// Old-fashioned briefly-focus-a-textarea hack
|
||||
var kludge = hiddenTextarea(), te = kludge.firstChild;
|
||||
cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild);
|
||||
te.value = lastCopied.join("\n");
|
||||
te.value = lastCopied.text.join("\n");
|
||||
var hadFocus = document.activeElement;
|
||||
selectInput(te);
|
||||
setTimeout(function() {
|
||||
@ -2791,9 +2794,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
return result;
|
||||
},
|
||||
|
||||
showSelection: function(info) {
|
||||
showSelection: function(info, takeFocus) {
|
||||
if (!info || !this.cm.display.view.length) return;
|
||||
if (info.focus) this.showPrimarySelection();
|
||||
if (info.focus || takeFocus) this.showPrimarySelection();
|
||||
this.showMultipleSelections(info);
|
||||
},
|
||||
|
||||
@ -4229,7 +4232,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
}
|
||||
|
||||
if (op.updatedDisplay || op.selectionChanged)
|
||||
op.preparedSelection = display.input.prepareSelection();
|
||||
op.preparedSelection = display.input.prepareSelection(op.focus);
|
||||
}
|
||||
|
||||
function endOperation_W2(op) {
|
||||
@ -4242,19 +4245,19 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
cm.display.maxLineChanged = false;
|
||||
}
|
||||
|
||||
var takeFocus = op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus())
|
||||
if (op.preparedSelection)
|
||||
cm.display.input.showSelection(op.preparedSelection);
|
||||
if (op.updatedDisplay)
|
||||
setDocumentHeight(cm, op.barMeasure);
|
||||
cm.display.input.showSelection(op.preparedSelection, takeFocus);
|
||||
if (op.updatedDisplay || op.startHeight != cm.doc.height)
|
||||
updateScrollbars(cm, op.barMeasure);
|
||||
if (op.updatedDisplay)
|
||||
setDocumentHeight(cm, op.barMeasure);
|
||||
|
||||
if (op.selectionChanged) restartBlink(cm);
|
||||
|
||||
if (cm.state.focused && op.updateInput)
|
||||
cm.display.input.reset(op.typing);
|
||||
if (op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus()))
|
||||
ensureFocus(op.cm);
|
||||
if (takeFocus) ensureFocus(op.cm);
|
||||
}
|
||||
|
||||
function endOperation_finish(op) {
|
||||
@ -4624,7 +4627,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
over: function(e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }},
|
||||
start: function(e){onDragStart(cm, e);},
|
||||
drop: operation(cm, onDrop),
|
||||
leave: function() {clearDragCursor(cm);}
|
||||
leave: function(e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }}
|
||||
};
|
||||
|
||||
var inp = d.input.getField();
|
||||
@ -4809,7 +4812,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
ourIndex = doc.sel.primIndex;
|
||||
}
|
||||
|
||||
if (e.altKey) {
|
||||
if (chromeOS ? e.shiftKey && e.metaKey : e.altKey) {
|
||||
type = "rect";
|
||||
if (!addNew) ourRange = new Range(start, start);
|
||||
start = posFromMouse(cm, e, true, true);
|
||||
@ -5034,6 +5037,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) return;
|
||||
|
||||
e.dataTransfer.setData("Text", cm.getSelection());
|
||||
e.dataTransfer.effectAllowed = "copyMove"
|
||||
|
||||
// Use dummy image instead of default browsers image.
|
||||
// Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.
|
||||
@ -6519,7 +6523,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
for (var i = newBreaks.length - 1; i >= 0; i--)
|
||||
replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length))
|
||||
});
|
||||
option("specialChars", /[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function(cm, val, old) {
|
||||
option("specialChars", /[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function(cm, val, old) {
|
||||
cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g");
|
||||
if (old != CodeMirror.Init) cm.refresh();
|
||||
});
|
||||
@ -6848,7 +6852,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
for (var i = 0; i < ranges.length; i++) {
|
||||
var pos = ranges[i].from();
|
||||
var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize);
|
||||
spaces.push(new Array(tabSize - col % tabSize + 1).join(" "));
|
||||
spaces.push(spaceStr(tabSize - col % tabSize));
|
||||
}
|
||||
cm.replaceSelections(spaces);
|
||||
},
|
||||
@ -6891,6 +6895,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
ensureCursorVisible(cm);
|
||||
});
|
||||
},
|
||||
openLine: function(cm) {cm.replaceSelection("\n", "start")},
|
||||
toggleOverwrite: function(cm) {cm.toggleOverwrite();}
|
||||
};
|
||||
|
||||
@ -6925,7 +6930,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
"Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown",
|
||||
"Alt-F": "goWordRight", "Alt-B": "goWordLeft", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd",
|
||||
"Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore",
|
||||
"Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars"
|
||||
"Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars",
|
||||
"Ctrl-O": "openLine"
|
||||
};
|
||||
keyMap.macDefault = {
|
||||
"Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo",
|
||||
@ -7687,8 +7693,8 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker);
|
||||
var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker);
|
||||
if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) continue;
|
||||
if (fromCmp <= 0 && (cmp(found.to, from) > 0 || (sp.marker.inclusiveRight && marker.inclusiveLeft)) ||
|
||||
fromCmp >= 0 && (cmp(found.from, to) < 0 || (sp.marker.inclusiveLeft && marker.inclusiveRight)))
|
||||
if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) ||
|
||||
fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -8090,8 +8096,11 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
}
|
||||
|
||||
// See issue #2901
|
||||
if (webkit && /\bcm-tab\b/.test(builder.content.lastChild.className))
|
||||
if (webkit) {
|
||||
var last = builder.content.lastChild
|
||||
if (/\bcm-tab\b/.test(last.className) || (last.querySelector && last.querySelector(".cm-tab")))
|
||||
builder.content.className = "cm-tab-wrap-hack";
|
||||
}
|
||||
|
||||
signal(cm, "renderLine", cm, lineView.line, builder.pre);
|
||||
if (builder.pre.className)
|
||||
@ -8443,13 +8452,16 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
if (at <= sz) {
|
||||
child.insertInner(at, lines, height);
|
||||
if (child.lines && child.lines.length > 50) {
|
||||
while (child.lines.length > 50) {
|
||||
var spilled = child.lines.splice(child.lines.length - 25, 25);
|
||||
var newleaf = new LeafChunk(spilled);
|
||||
child.height -= newleaf.height;
|
||||
this.children.splice(i + 1, 0, newleaf);
|
||||
newleaf.parent = this;
|
||||
// To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.
|
||||
// Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.
|
||||
var remaining = child.lines.length % 25 + 25
|
||||
for (var pos = remaining; pos < child.lines.length;) {
|
||||
var leaf = new LeafChunk(child.lines.slice(pos, pos += 25));
|
||||
child.height -= leaf.height;
|
||||
this.children.splice(++i, 0, leaf);
|
||||
leaf.parent = this;
|
||||
}
|
||||
child.lines = child.lines.slice(0, remaining);
|
||||
this.maybeSpill();
|
||||
}
|
||||
break;
|
||||
@ -8754,9 +8766,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
var spans = line.markedSpans;
|
||||
if (spans) for (var i = 0; i < spans.length; i++) {
|
||||
var span = spans[i];
|
||||
if (!(span.to != null && lineNo == from.line && from.ch > span.to ||
|
||||
if (!(span.to != null && lineNo == from.line && from.ch >= span.to ||
|
||||
span.from == null && lineNo != from.line ||
|
||||
span.from != null && lineNo == to.line && span.from > to.ch) &&
|
||||
span.from != null && lineNo == to.line && span.from >= to.ch) &&
|
||||
(!filter || filter(span.marker)))
|
||||
found.push(span.marker.parent || span.marker);
|
||||
}
|
||||
@ -8775,9 +8787,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
},
|
||||
|
||||
posFromIndex: function(off) {
|
||||
var ch, lineNo = this.first;
|
||||
var ch, lineNo = this.first, sepSize = this.lineSeparator().length;
|
||||
this.iter(function(line) {
|
||||
var sz = line.text.length + 1;
|
||||
var sz = line.text.length + sepSize;
|
||||
if (sz > off) { ch = off; return true; }
|
||||
off -= sz;
|
||||
++lineNo;
|
||||
@ -8788,8 +8800,9 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
coords = clipPos(this, coords);
|
||||
var index = coords.ch;
|
||||
if (coords.line < this.first || coords.ch < 0) return 0;
|
||||
var sepSize = this.lineSeparator().length;
|
||||
this.iter(this.first, coords.line, function (line) {
|
||||
index += line.text.length + 1;
|
||||
index += line.text.length + sepSize;
|
||||
});
|
||||
return index;
|
||||
},
|
||||
@ -10018,7 +10031,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
|
||||
|
||||
// THE END
|
||||
|
||||
CodeMirror.version = "5.12.1";
|
||||
CodeMirror.version = "5.15.3";
|
||||
|
||||
return CodeMirror;
|
||||
});
|
||||
@ -10246,7 +10259,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
||||
, setextHeaderRE = /^ *(?:\={1,}|-{1,})\s*$/
|
||||
, textRE = /^[^#!\[\]*_\\<>` "'(~]+/
|
||||
, fencedCodeRE = new RegExp("^(" + (modeCfg.fencedCodeBlocks === true ? "~~~+|```+" : modeCfg.fencedCodeBlocks) +
|
||||
")[ \\t]*([\\w+#]*)");
|
||||
")[ \\t]*([\\w+#\-]*)");
|
||||
|
||||
function switchInline(stream, state, f) {
|
||||
state.f = state.inline = f;
|
||||
@ -10376,7 +10389,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
||||
state.fencedChars = match[1]
|
||||
// try switching mode
|
||||
state.localMode = getMode(match[2]);
|
||||
if (state.localMode) state.localState = state.localMode.startState();
|
||||
if (state.localMode) state.localState = CodeMirror.startState(state.localMode);
|
||||
state.f = state.block = local;
|
||||
if (modeCfg.highlightFormatting) state.formatting = "code-block";
|
||||
state.code = -1
|
||||
@ -10595,13 +10608,13 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
||||
return tokenTypes.image;
|
||||
}
|
||||
|
||||
if (ch === '[' && stream.match(/.*\](\(.*\)| ?\[.*\])/, false)) {
|
||||
if (ch === '[' && stream.match(/[^\]]*\](\(.*\)| ?\[.*?\])/, false)) {
|
||||
state.linkText = true;
|
||||
if (modeCfg.highlightFormatting) state.formatting = "link";
|
||||
return getType(state);
|
||||
}
|
||||
|
||||
if (ch === ']' && state.linkText && stream.match(/\(.*\)| ?\[.*\]/, false)) {
|
||||
if (ch === ']' && state.linkText && stream.match(/\(.*?\)| ?\[.*?\]/, false)) {
|
||||
if (modeCfg.highlightFormatting) state.formatting = "link";
|
||||
var type = getType(state);
|
||||
state.linkText = false;
|
||||
@ -10754,7 +10767,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
||||
}
|
||||
var ch = stream.next();
|
||||
if (ch === '(' || ch === '[') {
|
||||
state.f = state.inline = getLinkHrefInside(ch === "(" ? ")" : "]");
|
||||
state.f = state.inline = getLinkHrefInside(ch === "(" ? ")" : "]", 0);
|
||||
if (modeCfg.highlightFormatting) state.formatting = "link-string";
|
||||
state.linkHref = true;
|
||||
return getType(state);
|
||||
@ -10762,6 +10775,11 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
||||
return 'error';
|
||||
}
|
||||
|
||||
var linkRE = {
|
||||
")": /^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,
|
||||
"]": /^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\\]]|\\.)*\])*?(?=\])/
|
||||
}
|
||||
|
||||
function getLinkHrefInside(endChar) {
|
||||
return function(stream, state) {
|
||||
var ch = stream.next();
|
||||
@ -10774,10 +10792,7 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
||||
return returnState;
|
||||
}
|
||||
|
||||
if (stream.match(inlineRE(endChar), true)) {
|
||||
stream.backUp(1);
|
||||
}
|
||||
|
||||
stream.match(linkRE[endChar])
|
||||
state.linkHref = true;
|
||||
return getType(state);
|
||||
};
|
||||
@ -10825,18 +10840,6 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
|
||||
return tokenTypes.linkHref + " url";
|
||||
}
|
||||
|
||||
var savedInlineRE = [];
|
||||
function inlineRE(endChar) {
|
||||
if (!savedInlineRE[endChar]) {
|
||||
// Escape endChar for RegExp (taken from http://stackoverflow.com/a/494122/526741)
|
||||
endChar = (endChar+'').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
|
||||
// Match any non-endChar, escaped character, as well as the closing
|
||||
// endChar.
|
||||
savedInlineRE[endChar] = new RegExp('^(?:[^\\\\]|\\\\.)*?(' + endChar + ')');
|
||||
}
|
||||
return savedInlineRE[endChar];
|
||||
}
|
||||
|
||||
var mode = {
|
||||
startState: function() {
|
||||
return {
|
||||
@ -11054,11 +11057,12 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
|
||||
{name: "Modelica", mime: "text/x-modelica", mode: "modelica", ext: ["mo"]},
|
||||
{name: "MUMPS", mime: "text/x-mumps", mode: "mumps", ext: ["mps"]},
|
||||
{name: "MS SQL", mime: "text/x-mssql", mode: "sql"},
|
||||
{name: "mbox", mime: "application/mbox", mode: "mbox", ext: ["mbox"]},
|
||||
{name: "MySQL", mime: "text/x-mysql", mode: "sql"},
|
||||
{name: "Nginx", mime: "text/x-nginx-conf", mode: "nginx", file: /nginx.*\.conf$/i},
|
||||
{name: "NSIS", mime: "text/x-nsis", mode: "nsis", ext: ["nsh", "nsi"]},
|
||||
{name: "NTriples", mime: "text/n-triples", mode: "ntriples", ext: ["nt"]},
|
||||
{name: "Objective C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"]},
|
||||
{name: "Objective C", mime: "text/x-objectivec", mode: "clike", ext: ["m", "mm"], alias: ["objective-c", "objc"]},
|
||||
{name: "OCaml", mime: "text/x-ocaml", mode: "mllike", ext: ["ml", "mli", "mll", "mly"]},
|
||||
{name: "Octave", mime: "text/x-octave", mode: "octave", ext: ["m"]},
|
||||
{name: "Oz", mime: "text/x-oz", mode: "oz", ext: ["oz"]},
|
||||
@ -11069,9 +11073,10 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
|
||||
{name: "Pig", mime: "text/x-pig", mode: "pig", ext: ["pig"]},
|
||||
{name: "Plain Text", mime: "text/plain", mode: "null", ext: ["txt", "text", "conf", "def", "list", "log"]},
|
||||
{name: "PLSQL", mime: "text/x-plsql", mode: "sql", ext: ["pls"]},
|
||||
{name: "PowerShell", mime: "application/x-powershell", mode: "powershell", ext: ["ps1", "psd1", "psm1"]},
|
||||
{name: "Properties files", mime: "text/x-properties", mode: "properties", ext: ["properties", "ini", "in"], alias: ["ini", "properties"]},
|
||||
{name: "ProtoBuf", mime: "text/x-protobuf", mode: "protobuf", ext: ["proto"]},
|
||||
{name: "Python", mime: "text/x-python", mode: "python", ext: ["py", "pyw"]},
|
||||
{name: "Python", mime: "text/x-python", mode: "python", ext: ["BUILD", "bzl", "py", "pyw"], file: /^(BUCK|BUILD)$/},
|
||||
{name: "Puppet", mime: "text/x-puppet", mode: "puppet", ext: ["pp"]},
|
||||
{name: "Q", mime: "text/x-q", mode: "q", ext: ["q"]},
|
||||
{name: "R", mime: "text/x-rsrc", mode: "r", ext: ["r"], alias: ["rscript"]},
|
||||
@ -11080,6 +11085,7 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
|
||||
{name: "RPM Spec", mime: "text/x-rpm-spec", mode: "rpm", ext: ["spec"]},
|
||||
{name: "Ruby", mime: "text/x-ruby", mode: "ruby", ext: ["rb"], alias: ["jruby", "macruby", "rake", "rb", "rbx"]},
|
||||
{name: "Rust", mime: "text/x-rustsrc", mode: "rust", ext: ["rs"]},
|
||||
{name: "SAS", mime: "text/x-sas", mode: "sas", ext: ["sas"]},
|
||||
{name: "Sass", mime: "text/x-sass", mode: "sass", ext: ["sass"]},
|
||||
{name: "Scala", mime: "text/x-scala", mode: "clike", ext: ["scala"]},
|
||||
{name: "Scheme", mime: "text/x-scheme", mode: "scheme", ext: ["scm", "ss"]},
|
||||
@ -11111,6 +11117,7 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
|
||||
{name: "Turtle", mime: "text/turtle", mode: "turtle", ext: ["ttl"]},
|
||||
{name: "TypeScript", mime: "application/typescript", mode: "javascript", ext: ["ts"], alias: ["ts"]},
|
||||
{name: "Twig", mime: "text/x-twig", mode: "twig"},
|
||||
{name: "Web IDL", mime: "text/x-webidl", mode: "webidl", ext: ["webidl"]},
|
||||
{name: "VB.NET", mime: "text/x-vb", mode: "vb", ext: ["vb"]},
|
||||
{name: "VBScript", mime: "text/vbscript", mode: "vbscript", ext: ["vbs"]},
|
||||
{name: "Velocity", mime: "text/velocity", mode: "velocity", ext: ["vtl"]},
|
||||
@ -11118,6 +11125,7 @@ CodeMirror.defineMIME("text/x-markdown", "markdown");
|
||||
{name: "VHDL", mime: "text/x-vhdl", mode: "vhdl", ext: ["vhd", "vhdl"]},
|
||||
{name: "XML", mimes: ["application/xml", "text/xml"], mode: "xml", ext: ["xml", "xsl", "xsd"], alias: ["rss", "wsdl", "xsd"]},
|
||||
{name: "XQuery", mime: "application/xquery", mode: "xquery", ext: ["xy", "xquery"]},
|
||||
{name: "Yacas", mime: "text/x-yacas", mode: "yacas", ext: ["ys"]},
|
||||
{name: "YAML", mime: "text/x-yaml", mode: "yaml", ext: ["yaml", "yml"], alias: ["yml"]},
|
||||
{name: "Z80", mime: "text/x-z80", mode: "z80", ext: ["z80"]},
|
||||
{name: "mscgen", mime: "text/x-mscgen", mode: "mscgen", ext: ["mscgen", "mscin", "msc"]},
|
||||
@ -11566,6 +11574,195 @@ if (!CodeMirror.mimeModes.hasOwnProperty("text/html"))
|
||||
});
|
||||
|
||||
},{"../../lib/codemirror":7}],12:[function(require,module,exports){
|
||||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
||||
// Distributed under an MIT license: http://codemirror.net/LICENSE
|
||||
|
||||
(function (mod) {
|
||||
if (typeof exports == "object" && typeof module == "object") // CommonJS
|
||||
mod(require("../../lib/codemirror"), require("../yaml/yaml"))
|
||||
else if (typeof define == "function" && define.amd) // AMD
|
||||
define(["../../lib/codemirror", "../yaml/yaml"], mod)
|
||||
else // Plain browser env
|
||||
mod(CodeMirror)
|
||||
})(function (CodeMirror) {
|
||||
|
||||
var START = 0, FRONTMATTER = 1, BODY = 2
|
||||
|
||||
// a mixed mode for Markdown text with an optional YAML front matter
|
||||
CodeMirror.defineMode("yaml-frontmatter", function (config, parserConfig) {
|
||||
var yamlMode = CodeMirror.getMode(config, "yaml")
|
||||
var innerMode = CodeMirror.getMode(config, parserConfig && parserConfig.base || "gfm")
|
||||
|
||||
function curMode(state) {
|
||||
return state.state == BODY ? innerMode : yamlMode
|
||||
}
|
||||
|
||||
return {
|
||||
startState: function () {
|
||||
return {
|
||||
state: START,
|
||||
inner: CodeMirror.startState(yamlMode)
|
||||
}
|
||||
},
|
||||
copyState: function (state) {
|
||||
return {
|
||||
state: state.state,
|
||||
inner: CodeMirror.copyState(curMode(state), state.inner)
|
||||
}
|
||||
},
|
||||
token: function (stream, state) {
|
||||
if (state.state == START) {
|
||||
if (stream.match(/---/, false)) {
|
||||
state.state = FRONTMATTER
|
||||
return yamlMode.token(stream, state.inner)
|
||||
} else {
|
||||
state.state = BODY
|
||||
state.inner = CodeMirror.startState(innerMode)
|
||||
return innerMode.token(stream, state.inner)
|
||||
}
|
||||
} else if (state.state == FRONTMATTER) {
|
||||
var end = stream.sol() && stream.match(/---/, false)
|
||||
var style = yamlMode.token(stream, state.inner)
|
||||
if (end) {
|
||||
state.state = BODY
|
||||
state.inner = CodeMirror.startState(innerMode)
|
||||
}
|
||||
return style
|
||||
} else {
|
||||
return innerMode.token(stream, state.inner)
|
||||
}
|
||||
},
|
||||
innerMode: function (state) {
|
||||
return {mode: curMode(state), state: state.inner}
|
||||
},
|
||||
blankLine: function (state) {
|
||||
var mode = curMode(state)
|
||||
if (mode.blankLine) return mode.blankLine(state.inner)
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
},{"../../lib/codemirror":7,"../yaml/yaml":13}],13:[function(require,module,exports){
|
||||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
||||
// Distributed under an MIT license: http://codemirror.net/LICENSE
|
||||
|
||||
(function(mod) {
|
||||
if (typeof exports == "object" && typeof module == "object") // CommonJS
|
||||
mod(require("../../lib/codemirror"));
|
||||
else if (typeof define == "function" && define.amd) // AMD
|
||||
define(["../../lib/codemirror"], mod);
|
||||
else // Plain browser env
|
||||
mod(CodeMirror);
|
||||
})(function(CodeMirror) {
|
||||
"use strict";
|
||||
|
||||
CodeMirror.defineMode("yaml", function() {
|
||||
|
||||
var cons = ['true', 'false', 'on', 'off', 'yes', 'no'];
|
||||
var keywordRegex = new RegExp("\\b(("+cons.join(")|(")+"))$", 'i');
|
||||
|
||||
return {
|
||||
token: function(stream, state) {
|
||||
var ch = stream.peek();
|
||||
var esc = state.escaped;
|
||||
state.escaped = false;
|
||||
/* comments */
|
||||
if (ch == "#" && (stream.pos == 0 || /\s/.test(stream.string.charAt(stream.pos - 1)))) {
|
||||
stream.skipToEnd();
|
||||
return "comment";
|
||||
}
|
||||
|
||||
if (stream.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))
|
||||
return "string";
|
||||
|
||||
if (state.literal && stream.indentation() > state.keyCol) {
|
||||
stream.skipToEnd(); return "string";
|
||||
} else if (state.literal) { state.literal = false; }
|
||||
if (stream.sol()) {
|
||||
state.keyCol = 0;
|
||||
state.pair = false;
|
||||
state.pairStart = false;
|
||||
/* document start */
|
||||
if(stream.match(/---/)) { return "def"; }
|
||||
/* document end */
|
||||
if (stream.match(/\.\.\./)) { return "def"; }
|
||||
/* array list item */
|
||||
if (stream.match(/\s*-\s+/)) { return 'meta'; }
|
||||
}
|
||||
/* inline pairs/lists */
|
||||
if (stream.match(/^(\{|\}|\[|\])/)) {
|
||||
if (ch == '{')
|
||||
state.inlinePairs++;
|
||||
else if (ch == '}')
|
||||
state.inlinePairs--;
|
||||
else if (ch == '[')
|
||||
state.inlineList++;
|
||||
else
|
||||
state.inlineList--;
|
||||
return 'meta';
|
||||
}
|
||||
|
||||
/* list seperator */
|
||||
if (state.inlineList > 0 && !esc && ch == ',') {
|
||||
stream.next();
|
||||
return 'meta';
|
||||
}
|
||||
/* pairs seperator */
|
||||
if (state.inlinePairs > 0 && !esc && ch == ',') {
|
||||
state.keyCol = 0;
|
||||
state.pair = false;
|
||||
state.pairStart = false;
|
||||
stream.next();
|
||||
return 'meta';
|
||||
}
|
||||
|
||||
/* start of value of a pair */
|
||||
if (state.pairStart) {
|
||||
/* block literals */
|
||||
if (stream.match(/^\s*(\||\>)\s*/)) { state.literal = true; return 'meta'; };
|
||||
/* references */
|
||||
if (stream.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i)) { return 'variable-2'; }
|
||||
/* numbers */
|
||||
if (state.inlinePairs == 0 && stream.match(/^\s*-?[0-9\.\,]+\s?$/)) { return 'number'; }
|
||||
if (state.inlinePairs > 0 && stream.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/)) { return 'number'; }
|
||||
/* keywords */
|
||||
if (stream.match(keywordRegex)) { return 'keyword'; }
|
||||
}
|
||||
|
||||
/* pairs (associative arrays) -> key */
|
||||
if (!state.pair && stream.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)) {
|
||||
state.pair = true;
|
||||
state.keyCol = stream.indentation();
|
||||
return "atom";
|
||||
}
|
||||
if (state.pair && stream.match(/^:\s*/)) { state.pairStart = true; return 'meta'; }
|
||||
|
||||
/* nothing found, continue */
|
||||
state.pairStart = false;
|
||||
state.escaped = (ch == '\\');
|
||||
stream.next();
|
||||
return null;
|
||||
},
|
||||
startState: function() {
|
||||
return {
|
||||
pair: false,
|
||||
pairStart: false,
|
||||
keyCol: 0,
|
||||
inlinePairs: 0,
|
||||
inlineList: 0,
|
||||
literal: false,
|
||||
escaped: false
|
||||
};
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
CodeMirror.defineMIME("text/x-yaml", "yaml");
|
||||
|
||||
});
|
||||
|
||||
},{"../../lib/codemirror":7}],14:[function(require,module,exports){
|
||||
(function (global){
|
||||
/**
|
||||
* marked - a markdown parser
|
||||
@ -12854,7 +13051,7 @@ if (typeof module !== 'undefined' && typeof exports === 'object') {
|
||||
}());
|
||||
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{}],13:[function(require,module,exports){
|
||||
},{}],15:[function(require,module,exports){
|
||||
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
||||
// Distributed under an MIT license: http://codemirror.net/LICENSE
|
||||
|
||||
@ -12900,7 +13097,7 @@ CodeMirror.commands.shiftTabAndUnindentMarkdownList = function (cm) {
|
||||
}
|
||||
};
|
||||
|
||||
},{"codemirror":7}],14:[function(require,module,exports){
|
||||
},{"codemirror":7}],16:[function(require,module,exports){
|
||||
/*global require,module*/
|
||||
"use strict";
|
||||
var CodeMirror = require("codemirror");
|
||||
@ -12912,6 +13109,8 @@ require("codemirror/addon/mode/overlay.js");
|
||||
require("codemirror/addon/display/placeholder.js");
|
||||
require("codemirror/mode/gfm/gfm.js");
|
||||
require("codemirror/mode/xml/xml.js");
|
||||
require("codemirror/mode/yaml/yaml.js");
|
||||
require("codemirror/mode/yaml-frontmatter/yaml-frontmatter.js");
|
||||
require("spell-checker");
|
||||
var marked = require("marked");
|
||||
|
||||
@ -14366,11 +14565,11 @@ SimpleMDE.prototype.render = function(el) {
|
||||
if(options.spellChecker !== false) {
|
||||
mode = "spell-checker";
|
||||
backdrop = options.parsingConfig;
|
||||
backdrop.name = "gfm";
|
||||
backdrop.name = options.mode || "gfm";
|
||||
backdrop.gitHubSpice = false;
|
||||
} else {
|
||||
mode = options.parsingConfig;
|
||||
mode.name = "gfm";
|
||||
mode.name = options.mode || "gfm";
|
||||
mode.gitHubSpice = false;
|
||||
}
|
||||
|
||||
@ -14906,5 +15105,5 @@ SimpleMDE.prototype.toTextArea = function() {
|
||||
};
|
||||
|
||||
module.exports = SimpleMDE;
|
||||
},{"./codemirror/tablist":13,"codemirror":7,"codemirror/addon/display/fullscreen.js":3,"codemirror/addon/display/placeholder.js":4,"codemirror/addon/edit/continuelist.js":5,"codemirror/addon/mode/overlay.js":6,"codemirror/mode/gfm/gfm.js":8,"codemirror/mode/markdown/markdown.js":9,"codemirror/mode/xml/xml.js":11,"marked":12,"spell-checker":1}]},{},[14])(14)
|
||||
},{"./codemirror/tablist":15,"codemirror":7,"codemirror/addon/display/fullscreen.js":3,"codemirror/addon/display/placeholder.js":4,"codemirror/addon/edit/continuelist.js":5,"codemirror/addon/mode/overlay.js":6,"codemirror/mode/gfm/gfm.js":8,"codemirror/mode/markdown/markdown.js":9,"codemirror/mode/xml/xml.js":11,"codemirror/mode/yaml-frontmatter/yaml-frontmatter.js":12,"codemirror/mode/yaml/yaml.js":13,"marked":14,"spell-checker":1}]},{},[16])(16)
|
||||
});
|
2
dist/simplemde.min.css
vendored
2
dist/simplemde.min.css
vendored
File diff suppressed because one or more lines are too long
16
dist/simplemde.min.js
vendored
16
dist/simplemde.min.js
vendored
File diff suppressed because one or more lines are too long
@ -9,6 +9,8 @@ require("codemirror/addon/mode/overlay.js");
|
||||
require("codemirror/addon/display/placeholder.js");
|
||||
require("codemirror/mode/gfm/gfm.js");
|
||||
require("codemirror/mode/xml/xml.js");
|
||||
require("codemirror/mode/yaml/yaml.js");
|
||||
require("codemirror/mode/yaml-frontmatter/yaml-frontmatter.js");
|
||||
require("spell-checker");
|
||||
var marked = require("marked");
|
||||
|
||||
@ -1463,11 +1465,11 @@ SimpleMDE.prototype.render = function(el) {
|
||||
if(options.spellChecker !== false) {
|
||||
mode = "spell-checker";
|
||||
backdrop = options.parsingConfig;
|
||||
backdrop.name = "gfm";
|
||||
backdrop.name = options.mode || "gfm";
|
||||
backdrop.gitHubSpice = false;
|
||||
} else {
|
||||
mode = options.parsingConfig;
|
||||
mode.name = "gfm";
|
||||
mode.name = options.mode || "gfm";
|
||||
mode.gitHubSpice = false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user