Merge 30a5b7b65e1d2c0069b3280cab40b5f93b474118 into 6abda7ab68cc20f4aca870eb243747951b90ab04

This commit is contained in:
Jeroen Akkerman 2017-12-04 00:27:06 +00:00 committed by GitHub
commit 6bb4d08c60
8 changed files with 20140 additions and 18078 deletions

View File

@ -1,9 +1,9 @@
language: node_js language: node_js
node_js: node_js:
- '9'
- '8'
- '6' - '6'
- '5'
- '4' - '4'
- '0.12'
before_script: before_script:
- npm install -g gulp - npm install -g gulp
script: gulp script: gulp

View File

@ -11,6 +11,7 @@
font-family: monospace; font-family: monospace;
height: 300px; height: 300px;
color: black; color: black;
direction: ltr;
} }
/* PADDING */ /* PADDING */
@ -64,7 +65,12 @@
.cm-fat-cursor div.CodeMirror-cursors { .cm-fat-cursor div.CodeMirror-cursors {
z-index: 1; z-index: 1;
} }
.cm-fat-cursor-mark {
background-color: rgba(20, 255, 20, 0.5);
-webkit-animation: blink 1.06s steps(1) infinite;
-moz-animation: blink 1.06s steps(1) infinite;
animation: blink 1.06s steps(1) infinite;
}
.cm-animate-fat-cursor { .cm-animate-fat-cursor {
width: auto; width: auto;
border: 0; border: 0;
@ -94,8 +100,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 +131,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;}
@ -139,8 +151,8 @@
/* Default styles for common addons */ /* Default styles for common addons */
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } .CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
.CodeMirror-activeline-background {background: #e8f2ff;} .CodeMirror-activeline-background {background: #e8f2ff;}
@ -206,9 +218,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 +235,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 +258,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 +281,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 +305,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 {
@ -320,13 +331,10 @@ div.CodeMirror-dragcursors {
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
.cm-searching { .cm-searching {
background: #ffa; background-color: #ffa;
background: rgba(255, 255, 0, .4); background-color: 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; }
@ -375,7 +383,6 @@ span.CodeMirror-selectedtext { background: none; }
.editor-toolbar { .editor-toolbar {
position: relative; position: relative;
opacity: .6;
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
@ -404,12 +411,6 @@ span.CodeMirror-selectedtext { background: none; }
margin-top: 8px margin-top: 8px
} }
.editor-toolbar:hover,
.editor-wrapper input.title:focus,
.editor-wrapper input.title:hover {
opacity: .8
}
.editor-toolbar.fullscreen { .editor-toolbar.fullscreen {
width: 100%; width: 100%;
height: 50px; height: 50px;
@ -464,7 +465,6 @@ span.CodeMirror-selectedtext { background: none; }
display: inline-block; display: inline-block;
text-align: center; text-align: center;
text-decoration: none!important; text-decoration: none!important;
color: #2c3e50!important;
width: 30px; width: 30px;
height: 30px; height: 30px;
margin: 0; margin: 0;
@ -522,6 +522,7 @@ span.CodeMirror-selectedtext { background: none; }
} }
.editor-toolbar.disabled-for-preview a:not(.no-disable) { .editor-toolbar.disabled-for-preview a:not(.no-disable) {
opacity: .6;
pointer-events: none; pointer-events: none;
background: #fff; background: #fff;
border-color: transparent; border-color: transparent;

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

10
dist/simplemde.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -30,7 +30,6 @@
.editor-toolbar { .editor-toolbar {
position: relative; position: relative;
opacity: .6;
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
@ -59,12 +58,6 @@
margin-top: 8px margin-top: 8px
} }
.editor-toolbar:hover,
.editor-wrapper input.title:focus,
.editor-wrapper input.title:hover {
opacity: .8
}
.editor-toolbar.fullscreen { .editor-toolbar.fullscreen {
width: 100%; width: 100%;
height: 50px; height: 50px;
@ -119,7 +112,6 @@
display: inline-block; display: inline-block;
text-align: center; text-align: center;
text-decoration: none!important; text-decoration: none!important;
color: #2c3e50!important;
width: 30px; width: 30px;
height: 30px; height: 30px;
margin: 0; margin: 0;
@ -177,6 +169,7 @@
} }
.editor-toolbar.disabled-for-preview a:not(.no-disable) { .editor-toolbar.disabled-for-preview a:not(.no-disable) {
opacity: .6;
pointer-events: none; pointer-events: none;
background: #fff; background: #fff;
border-color: transparent; border-color: transparent;

View File

@ -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;
}; };
@ -99,6 +99,10 @@ function createIcon(options, enableTooltips, shortcuts) {
var el = document.createElement("a"); var el = document.createElement("a");
enableTooltips = (enableTooltips == undefined) ? true : enableTooltips; enableTooltips = (enableTooltips == undefined) ? true : enableTooltips;
if(options.noDisable) {
el.className = "no-disable";
}
if(options.title && enableTooltips) { if(options.title && enableTooltips) {
el.title = createTootlip(options.title, options.action, shortcuts); el.title = createTootlip(options.title, options.action, shortcuts);
@ -109,7 +113,12 @@ function createIcon(options, enableTooltips, shortcuts) {
} }
el.tabIndex = -1; el.tabIndex = -1;
el.className = options.className;
// Create icon element and append as a child to the button.
var icon = document.createElement("i");
icon.className = options.className;
el.appendChild(icon);
return el; return el;
} }
@ -171,7 +180,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;
} }
} }
@ -617,7 +626,7 @@ function drawLink(editor) {
var cm = editor.codemirror; var cm = editor.codemirror;
var stat = getState(cm); var stat = getState(cm);
var options = editor.options; var options = editor.options;
var url = "http://"; var url = "https://";
if(options.promptURLs) { if(options.promptURLs) {
url = prompt(options.promptTexts.link); url = prompt(options.promptTexts.link);
if(!url) { if(!url) {
@ -634,7 +643,7 @@ function drawImage(editor) {
var cm = editor.codemirror; var cm = editor.codemirror;
var stat = getState(cm); var stat = getState(cm);
var options = editor.options; var options = editor.options;
var url = "http://"; var url = "https://";
if(options.promptURLs) { if(options.promptURLs) {
url = prompt(options.promptTexts.image); url = prompt(options.promptTexts.image);
if(!url) { if(!url) {
@ -900,8 +909,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 +1017,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,
@ -1090,7 +1099,7 @@ var toolbarBuiltInButtons = {
"heading": { "heading": {
name: "heading", name: "heading",
action: toggleHeadingSmaller, action: toggleHeadingSmaller,
className: "fa fa-header", className: "fa fa-header fa-heading",
title: "Heading", title: "Heading",
default: true default: true
}, },
@ -1173,7 +1182,7 @@ var toolbarBuiltInButtons = {
"image": { "image": {
name: "image", name: "image",
action: drawImage, action: drawImage,
className: "fa fa-picture-o", className: "fa fa-image",
title: "Insert Image", title: "Insert Image",
default: true default: true
}, },
@ -1195,21 +1204,24 @@ var toolbarBuiltInButtons = {
"preview": { "preview": {
name: "preview", name: "preview",
action: togglePreview, action: togglePreview,
className: "fa fa-eye no-disable", className: "fa fa-eye",
noDisable: true,
title: "Toggle Preview", title: "Toggle Preview",
default: true default: true
}, },
"side-by-side": { "side-by-side": {
name: "side-by-side", name: "side-by-side",
action: toggleSideBySide, action: toggleSideBySide,
className: "fa fa-columns no-disable no-mobile", className: "fa fa-columns no-mobile",
noDisable: true,
title: "Toggle Side by Side", title: "Toggle Side by Side",
default: true default: true
}, },
"fullscreen": { "fullscreen": {
name: "fullscreen", name: "fullscreen",
action: toggleFullScreen, action: toggleFullScreen,
className: "fa fa-arrows-alt no-disable no-mobile", className: "fa fa-arrows-alt no-mobile",
noDisable: true,
title: "Toggle Fullscreen", title: "Toggle Fullscreen",
default: true default: true
}, },
@ -1221,6 +1233,7 @@ var toolbarBuiltInButtons = {
action: "https://simplemde.com/markdown-guide", action: "https://simplemde.com/markdown-guide",
className: "fa fa-question-circle", className: "fa fa-question-circle",
title: "Markdown Guide", title: "Markdown Guide",
noDisable: true,
default: true default: true
}, },
"separator-5": { "separator-5": {
@ -1229,13 +1242,15 @@ var toolbarBuiltInButtons = {
"undo": { "undo": {
name: "undo", name: "undo",
action: undo, action: undo,
className: "fa fa-undo no-disable", className: "fa fa-undo",
noDisable: true,
title: "Undo" title: "Undo"
}, },
"redo": { "redo": {
name: "redo", name: "redo",
action: redo, action: redo,
className: "fa fa-repeat no-disable", className: "fa fa-repeat",
noDisable: true,
title: "Redo" title: "Redo"
} }
}; };