mirror of
https://github.com/documize/community.git
synced 2025-08-05 05:25:27 +02:00
CodeMirror dependency upgraded to v5.32.0
For handling Markdown and Code section types
This commit is contained in:
parent
3337db6b27
commit
0336f84a83
351 changed files with 3408 additions and 1945 deletions
7
gui/public/codemirror/mode/gfm/gfm.js
vendored
Executable file → Normal file
7
gui/public/codemirror/mode/gfm/gfm.js
vendored
Executable file → Normal file
|
@ -81,7 +81,7 @@ CodeMirror.defineMode("gfm", function(config, modeConfig) {
|
|||
if (stream.sol() || state.ateSpace) {
|
||||
state.ateSpace = false;
|
||||
if (modeConfig.gitHubSpice !== false) {
|
||||
if(stream.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?:[a-f0-9]{7,40}\b)/)) {
|
||||
if(stream.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?=.{0,6}\d)(?:[a-f0-9]{7,40}\b)/)) {
|
||||
// User/Project@SHA
|
||||
// User@SHA
|
||||
// SHA
|
||||
|
@ -113,10 +113,9 @@ CodeMirror.defineMode("gfm", function(config, modeConfig) {
|
|||
};
|
||||
|
||||
var markdownConfig = {
|
||||
underscoresBreakWords: false,
|
||||
taskLists: true,
|
||||
fencedCodeBlocks: '```',
|
||||
strikethrough: true
|
||||
strikethrough: true,
|
||||
emoji: true
|
||||
};
|
||||
for (var attr in modeConfig) {
|
||||
markdownConfig[attr] = modeConfig[attr];
|
||||
|
|
49
gui/public/codemirror/mode/gfm/index.html
vendored
Executable file → Normal file
49
gui/public/codemirror/mode/gfm/index.html
vendored
Executable file → Normal file
|
@ -15,7 +15,10 @@
|
|||
<script src="../htmlmixed/htmlmixed.js"></script>
|
||||
<script src="../clike/clike.js"></script>
|
||||
<script src="../meta.js"></script>
|
||||
<style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
|
||||
<style type="text/css">
|
||||
.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
|
||||
.cm-s-default .cm-emoji {color: #009688;}
|
||||
</style>
|
||||
<div id=nav>
|
||||
<a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
|
||||
|
||||
|
@ -67,6 +70,10 @@ for (var i = 0; i < items.length; i++) {
|
|||
|
||||
## A bit of GitHub spice
|
||||
|
||||
See http://github.github.com/github-flavored-markdown/.
|
||||
|
||||
(Set `gitHubSpice: false` in mode options to disable):
|
||||
|
||||
* SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
|
||||
* User@SHA ref: mojombo@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
|
||||
* User/Project@SHA: mojombo/god@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
|
||||
|
@ -74,13 +81,21 @@ for (var i = 0; i < items.length; i++) {
|
|||
* User/#Num: mojombo#1
|
||||
* User/Project#Num: mojombo/god#1
|
||||
|
||||
See http://github.github.com/github-flavored-markdown/.
|
||||
(Set `emoji: false` in mode options to disable):
|
||||
|
||||
* emoji: :smile:
|
||||
|
||||
|
||||
</textarea></form>
|
||||
|
||||
<script>
|
||||
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
|
||||
mode: 'gfm',
|
||||
mode: {
|
||||
name: "gfm",
|
||||
tokenTypeOverrides: {
|
||||
emoji: "emoji"
|
||||
}
|
||||
},
|
||||
lineNumbers: true,
|
||||
theme: "default"
|
||||
});
|
||||
|
@ -88,6 +103,34 @@ See http://github.github.com/github-flavored-markdown/.
|
|||
|
||||
<p>Optionally depends on other modes for properly highlighted code blocks.</p>
|
||||
|
||||
<p>Gfm mode supports these options (apart those from base Markdown mode):</p>
|
||||
<ul>
|
||||
<li>
|
||||
<d1>
|
||||
<dt><code>gitHubSpice: boolean</code></dt>
|
||||
<dd>Hashes, issues... (default: <code>true</code>).</dd>
|
||||
</d1>
|
||||
</li>
|
||||
<li>
|
||||
<d1>
|
||||
<dt><code>taskLists: boolean</code></dt>
|
||||
<dd><code>- [ ]</code> syntax (default: <code>true</code>).</dd>
|
||||
</d1>
|
||||
</li>
|
||||
<li>
|
||||
<d1>
|
||||
<dt><code>strikethrough: boolean</code></dt>
|
||||
<dd><code>~~foo~~</code> syntax (default: <code>true</code>).</dd>
|
||||
</d1>
|
||||
</li>
|
||||
<li>
|
||||
<d1>
|
||||
<dt><code>emoji: boolean</code></dt>
|
||||
<dd><code>:emoji:</code> syntax (default: <code>true</code>).</dd>
|
||||
</d1>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p><strong>Parsing/Highlighting Tests:</strong> <a href="../../test/index.html#gfm_*">normal</a>, <a href="../../test/index.html#verbose,gfm_*">verbose</a>.</p>
|
||||
|
||||
</article>
|
||||
|
|
92
gui/public/codemirror/mode/gfm/test.js
vendored
Executable file → Normal file
92
gui/public/codemirror/mode/gfm/test.js
vendored
Executable file → Normal file
|
@ -2,9 +2,10 @@
|
|||
// Distributed under an MIT license: http://codemirror.net/LICENSE
|
||||
|
||||
(function() {
|
||||
var mode = CodeMirror.getMode({tabSize: 4}, "gfm");
|
||||
var config = {tabSize: 4, indentUnit: 2}
|
||||
var mode = CodeMirror.getMode(config, "gfm");
|
||||
function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
|
||||
var modeHighlightFormatting = CodeMirror.getMode({tabSize: 4}, {name: "gfm", highlightFormatting: true});
|
||||
var modeHighlightFormatting = CodeMirror.getMode(config, {name: "gfm", highlightFormatting: true});
|
||||
function FT(name) { test.mode(name, modeHighlightFormatting, Array.prototype.slice.call(arguments, 1)); }
|
||||
|
||||
FT("codeBackticks",
|
||||
|
@ -13,11 +14,6 @@
|
|||
FT("doubleBackticks",
|
||||
"[comment&formatting&formatting-code ``][comment foo ` bar][comment&formatting&formatting-code ``]");
|
||||
|
||||
FT("codeBlock",
|
||||
"[comment&formatting&formatting-code-block ```css]",
|
||||
"[tag foo]",
|
||||
"[comment&formatting&formatting-code-block ```]");
|
||||
|
||||
FT("taskList",
|
||||
"[variable-2&formatting&formatting-list&formatting-list-ul - ][meta&formatting&formatting-task [ ]]][variable-2 foo]",
|
||||
"[variable-2&formatting&formatting-list&formatting-list-ul - ][property&formatting&formatting-task [x]]][variable-2 foo]");
|
||||
|
@ -28,6 +24,9 @@
|
|||
FT("formatting_strikethrough",
|
||||
"foo [strikethrough&formatting&formatting-strikethrough ~~][strikethrough bar][strikethrough&formatting&formatting-strikethrough ~~]");
|
||||
|
||||
FT("formatting_emoji",
|
||||
"foo [builtin&formatting&formatting-emoji :smile:] foo");
|
||||
|
||||
MT("emInWordAsterisk",
|
||||
"foo[em *bar*]hello");
|
||||
|
||||
|
@ -35,59 +34,31 @@
|
|||
"foo_bar_hello");
|
||||
|
||||
MT("emStrongUnderscore",
|
||||
"[strong __][em&strong _foo__][em _] bar");
|
||||
|
||||
MT("fencedCodeBlocks",
|
||||
"[comment ```]",
|
||||
"[comment foo]",
|
||||
"",
|
||||
"[comment ```]",
|
||||
"bar");
|
||||
|
||||
MT("fencedCodeBlockModeSwitching",
|
||||
"[comment ```javascript]",
|
||||
"[variable foo]",
|
||||
"",
|
||||
"[comment ```]",
|
||||
"bar");
|
||||
|
||||
MT("fencedCodeBlockModeSwitchingObjc",
|
||||
"[comment ```objective-c]",
|
||||
"[keyword @property] [variable NSString] [operator *] [variable foo];",
|
||||
"[comment ```]",
|
||||
"bar");
|
||||
|
||||
MT("fencedCodeBlocksNoTildes",
|
||||
"~~~",
|
||||
"foo",
|
||||
"~~~");
|
||||
"[em&strong ___foo___] bar");
|
||||
|
||||
MT("taskListAsterisk",
|
||||
"[variable-2 * []] foo]", // Invalid; must have space or x between []
|
||||
"[variable-2 * [ ]]bar]", // Invalid; must have space after ]
|
||||
"[variable-2 * [x]]hello]", // Invalid; must have space after ]
|
||||
"[variable-2 * ][meta [ ]]][variable-2 [world]]]", // Valid; tests reference style links
|
||||
"[variable-2 * ][link&variable-2 [[]]][variable-2 foo]", // Invalid; must have space or x between []
|
||||
"[variable-2 * ][link&variable-2 [[ ]]][variable-2 bar]", // Invalid; must have space after ]
|
||||
"[variable-2 * ][link&variable-2 [[x]]][variable-2 hello]", // Invalid; must have space after ]
|
||||
"[variable-2 * ][meta [ ]]][variable-2 ][link&variable-2 [[world]]]", // Valid; tests reference style links
|
||||
" [variable-3 * ][property [x]]][variable-3 foo]"); // Valid; can be nested
|
||||
|
||||
MT("taskListPlus",
|
||||
"[variable-2 + []] foo]", // Invalid; must have space or x between []
|
||||
"[variable-2 + [ ]]bar]", // Invalid; must have space after ]
|
||||
"[variable-2 + [x]]hello]", // Invalid; must have space after ]
|
||||
"[variable-2 + ][meta [ ]]][variable-2 [world]]]", // Valid; tests reference style links
|
||||
"[variable-2 + ][link&variable-2 [[]]][variable-2 foo]", // Invalid; must have space or x between []
|
||||
"[variable-2 + ][link&variable-2 [[x]]][variable-2 hello]", // Invalid; must have space after ]
|
||||
"[variable-2 + ][meta [ ]]][variable-2 ][link&variable-2 [[world]]]", // Valid; tests reference style links
|
||||
" [variable-3 + ][property [x]]][variable-3 foo]"); // Valid; can be nested
|
||||
|
||||
MT("taskListDash",
|
||||
"[variable-2 - []] foo]", // Invalid; must have space or x between []
|
||||
"[variable-2 - [ ]]bar]", // Invalid; must have space after ]
|
||||
"[variable-2 - [x]]hello]", // Invalid; must have space after ]
|
||||
"[variable-2 - ][meta [ ]]][variable-2 [world]]]", // Valid; tests reference style links
|
||||
"[variable-2 - ][link&variable-2 [[]]][variable-2 foo]", // Invalid; must have space or x between []
|
||||
"[variable-2 - ][link&variable-2 [[x]]][variable-2 hello]", // Invalid; must have space after ]
|
||||
"[variable-2 - ][meta [ ]]][variable-2 world]", // Valid; tests reference style links
|
||||
" [variable-3 - ][property [x]]][variable-3 foo]"); // Valid; can be nested
|
||||
|
||||
MT("taskListNumber",
|
||||
"[variable-2 1. []] foo]", // Invalid; must have space or x between []
|
||||
"[variable-2 2. [ ]]bar]", // Invalid; must have space after ]
|
||||
"[variable-2 3. [x]]hello]", // Invalid; must have space after ]
|
||||
"[variable-2 4. ][meta [ ]]][variable-2 [world]]]", // Valid; tests reference style links
|
||||
"[variable-2 1. ][link&variable-2 [[]]][variable-2 foo]", // Invalid; must have space or x between []
|
||||
"[variable-2 2. ][link&variable-2 [[ ]]][variable-2 bar]", // Invalid; must have space after ]
|
||||
"[variable-2 3. ][meta [ ]]][variable-2 world]", // Valid; tests reference style links
|
||||
" [variable-3 1. ][property [x]]][variable-3 foo]"); // Valid; can be nested
|
||||
|
||||
MT("SHA",
|
||||
|
@ -120,6 +91,9 @@
|
|||
MT("userProjectSHAEmphasis",
|
||||
"[em *foo ][em&link bar/hello@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2][em *]");
|
||||
|
||||
MT("wordSHA",
|
||||
"ask for feedbac")
|
||||
|
||||
MT("num",
|
||||
"foo [link #1] bar");
|
||||
|
||||
|
@ -165,11 +139,6 @@
|
|||
MT("notALink",
|
||||
"foo asfd:asdf bar");
|
||||
|
||||
MT("notALink",
|
||||
"[comment ```css]",
|
||||
"[tag foo] {[property color]:[keyword black];}",
|
||||
"[comment ```][link http://www.example.com/]");
|
||||
|
||||
MT("notALink",
|
||||
"[comment ``foo `bar` http://www.example.com/``] hello");
|
||||
|
||||
|
@ -180,17 +149,6 @@
|
|||
"",
|
||||
"[link http://www.example.com/]");
|
||||
|
||||
MT("headerCodeBlockGithub",
|
||||
"[header&header-1 # heading]",
|
||||
"",
|
||||
"[comment ```]",
|
||||
"[comment code]",
|
||||
"[comment ```]",
|
||||
"",
|
||||
"Commit: [link be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2]",
|
||||
"Issue: [link #1]",
|
||||
"Link: [link http://www.example.com/]");
|
||||
|
||||
MT("strikethrough",
|
||||
"[strikethrough ~~foo~~]");
|
||||
|
||||
|
@ -233,4 +191,8 @@
|
|||
MT("strikethroughStrong",
|
||||
"[strong **][strong&strikethrough ~~foo~~][strong **]");
|
||||
|
||||
MT("emoji",
|
||||
"text [builtin :blush:] text [builtin :v:] text [builtin :+1:] text",
|
||||
":text text: [builtin :smiley_cat:]");
|
||||
|
||||
})();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue