mirror of
https://github.com/sparksuite/simplemde-markdown-editor.git
synced 2025-09-24 16:40:55 -06:00
Merge 6fbf38f6baee311ff3777ca0382003fe6372ec90 into 6abda7ab68cc20f4aca870eb243747951b90ab04
This commit is contained in:
commit
767bd34892
@ -94,8 +94,14 @@
|
|||||||
|
|
||||||
.cm-tab { display: inline-block; text-decoration: inherit; }
|
.cm-tab { display: inline-block; text-decoration: inherit; }
|
||||||
|
|
||||||
|
.CodeMirror-rulers {
|
||||||
|
position: absolute;
|
||||||
|
left: 0; right: 0; top: -50px; bottom: -20px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
.CodeMirror-ruler {
|
.CodeMirror-ruler {
|
||||||
border-left: 1px solid #ccc;
|
border-left: 1px solid #ccc;
|
||||||
|
top: 0; bottom: 0;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +125,7 @@
|
|||||||
.cm-s-default .cm-property,
|
.cm-s-default .cm-property,
|
||||||
.cm-s-default .cm-operator {}
|
.cm-s-default .cm-operator {}
|
||||||
.cm-s-default .cm-variable-2 {color: #05a;}
|
.cm-s-default .cm-variable-2 {color: #05a;}
|
||||||
.cm-s-default .cm-variable-3 {color: #085;}
|
.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
|
||||||
.cm-s-default .cm-comment {color: #a50;}
|
.cm-s-default .cm-comment {color: #a50;}
|
||||||
.cm-s-default .cm-string {color: #a11;}
|
.cm-s-default .cm-string {color: #a11;}
|
||||||
.cm-s-default .cm-string-2 {color: #f50;}
|
.cm-s-default .cm-string-2 {color: #f50;}
|
||||||
@ -206,9 +212,6 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
margin-bottom: -30px;
|
margin-bottom: -30px;
|
||||||
/* Hack to make IE7 behave */
|
|
||||||
*zoom:1;
|
|
||||||
*display:inline;
|
|
||||||
}
|
}
|
||||||
.CodeMirror-gutter-wrapper {
|
.CodeMirror-gutter-wrapper {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -226,11 +229,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
cursor: default;
|
cursor: default;
|
||||||
z-index: 4;
|
z-index: 4;
|
||||||
}
|
}
|
||||||
.CodeMirror-gutter-wrapper {
|
.CodeMirror-gutter-wrapper ::selection { background-color: transparent }
|
||||||
-webkit-user-select: none;
|
.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }
|
||||||
-moz-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.CodeMirror-lines {
|
.CodeMirror-lines {
|
||||||
cursor: text;
|
cursor: text;
|
||||||
@ -252,8 +252,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
position: relative;
|
position: relative;
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
-webkit-tap-highlight-color: transparent;
|
-webkit-tap-highlight-color: transparent;
|
||||||
-webkit-font-variant-ligatures: none;
|
-webkit-font-variant-ligatures: contextual;
|
||||||
font-variant-ligatures: none;
|
font-variant-ligatures: contextual;
|
||||||
}
|
}
|
||||||
.CodeMirror-wrap pre {
|
.CodeMirror-wrap pre {
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
@ -275,6 +275,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
|
|
||||||
.CodeMirror-widget {}
|
.CodeMirror-widget {}
|
||||||
|
|
||||||
|
.CodeMirror-rtl pre { direction: rtl; }
|
||||||
|
|
||||||
.CodeMirror-code {
|
.CodeMirror-code {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
@ -297,7 +299,10 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CodeMirror-cursor { position: absolute; }
|
.CodeMirror-cursor {
|
||||||
|
position: absolute;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
.CodeMirror-measure pre { position: static; }
|
.CodeMirror-measure pre { position: static; }
|
||||||
|
|
||||||
div.CodeMirror-cursors {
|
div.CodeMirror-cursors {
|
||||||
@ -324,9 +329,6 @@ div.CodeMirror-dragcursors {
|
|||||||
background: rgba(255, 255, 0, .4);
|
background: rgba(255, 255, 0, .4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* IE7 hack to prevent it from returning funny offsetTops on the spans */
|
|
||||||
.CodeMirror span { *vertical-align: text-bottom; }
|
|
||||||
|
|
||||||
/* Used to force a border model for a node */
|
/* Used to force a border model for a node */
|
||||||
.cm-force-border { padding-right: .1px; }
|
.cm-force-border { padding-right: .1px; }
|
||||||
|
|
||||||
|
18556
debug/simplemde.debug.js
18556
debug/simplemde.debug.js
File diff suppressed because one or more lines are too long
18555
debug/simplemde.js
18555
debug/simplemde.js
File diff suppressed because it is too large
Load Diff
2
dist/simplemde.min.css
vendored
2
dist/simplemde.min.css
vendored
File diff suppressed because one or more lines are too long
10
dist/simplemde.min.js
vendored
10
dist/simplemde.min.js
vendored
File diff suppressed because one or more lines are too long
@ -72,7 +72,7 @@ var getBindingName = function(f) {
|
|||||||
var isMobile = function() {
|
var isMobile = function() {
|
||||||
var check = false;
|
var check = false;
|
||||||
(function(a) {
|
(function(a) {
|
||||||
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
|
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(a.substr(0, 4))) check = true;
|
||||||
})(navigator.userAgent || navigator.vendor || window.opera);
|
})(navigator.userAgent || navigator.vendor || window.opera);
|
||||||
return check;
|
return check;
|
||||||
};
|
};
|
||||||
@ -171,7 +171,7 @@ function getState(cm, pos) {
|
|||||||
ret.link = true;
|
ret.link = true;
|
||||||
} else if(data === "tag") {
|
} else if(data === "tag") {
|
||||||
ret.image = true;
|
ret.image = true;
|
||||||
} else if(data.match(/^header(\-[1-6])?$/)) {
|
} else if(data.match(/^header(-[1-6])?$/)) {
|
||||||
ret[data.replace("header", "heading")] = true;
|
ret[data.replace("header", "heading")] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -627,21 +627,39 @@ function drawLink(editor) {
|
|||||||
_replaceSelection(cm, stat.link, options.insertTexts.link, url);
|
_replaceSelection(cm, stat.link, options.insertTexts.link, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert image at cursor
|
||||||
|
*/
|
||||||
|
function insertAtCursor(cm, text, url, desc, point) {
|
||||||
|
var start = text[0];
|
||||||
|
var end = text[1];
|
||||||
|
if(typeof point != "undefined") {
|
||||||
|
point = cm.coordsChar(point);
|
||||||
|
} else {
|
||||||
|
point = cm.getCursor("start");
|
||||||
|
}
|
||||||
|
start = start.replace("#desc#", desc);
|
||||||
|
end = end.replace("#url#", url);
|
||||||
|
cm.replaceRange(start + end, point);
|
||||||
|
cm.focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Action for drawing an img.
|
* Action for drawing an img.
|
||||||
*/
|
*/
|
||||||
function drawImage(editor) {
|
function drawImage(editor, url, desc) {
|
||||||
|
url = (typeof url != "undefined") ? url : "http://";
|
||||||
|
desc = (typeof desc != "undefined") ? desc : "";
|
||||||
var cm = editor.codemirror;
|
var cm = editor.codemirror;
|
||||||
var stat = getState(cm);
|
|
||||||
var options = editor.options;
|
var options = editor.options;
|
||||||
var url = "http://";
|
|
||||||
if(options.promptURLs) {
|
if(options.promptURLs) {
|
||||||
url = prompt(options.promptTexts.image);
|
url = prompt(options.promptTexts.image);
|
||||||
if(!url) {
|
if(!url) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_replaceSelection(cm, stat.image, options.insertTexts.image, url);
|
insertAtCursor(cm, options.insertTexts.image, url, desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -788,7 +806,8 @@ function togglePreview(editor) {
|
|||||||
toggleSideBySide(editor);
|
toggleSideBySide(editor);
|
||||||
}
|
}
|
||||||
|
|
||||||
function _replaceSelection(cm, active, startEnd, url) {
|
function _replaceSelection(cm, active, startEnd, url, desc) {
|
||||||
|
desc = (typeof desc != "undefined") ? desc : "";
|
||||||
if(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))
|
if(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -798,6 +817,7 @@ function _replaceSelection(cm, active, startEnd, url) {
|
|||||||
var startPoint = cm.getCursor("start");
|
var startPoint = cm.getCursor("start");
|
||||||
var endPoint = cm.getCursor("end");
|
var endPoint = cm.getCursor("end");
|
||||||
if(url) {
|
if(url) {
|
||||||
|
start = start.replace("#desc#", desc);
|
||||||
end = end.replace("#url#", url);
|
end = end.replace("#url#", url);
|
||||||
}
|
}
|
||||||
if(active) {
|
if(active) {
|
||||||
@ -900,8 +920,8 @@ function _toggleLine(cm, name) {
|
|||||||
var startPoint = cm.getCursor("start");
|
var startPoint = cm.getCursor("start");
|
||||||
var endPoint = cm.getCursor("end");
|
var endPoint = cm.getCursor("end");
|
||||||
var repl = {
|
var repl = {
|
||||||
"quote": /^(\s*)\>\s+/,
|
"quote": /^(\s*)>\s+/,
|
||||||
"unordered-list": /^(\s*)(\*|\-|\+)\s+/,
|
"unordered-list": /^(\s*)(\*|-|\+)\s+/,
|
||||||
"ordered-list": /^(\s*)\d+\.\s+/
|
"ordered-list": /^(\s*)\d+\.\s+/
|
||||||
};
|
};
|
||||||
var map = {
|
var map = {
|
||||||
@ -1008,7 +1028,7 @@ function _cleanBlock(cm) {
|
|||||||
|
|
||||||
for(var line = startPoint.line; line <= endPoint.line; line++) {
|
for(var line = startPoint.line; line <= endPoint.line; line++) {
|
||||||
text = cm.getLine(line);
|
text = cm.getLine(line);
|
||||||
text = text.replace(/^[ ]*([# ]+|\*|\-|[> ]+|[0-9]+(.|\)))[ ]*/, "");
|
text = text.replace(/^[ ]*([# ]+|\*|-|[> ]+|[0-9]+(.|\)))[ ]*/, "");
|
||||||
|
|
||||||
cm.replaceRange(text, {
|
cm.replaceRange(text, {
|
||||||
line: line,
|
line: line,
|
||||||
@ -1242,7 +1262,7 @@ var toolbarBuiltInButtons = {
|
|||||||
|
|
||||||
var insertTexts = {
|
var insertTexts = {
|
||||||
link: ["[", "](#url#)"],
|
link: ["[", "](#url#)"],
|
||||||
image: [""],
|
image: [""],
|
||||||
table: ["", "\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n\n"],
|
table: ["", "\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n\n"],
|
||||||
horizontalRule: ["", "\n\n-----\n\n"]
|
horizontalRule: ["", "\n\n-----\n\n"]
|
||||||
};
|
};
|
||||||
@ -1947,8 +1967,8 @@ SimpleMDE.prototype.cleanBlock = function() {
|
|||||||
SimpleMDE.prototype.drawLink = function() {
|
SimpleMDE.prototype.drawLink = function() {
|
||||||
drawLink(this);
|
drawLink(this);
|
||||||
};
|
};
|
||||||
SimpleMDE.prototype.drawImage = function() {
|
SimpleMDE.prototype.drawImage = function(url, desc) {
|
||||||
drawImage(this);
|
drawImage(this, url, desc);
|
||||||
};
|
};
|
||||||
SimpleMDE.prototype.drawTable = function() {
|
SimpleMDE.prototype.drawTable = function() {
|
||||||
drawTable(this);
|
drawTable(this);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user