diff --git a/.travis.yml b/.travis.yml
index 4515f20..eec94e9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,6 @@ node_js:
- '6'
- '5'
- '4'
-- '0.12'
before_script:
- npm install -g gulp
script: gulp
diff --git a/README.md b/README.md
index 03793c9..6f98ca0 100644
--- a/README.md
+++ b/README.md
@@ -88,16 +88,18 @@ simplemde.value("This text will appear in the editor");
- link
- table
- **lineWrapping**: If set to `false`, disable line wrapping. Defaults to `true`.
+- **minHeight**: Sets the minimum height for the composition area, before it starts auto-growing. Should be a string containing a valid CSS value like `"500px"`. Dafaults to `"300px"`.
- **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`.
- **underscoresBreakWords**: If set to `true`, let underscores be a delimiter for separating words. Defaults to `false`.
-- **placeholder**: Custom placeholder that should be displayed
+- **placeholder**: If set, displays a custom placeholder message.
- **previewRender**: Custom function for parsing the plaintext Markdown and returning HTML. Used when user previews.
- **promptURLs**: If set to `true`, a JS alert window appears asking for the link or image URL. Defaults to `false`.
- **renderingConfig**: Adjust settings for parsing the Markdown during previewing (not editing).
- - **singleLineBreaks**: If set to `false`, disable parsing GFM single line breaks. Defaults to `true`.
- **codeSyntaxHighlighting**: If set to `true`, will highlight using [highlight.js](https://github.com/isagalaev/highlight.js). Defaults to `false`. To use this feature you must include highlight.js on your page. For example, include the script and the CSS files like: `` ``
+ - **markedOptions**: Set the internal Markdown renderer's [options](https://github.com/chjj/marked#options-1). Other `renderingConfig` options will take precedence.
+ - **singleLineBreaks**: If set to `false`, disable parsing GFM single line breaks. Defaults to `true`.
- **shortcuts**: Keyboard shortcuts associated with this instance. Defaults to the [array of shortcuts](#keyboard-shortcuts).
- **showIcons**: An array of icon names to show. Can be used to show specific icons hidden by default without completely customizing the toolbar.
- **spellChecker**: If set to `false`, disable the spell checker. Defaults to `true`.
@@ -133,6 +135,7 @@ var simplemde = new SimpleMDE({
table: ["", "\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n\n"],
},
lineWrapping: false,
+ minHeight: "500px",
parsingConfig: {
allowAtxHeaderWithoutSpace: true,
strikethrough: false,
@@ -276,24 +279,6 @@ Shortcuts are automatically converted between platforms. If you define a shortcu
The list of actions that can be bound is the same as the list of built-in actions available for [toolbar buttons](#toolbar-icons).
-#### Height
-
-To change the minimum height (before it starts auto-growing):
-
-```CSS
-.CodeMirror, .CodeMirror-scroll {
- min-height: 200px;
-}
-```
-
-Or, you can keep the height static:
-
-```CSS
-.CodeMirror {
- height: 300px;
-}
-```
-
## Event handling
You can catch the following list of events: https://codemirror.net/doc/manual.html#events
diff --git a/src/css/simplemde.css b/src/css/simplemde.css
index fb0e4c7..567d801 100644
--- a/src/css/simplemde.css
+++ b/src/css/simplemde.css
@@ -1,6 +1,5 @@
.CodeMirror {
height: auto;
- min-height: 300px;
border: 1px solid #ddd;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
@@ -9,10 +8,6 @@
z-index: 1;
}
-.CodeMirror-scroll {
- min-height: 300px
-}
-
.CodeMirror-fullscreen {
background: #fff;
position: fixed !important;
@@ -22,6 +17,8 @@
bottom: 0;
height: auto;
z-index: 9;
+ border-right: none !important;
+ border-bottom-right-radius: 0 !important;
}
.CodeMirror-sided {
diff --git a/src/js/simplemde.js b/src/js/simplemde.js
index 016d693..bdf6532 100644
--- a/src/js/simplemde.js
+++ b/src/js/simplemde.js
@@ -795,8 +795,9 @@ function _replaceSelection(cm, active, startEnd, url) {
var text;
var start = startEnd[0];
var end = startEnd[1];
- var startPoint = cm.getCursor("start");
- var endPoint = cm.getCursor("end");
+ var startPoint = {}, endPoint = {};
+ Object.assign(startPoint, cm.getCursor("start"));
+ Object.assign(endPoint, cm.getCursor("end"));
if(url) {
end = end.replace("#url#", url);
}
@@ -1364,6 +1365,8 @@ function SimpleMDE(options) {
// Merging the shortcuts, with the given options
options.shortcuts = extend({}, shortcuts, options.shortcuts || {});
+ options.minHeight = options.minHeight || "300px";
+
// Change unique_id to uniqueId for backwards compatibility
if(options.autosave != undefined && options.autosave.unique_id != undefined && options.autosave.unique_id != "")
@@ -1392,8 +1395,12 @@ function SimpleMDE(options) {
SimpleMDE.prototype.markdown = function(text) {
if(marked) {
// Initialize
- var markedOptions = {};
-
+ var markedOptions;
+ if(this.options && this.options.renderingConfig && this.options.renderingConfig.markedOptions) {
+ markedOptions = this.options.renderingConfig.markedOptions;
+ } else {
+ markedOptions = {};
+ }
// Update options
if(this.options && this.options.renderingConfig && this.options.renderingConfig.singleLineBreaks === false) {
@@ -1495,6 +1502,8 @@ SimpleMDE.prototype.render = function(el) {
styleSelectedText: (options.styleSelectedText != undefined) ? options.styleSelectedText : true
});
+ this.codemirror.getScrollerElement().style.minHeight = options.minHeight;
+
if(options.forceSync === true) {
var cm = this.codemirror;
cm.on("change", function() {
@@ -2025,4 +2034,4 @@ SimpleMDE.prototype.toTextArea = function() {
}
};
-module.exports = SimpleMDE;
\ No newline at end of file
+module.exports = SimpleMDE;