syntax-highlighting
Version:
Syntax Highlighting Colorschemes for many applications
333 lines (253 loc) • 10.5 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>CodeMirror: Theme Demo - DuoTone - Markdown Mode</title>
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,300' rel='stylesheet' type='text/css'>
<link rel=stylesheet href="../doc/docs-custom.css">
<link rel="stylesheet" href="../lib/codemirror.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-dark-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darksea-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkspace-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkearth-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkforest-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkcave-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkdesert-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkheath-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkmeadow-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkpark-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darkpool-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-darklake-cm.css">
<link rel="stylesheet" href="../../output/codemirror/duotone-light-light-cm.css">
<script src="../lib/codemirror.js"></script>
<script src="../mode/xml/xml.js"></script>
<script src="../mode/markdown/markdown.js"></script>
<script src="../addon/edit/continuelist.js"></script>
<script src="../addon/selection/active-line.js"></script>
<script src="../addon/edit/matchbrackets.js"></script>
<style type="text/css">
.CodeMirror {border: 1px solid transparent; font-size:13px}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="no-index, no-follow">
</head>
<body>
<div id=nav>
<a href="http://codemirror.net"><h1>CodeMirror</h1></a>
<ul>
<li><a href="https://codemirror.net/index.html">CodeMirror</a></li>
<li><a href="https://codemirror.net/doc/manual.html">Manual</a></li>
<li><a href="https://github.com/codemirror/codemirror">GitHub</a></li>
</ul>
<ul>
<li><a class="active" href="#">Theme</a></li>
<li><a href="http://simurai.com/projects/2016/01/01/duotone-themes">DuoTone themes</a></li>
</ul>
<h3>Modes</h3>
<ul>
<li><a href="theme-htmlmixed.html#duotone-dark-cm">HTML</a></li>
<li><a href="theme-css.html#duotone-dark-cm">CSS</a></li>
<li><a href="theme-js.html#duotone-dark-cm">JavaScript</a></li>
<li><a href="theme-haml.html#duotone-dark-cm">Haml</a></li>
<li><a class="active" href="#!">Markdown</a></li>
<li><a href="theme-slim.html#duotone-dark-cm">Slim</a></li>
<!-- <li><a href="theme-jade.html#duotone-dark-cm">Jade</a></li> -->
<li><a href="theme-scss.html#duotone-dark-cm">Scss</a></li>
<li><a href="theme-less.html#duotone-dark-cm">Less</a></li>
<li><a href="theme-sass.html#duotone-dark-cm">Sass</a></li>
<li><a href="theme-coffee.html#duotone-dark-cm">CoffeeScript</a></li>
</ul>
</div>
<article>
<h2>Theme Demo - DuoTone - Markdown Mode</h2>
<form><textarea id="code" name="code">
# Getting the Gist of Markdown's Formatting Syntax
Getting the Gist of Markdown's Formatting Syntax
------------------------------------------------
[s]: /projects/markdown/syntax "Markdown Syntax"
[d]: /projects/markdown/dingus "Markdown Dingus"
[src]: /projects/markdown/basics.text
## Paragraphs, Headers, Blockquotes ##
A paragraph is simply one or more consecutive lines of text, separated
by one or more blank lines. (A blank line is any line that looks like
a blank line -- a line containing nothing but spaces or tabs is
considered blank.) Normal paragraphs should not be indented with
spaces or tabs.
Markdown offers two styles of headers: *Setext* and *atx*.
Setext-style headers for `<h1>` and `<h2>` are created by
"underlining" with equal signs (`=`) and hyphens (`-`), respectively.
To create an atx-style header, you put 1-6 hash marks (`#`) at the
beginning of the line -- the number of hashes equals the resulting
HTML header level.
Blockquotes are indicated using email-style '`>`' angle brackets.
Horizontal Rules
You can produce a horizontal rule tag (<hr />) by placing three or more hyphens, asterisks, or underscores on a line by themselves. If you wish, you may use spaces between the hyphens or asterisks. Each of the following lines will produce a horizontal rule:
* * *
***
- - -
Markdown:
A First Level Header
====================
A Second Level Header
---------------------
Now is the time for all good men to come to
the aid of their country. This is just a
regular paragraph.
The quick brown fox jumped over the lazy
dog's back.
### Header 3
> This is a blockquote.
>
> This is the second paragraph in the blockquote.
>
> ## This is an H2 in a blockquote
### Phrase Emphasis ###
Markdown uses asterisks and underscores to indicate spans of emphasis.
Markdown:
Some of these words *are emphasized*.
Some of these words _are emphasized also_.
Use two asterisks for **strong emphasis**.
Or, if you prefer, __use two underscores instead__.
## Lists ##
Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,
`+`, and `-`) as list markers. These three markers are
interchangable; this:
* Candy.
* Gum.
* Booze.
this:
+ Candy.
+ Gum.
+ Booze.
and this:
- Candy.
- Gum.
- Booze.
all produce the same output:
<ul>
<li>Candy.</li>
<li>Gum.</li>
<li>Booze.</li>
</ul>
Ordered (numbered) lists use regular numbers, followed by periods, as
list markers:
1. Red
2. Green
3. Blue
If you put blank lines between items, you'll get `<p>` tags for the
list item text. You can create multi-paragraph list items by indenting
the paragraphs by 4 spaces or 1 tab:
* A list item.
With multiple paragraphs.
* Another item in the list.
### Links ###
Markdown supports two styles for creating links: *inline* and
*reference*. With both styles, you use square brackets to delimit the
text you want to turn into a link.
Inline-style links use parentheses immediately after the link text.
For example:
This is an [example link](http://example.com/).
Optionally, you may include a title attribute in the parentheses:
This is an [example link](http://example.com/ "With a Title").
Reference-style links allow you to refer to your links by names, which
you define elsewhere in your document:
I get 10 times more traffic from [Google][1] than from
[Yahoo][2] or [MSN][3].
[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search"
The title attribute is optional. Link names may contain letters,
numbers and spaces, but are *not* case sensitive:
I start my morning with a cup of coffee and
[The New York Times][NY Times].
[ny times]: http://www.nytimes.com/
### Images ###
Image syntax is very much like link syntax.
Inline (titles are optional):

Reference-style:
![alt text][id]
[id]: /path/to/img.jpg "Title"
Both of the above examples produce the same output:
<img src="/path/to/img.jpg" alt="alt text" title="Title" />
### Code ###
In a regular paragraph, you can create code span by wrapping text in
backtick quotes. Any ampersands (`&`) and angle brackets (`<` or
`>`) will automatically be translated into HTML entities. This makes
it easy to use Markdown to write about HTML example code:
I strongly recommend against using any `<blink>` tags.
I wish SmartyPants used named entities like `&mdash;`
instead of decimal-encoded entites like `&#8212;`.
To specify an entire block of pre-formatted code, indent every line of
the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`,
and `>` characters will be escaped automatically.
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../ruby/ruby"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../ruby/ruby"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
```
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../ruby/ruby"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../ruby/ruby"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
```
</textarea></form>
<p>Select a theme:</p>
<div class="button dropdown">
<select onchange="selectTheme()" id="select">
<option selected>default</option>
<option>duotone-dark-cm</option>
<option>duotone-darksea-cm</option>
<option>duotone-darkspace-cm</option>
<option>duotone-darkearth-cm</option>
<option>duotone-darkforest-cm</option>
<option>duotone-darkcave-cm</option>
<option>duotone-darkdesert-cm</option>
<option>duotone-darkheath-cm</option>
<option>duotone-darkmeadow-cm</option>
<option>duotone-darkpark-cm</option>
<option>duotone-darkpool-cm</option>
<option>duotone-darklake-cm</option>
<option>duotone-light-light-cm</option>
</select>
</div>
</p>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
mode: 'markdown',
lineNumbers: true,
styleActiveLine: true,
matchBrackets: true,
extraKeys: {"Enter": "newlineAndIndentContinueMarkdownList"}
});
var input = document.getElementById("select");
function selectTheme() {
var theme = input.options[input.selectedIndex].textContent;
editor.setOption("theme", theme);
location.hash = "#" + theme;
}
var choice = (location.hash && location.hash.slice(1)) ||
(document.location.search &&
decodeURIComponent(document.location.search.slice(1)));
if (choice) {
input.value = choice;
editor.setOption("theme", choice);
}
CodeMirror.on(window, "hashchange", function() {
var theme = location.hash.slice(1);
if (theme) { input.value = theme; selectTheme(); }
});
</script>
</article>
</body>
</html>