Added option to disable intra-word stars/underscores in Markdown Extra extension. Fixes #156. Fixes #243.
This commit is contained in:
parent
67eb79350f
commit
fcb54b196e
@ -18,7 +18,7 @@
|
|||||||
"requirejs-text": "~2.0.10",
|
"requirejs-text": "~2.0.10",
|
||||||
"bootstrap-tour": "~0.7.1",
|
"bootstrap-tour": "~0.7.1",
|
||||||
"ace": "4bbe5346f2ae5ad35c0c47defa244ab27aedd451",
|
"ace": "4bbe5346f2ae5ad35c0c47defa244ab27aedd451",
|
||||||
"pagedown-ace": "https://github.com/benweet/pagedown-ace.git#72a27932f6f4f78e93a186aa2947d1f15c1cd7d5",
|
"pagedown-ace": "git@github.com:benweet/pagedown-ace.git#84d5e1b7ff233a1c8cafa9716e825228d275120c",
|
||||||
"pagedown-extra": "git@github.com:jmcmanus/pagedown-extra.git#9c77f3ad718fec32935f092a560c0023355caf9a",
|
"pagedown-extra": "git@github.com:jmcmanus/pagedown-extra.git#9c77f3ad718fec32935f092a560c0023355caf9a",
|
||||||
"crel": "git@github.com:KoryNunn/crel.git#8dbda04b129fc0aec01a2a080d1cab26816e11c1",
|
"crel": "git@github.com:KoryNunn/crel.git#8dbda04b129fc0aec01a2a080d1cab26816e11c1",
|
||||||
"waitForImages": "git@github.com:alexanderdickson/waitForImages.git#~1.4.2",
|
"waitForImages": "git@github.com:alexanderdickson/waitForImages.git#~1.4.2",
|
||||||
@ -30,7 +30,6 @@
|
|||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"jquery": "2.0.3",
|
"jquery": "2.0.3",
|
||||||
"bootstrap": "v3.0.0",
|
"bootstrap": "v3.0.0"
|
||||||
"pagedown-extra": "05e56619f8fd74421575677c64eb895264f4c375"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -524,6 +524,17 @@ define([
|
|||||||
|
|
||||||
// Create the converter and the editor
|
// Create the converter and the editor
|
||||||
var converter = new Markdown.Converter();
|
var converter = new Markdown.Converter();
|
||||||
|
var options = {
|
||||||
|
_DoItalicsAndBold: function(text) {
|
||||||
|
// Restore original markdown implementation
|
||||||
|
text = text.replace(/(\*\*|__)(?=\S)(.+?[*_]*)(?=\S)\1/g,
|
||||||
|
"<strong>$2</strong>");
|
||||||
|
text = text.replace(/(\*|_)(?=\S)(.+?)(?=\S)\1/g,
|
||||||
|
"<em>$2</em>");
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
converter.setOptions(options);
|
||||||
|
|
||||||
function checkDocumentChanges() {
|
function checkDocumentChanges() {
|
||||||
var newDocumentContent = $editorElt.val();
|
var newDocumentContent = $editorElt.val();
|
||||||
|
@ -23,6 +23,7 @@ define([
|
|||||||
"strikethrough",
|
"strikethrough",
|
||||||
"newlines",
|
"newlines",
|
||||||
],
|
],
|
||||||
|
intraword: true,
|
||||||
highlighter: "prettify"
|
highlighter: "prettify"
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -40,6 +41,7 @@ define([
|
|||||||
utils.setInputChecked("#input-markdownextra-smartypants", hasExtension("smartypants"));
|
utils.setInputChecked("#input-markdownextra-smartypants", hasExtension("smartypants"));
|
||||||
utils.setInputChecked("#input-markdownextra-strikethrough", hasExtension("strikethrough"));
|
utils.setInputChecked("#input-markdownextra-strikethrough", hasExtension("strikethrough"));
|
||||||
utils.setInputChecked("#input-markdownextra-newlines", hasExtension("newlines"));
|
utils.setInputChecked("#input-markdownextra-newlines", hasExtension("newlines"));
|
||||||
|
utils.setInputChecked("#input-markdownextra-intraword", markdownExtra.config.intraword);
|
||||||
utils.setInputValue("#input-markdownextra-highlighter", markdownExtra.config.highlighter);
|
utils.setInputValue("#input-markdownextra-highlighter", markdownExtra.config.highlighter);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -53,6 +55,7 @@ define([
|
|||||||
utils.getInputChecked("#input-markdownextra-smartypants") && newConfig.extensions.push("smartypants");
|
utils.getInputChecked("#input-markdownextra-smartypants") && newConfig.extensions.push("smartypants");
|
||||||
utils.getInputChecked("#input-markdownextra-strikethrough") && newConfig.extensions.push("strikethrough");
|
utils.getInputChecked("#input-markdownextra-strikethrough") && newConfig.extensions.push("strikethrough");
|
||||||
utils.getInputChecked("#input-markdownextra-newlines") && newConfig.extensions.push("newlines");
|
utils.getInputChecked("#input-markdownextra-newlines") && newConfig.extensions.push("newlines");
|
||||||
|
newConfig.intraword = utils.getInputChecked("#input-markdownextra-intraword");
|
||||||
newConfig.highlighter = utils.getInputValue("#input-markdownextra-highlighter");
|
newConfig.highlighter = utils.getInputValue("#input-markdownextra-highlighter");
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -63,11 +66,22 @@ define([
|
|||||||
|
|
||||||
markdownExtra.onPagedownConfigure = function(editor) {
|
markdownExtra.onPagedownConfigure = function(editor) {
|
||||||
var converter = editor.getConverter();
|
var converter = editor.getConverter();
|
||||||
var options = {
|
if(markdownExtra.config.intraword === true) {
|
||||||
|
var converterOptions = {
|
||||||
|
_DoItalicsAndBold: function(text) {
|
||||||
|
text = text.replace(/([^\w*]|^)(\*\*|__)(?=\S)(.+?[*_]*)(?=\S)\2(?=[^\w*]|$)/g, "$1<strong>$3</strong>");
|
||||||
|
text = text.replace(/([^\w*]|^)(\*|_)(?=\S)(.+?)(?=\S)\2(?=[^\w*]|$)/g, "$1<em>$3</em>");
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
converter.setOptions(converterOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
var extraOptions = {
|
||||||
extensions: markdownExtra.config.extensions
|
extensions: markdownExtra.config.extensions
|
||||||
};
|
};
|
||||||
if(markdownExtra.config.highlighter == "highlight") {
|
if(markdownExtra.config.highlighter == "highlight") {
|
||||||
options.highlighter = "prettify";
|
extraOptions.highlighter = "prettify";
|
||||||
var previewContentsElt = document.getElementById('preview-contents');
|
var previewContentsElt = document.getElementById('preview-contents');
|
||||||
editor.hooks.chain("onPreviewRefresh", function() {
|
editor.hooks.chain("onPreviewRefresh", function() {
|
||||||
_.each(previewContentsElt.querySelectorAll('.prettyprint > code'), function(elt) {
|
_.each(previewContentsElt.querySelectorAll('.prettyprint > code'), function(elt) {
|
||||||
@ -76,10 +90,10 @@ define([
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if(markdownExtra.config.highlighter == "prettify") {
|
else if(markdownExtra.config.highlighter == "prettify") {
|
||||||
options.highlighter = "prettify";
|
extraOptions.highlighter = "prettify";
|
||||||
editor.hooks.chain("onPreviewRefresh", prettify.prettyPrint);
|
editor.hooks.chain("onPreviewRefresh", prettify.prettyPrint);
|
||||||
}
|
}
|
||||||
Markdown.Extra.init(converter, options);
|
Markdown.Extra.init(converter, extraOptions);
|
||||||
};
|
};
|
||||||
|
|
||||||
return markdownExtra;
|
return markdownExtra;
|
||||||
|
@ -53,6 +53,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-lg-4 control-label"
|
||||||
|
for="input-markdownextra-intraword">GFM intra-word stars/underscores</label>
|
||||||
|
<div class="col-lg-7">
|
||||||
|
<div class="checkbox">
|
||||||
|
<input type="checkbox" id="input-markdownextra-intraword">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-4 control-label"
|
<label class="col-lg-4 control-label"
|
||||||
for="input-markdownextra-strikethrough">GFM strikethrough</label>
|
for="input-markdownextra-strikethrough">GFM strikethrough</label>
|
||||||
|
Loading…
Reference in New Issue
Block a user