summaryrefslogtreecommitdiff
path: root/public/vendor/codemirror/mode/yaml-frontmatter
diff options
context:
space:
mode:
authorWu Cheng-Han2016-01-17 14:28:04 -0600
committerWu Cheng-Han2016-01-17 14:28:04 -0600
commiteaa8ccaccb1091820d0a8d1223996a6dd057347d (patch)
tree6b4aaa3b3d1a2fed68147510142663222533775a /public/vendor/codemirror/mode/yaml-frontmatter
parentce65e58096d57ace02723d11a125673f9d48c293 (diff)
Upgrade CodeMirror to 5.10.1 and now support fullscreen, jump-to-line in editor
Diffstat (limited to 'public/vendor/codemirror/mode/yaml-frontmatter')
-rw-r--r--public/vendor/codemirror/mode/yaml-frontmatter/index.html121
-rw-r--r--public/vendor/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js68
2 files changed, 189 insertions, 0 deletions
diff --git a/public/vendor/codemirror/mode/yaml-frontmatter/index.html b/public/vendor/codemirror/mode/yaml-frontmatter/index.html
new file mode 100644
index 00000000..30bed2f8
--- /dev/null
+++ b/public/vendor/codemirror/mode/yaml-frontmatter/index.html
@@ -0,0 +1,121 @@
+<!doctype html>
+
+<title>CodeMirror: YAML front matter mode</title>
+<meta charset="utf-8"/>
+<link rel=stylesheet href="../../doc/docs.css">
+
+<link rel="stylesheet" href="../../lib/codemirror.css">
+<script src="../../lib/codemirror.js"></script>
+<script src="../../addon/mode/overlay.js"></script>
+<script src="../markdown/markdown.js"></script>
+<script src="../gfm/gfm.js"></script>
+<script src="../yaml/yaml.js"></script>
+<script src="yaml-frontmatter.js"></script>
+<style>.CodeMirror { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }</style>
+<div id=nav>
+ <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
+
+ <ul>
+ <li><a href="../../index.html">Home</a>
+ <li><a href="../../doc/manual.html">Manual</a>
+ <li><a href="https://github.com/codemirror/codemirror">Code</a>
+ </ul>
+ <ul>
+ <li><a href="../index.html">Language modes</a>
+ <li><a class=active href="#">YAML-Frontmatter</a>
+ </ul>
+</div>
+
+<article>
+<h2>YAML front matter mode</h2>
+<form><textarea id="code" name="code">
+---
+receipt: Oz-Ware Purchase Invoice
+date: 2007-08-06
+customer:
+ given: Dorothy
+ family: Gale
+
+items:
+ - part_no: A4786
+ descrip: Water Bucket (Filled)
+ price: 1.47
+ quantity: 4
+
+ - part_no: E1628
+ descrip: High Heeled "Ruby" Slippers
+ size: 8
+ price: 100.27
+ quantity: 1
+
+bill-to: &id001
+ street: |
+ 123 Tornado Alley
+ Suite 16
+ city: East Centerville
+ state: KS
+
+ship-to: *id001
+
+specialDelivery: >
+ Follow the Yellow Brick
+ Road to the Emerald City.
+ Pay no attention to the
+ man behind the curtain.
+---
+
+GitHub Flavored Markdown
+========================
+
+Everything from markdown plus GFM features:
+
+## URL autolinking
+
+Underscores_are_allowed_between_words.
+
+## Strikethrough text
+
+GFM adds syntax to strikethrough text, which is missing from standard Markdown.
+
+~~Mistaken text.~~
+~~**works with other fomatting**~~
+
+~~spans across
+lines~~
+
+## Fenced code blocks (and syntax highlighting)
+
+```javascript
+for (var i = 0; i &lt; items.length; i++) {
+ console.log(items[i], i); // log them
+}
+```
+
+## Task Lists
+
+- [ ] Incomplete task list item
+- [x] **Completed** task list item
+
+## A bit of GitHub spice
+
+* SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
+* User@SHA ref: mojombo@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
+* User/Project@SHA: mojombo/god@be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
+* \#Num: #1
+* User/#Num: mojombo#1
+* User/Project#Num: mojombo/god#1
+
+See http://github.github.com/github-flavored-markdown/.
+</textarea></form>
+
+<p>Defines a mode that parses
+a <a href="http://jekyllrb.com/docs/frontmatter/">YAML frontmatter</a>
+at the start of a file, switching to a base mode at the end of that.
+Takes a mode configuration option <code>base</code> to configure the
+base mode, which defaults to <code>"gfm"</code>.</p>
+
+ <script>
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {mode: "yaml-frontmatter"});
+ </script>
+
+ </article>
diff --git a/public/vendor/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js b/public/vendor/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js
new file mode 100644
index 00000000..9f081b00
--- /dev/null
+++ b/public/vendor/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js
@@ -0,0 +1,68 @@
+// CodeMirror, copyright (c) by Marijn Haverbeke and others
+// Distributed under an MIT license: http://codemirror.net/LICENSE
+
+(function (mod) {
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
+ mod(require("../../lib/codemirror"), require("../yaml/yaml"))
+ else if (typeof define == "function" && define.amd) // AMD
+ define(["../../lib/codemirror", "../yaml/yaml"], mod)
+ else // Plain browser env
+ mod(CodeMirror)
+})(function (CodeMirror) {
+
+ var START = 0, FRONTMATTER = 1, BODY = 2
+
+ // a mixed mode for Markdown text with an optional YAML front matter
+ CodeMirror.defineMode("yaml-frontmatter", function (config, parserConfig) {
+ var yamlMode = CodeMirror.getMode(config, "yaml")
+ var innerMode = CodeMirror.getMode(config, parserConfig && parserConfig.base || "gfm")
+
+ function curMode(state) {
+ return state.state == BODY ? innerMode : yamlMode
+ }
+
+ return {
+ startState: function () {
+ return {
+ state: START,
+ inner: CodeMirror.startState(yamlMode)
+ }
+ },
+ copyState: function (state) {
+ return {
+ state: state.state,
+ inner: CodeMirror.copyState(curMode(state), state.inner)
+ }
+ },
+ token: function (stream, state) {
+ if (state.state == START) {
+ if (stream.match(/---/, false)) {
+ state.state = FRONTMATTER
+ return yamlMode.token(stream, state.inner)
+ } else {
+ state.state = BODY
+ state.inner = CodeMirror.startState(innerMode)
+ return innerMode.token(stream, state.inner)
+ }
+ } else if (state.state == FRONTMATTER) {
+ var end = stream.sol() && stream.match(/---/, false)
+ var style = yamlMode.token(stream, state.inner)
+ if (end) {
+ state.state = BODY
+ state.inner = CodeMirror.startState(innerMode)
+ }
+ return style
+ } else {
+ return innerMode.token(stream, state.inner)
+ }
+ },
+ innerMode: function (state) {
+ return {mode: curMode(state), state: state.inner}
+ },
+ blankLine: function (state) {
+ var mode = curMode(state)
+ if (mode.blankLine) return mode.blankLine(state.inner)
+ }
+ }
+ })
+})