Vitaly Puzrin
10 years ago
12 changed files with 32 additions and 575 deletions
@ -1,5 +1,5 @@ |
|||||
coverage/ |
coverage/ |
||||
demo/sample.js |
demo/ |
||||
demo-web/ |
|
||||
dist/ |
dist/ |
||||
node_modules |
node_modules |
||||
|
support/demo_template/sample.js |
||||
|
@ -1,3 +1,4 @@ |
|||||
node_modules/ |
node_modules/ |
||||
coverage/ |
coverage/ |
||||
|
demo/ |
||||
*.log |
*.log |
||||
|
@ -1,145 +0,0 @@ |
|||||
html, |
|
||||
body, |
|
||||
.full-height { |
|
||||
height: 100%; |
|
||||
} |
|
||||
body { |
|
||||
overflow-x: hidden; |
|
||||
padding-bottom: 180px; |
|
||||
background-color: #fbfbfb; |
|
||||
} |
|
||||
.demo-options { |
|
||||
margin-bottom: 10px; |
|
||||
} |
|
||||
.opt__strict .not-strict { |
|
||||
opacity: 0.3; |
|
||||
} |
|
||||
.checkbox { |
|
||||
margin-right: 10px; |
|
||||
} |
|
||||
.source { |
|
||||
width: 100%; |
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace; |
|
||||
font-size: 13px; |
|
||||
padding: 2px; |
|
||||
} |
|
||||
.result-html { |
|
||||
padding: 2px 10px; |
|
||||
overflow: auto; |
|
||||
background-color: #fff; |
|
||||
border: 1px solid #ccc; |
|
||||
border-radius: 4px; |
|
||||
} |
|
||||
.result-html img { |
|
||||
max-width: 35%; |
|
||||
} |
|
||||
.result-src, |
|
||||
.result-debug { |
|
||||
display: none; |
|
||||
background-color: #fff; |
|
||||
} |
|
||||
.result-src-content, |
|
||||
.result-debug-content { |
|
||||
white-space: pre; |
|
||||
} |
|
||||
.result-as-html .result-html { |
|
||||
display: block; |
|
||||
} |
|
||||
.result-as-html .result-src, |
|
||||
.result-as-html .result-debug { |
|
||||
display: none; |
|
||||
} |
|
||||
.result-as-src .result-src { |
|
||||
display: block; |
|
||||
} |
|
||||
.result-as-src .result-html, |
|
||||
.result-as-src .result-debug { |
|
||||
display: none; |
|
||||
} |
|
||||
.result-as-debug .result-debug { |
|
||||
display: block; |
|
||||
} |
|
||||
.result-as-debug .result-html, |
|
||||
.result-as-debug .result-src { |
|
||||
display: none; |
|
||||
} |
|
||||
.demo-control { |
|
||||
position: absolute; |
|
||||
right: 40px; |
|
||||
top: 0; |
|
||||
border-radius: 0 0 6px 6px; |
|
||||
font-size: 12px; |
|
||||
background-color: #666; |
|
||||
color: #fff !important; |
|
||||
opacity: 0.6; |
|
||||
-webkit-transition: opacity 0.5s ease-in-out; |
|
||||
transition: opacity 0.5s ease-in-out; |
|
||||
} |
|
||||
.demo-control:hover { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
.demo-control a { |
|
||||
padding: 0 20px; |
|
||||
color: #fff !important; |
|
||||
} |
|
||||
.demo-control a:first-child { |
|
||||
padding-left: 30px; |
|
||||
} |
|
||||
.demo-control a:last-child { |
|
||||
padding-right: 30px; |
|
||||
} |
|
||||
.hljs { |
|
||||
background: none; |
|
||||
padding: 0; |
|
||||
} |
|
||||
.footnotes { |
|
||||
-moz-column-count: 2; |
|
||||
-webkit-column-count: 2; |
|
||||
column-count: 2; |
|
||||
} |
|
||||
.footnotes-list { |
|
||||
padding-left: 2em; |
|
||||
} |
|
||||
.gh-ribbon { |
|
||||
display: block; |
|
||||
position: absolute; |
|
||||
right: -60px; |
|
||||
top: 44px; |
|
||||
-webkit-transform: rotate(45deg); |
|
||||
-ms-transform: rotate(45deg); |
|
||||
transform: rotate(45deg); |
|
||||
width: 230px; |
|
||||
z-index: 10000; |
|
||||
white-space: nowrap; |
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; |
|
||||
background-color: #686868; |
|
||||
box-shadow: 0 0 2px rgba(102,102,102,0.4); |
|
||||
padding: 1px 0; |
|
||||
} |
|
||||
.gh-ribbon a { |
|
||||
text-decoration: none !important; |
|
||||
border: 1px solid #ccc; |
|
||||
color: #fff; |
|
||||
display: block; |
|
||||
font-size: 13px; |
|
||||
font-weight: 700; |
|
||||
outline: medium none; |
|
||||
padding: 4px 50px 2px; |
|
||||
text-align: center; |
|
||||
} |
|
||||
.form-inline .radio, |
|
||||
.form-inline .checkbox { |
|
||||
display: inline-block; |
|
||||
margin-bottom: 0; |
|
||||
margin-top: 0; |
|
||||
} |
|
||||
.form-inline .form-group { |
|
||||
display: inline-block; |
|
||||
margin-bottom: 0; |
|
||||
vertical-align: middle; |
|
||||
} |
|
||||
.form-inline .form-control { |
|
||||
display: inline-block; |
|
||||
vertical-align: middle; |
|
||||
width: auto; |
|
||||
} |
|
@ -1,356 +0,0 @@ |
|||||
<!DOCTYPE html> |
|
||||
<html> |
|
||||
<head> |
|
||||
<title>markdown-it demo</title> |
|
||||
<meta charset="UTF-8"> |
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"> |
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.0.5/es5-shim.min.js"></script> |
|
||||
<script src="https://cdn.jsdelivr.net/jquery/1.11.1/jquery.min.js"></script> |
|
||||
<script src="https://cdn.jsdelivr.net/lodash/2.4.1/lodash.js"></script> |
|
||||
<script src="https://cdn.jsdelivr.net/bootstrap/3.2.0/js/bootstrap.min.js"></script> |
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/bootstrap/3.2.0/css/bootstrap.css"> |
|
||||
<script src="https://cdn.jsdelivr.net/highlight.js/8.4.0/highlight.min.js"></script> |
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/highlight.js/8.4.0/styles/solarized_light.min.css"> |
|
||||
<script src="../dist/markdown-it.js"></script> |
|
||||
<link rel="stylesheet" href="./assets/index.css"> |
|
||||
<script src="./assets/index.js"></script> |
|
||||
<!-- Ancient IE support - load shiv & kill broken highlighter--><!--[if lt IE 9]> |
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> |
|
||||
<script>window.hljs = null;</script> |
|
||||
<![endif]--> |
|
||||
<!-- GA counter--> |
|
||||
<script> |
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); |
|
||||
|
|
||||
ga('create', 'UA-26895916-3', 'auto'); |
|
||||
ga('require', 'displayfeatures'); |
|
||||
ga('require', 'linkid', 'linkid.js'); |
|
||||
ga('send', 'pageview'); |
|
||||
|
|
||||
</script> |
|
||||
</head> |
|
||||
<body> |
|
||||
<div class="container"> |
|
||||
<h1> |
|
||||
markdown-it |
|
||||
<small>demo</small> |
|
||||
</h1> |
|
||||
<p><a data-toggle="collapse" href="#code-sample">code sample</a></p> |
|
||||
<pre id="code-sample" class="collapse code-sample"><code class="js">var hljs = require('highlight.js') // https://highlightjs.org/ |
|
||||
|
|
||||
var md = require('markdown-it')('full', { |
|
||||
html: false, // Enable HTML tags in source |
|
||||
xhtmlOut: false, // Use '/' to close single tags (<br />) |
|
||||
breaks: false, // Convert '\n' in paragraphs into <br> |
|
||||
langPrefix: 'language-', // CSS language prefix for fenced blocks |
|
||||
linkify: true, // autoconvert URL-like texts to links |
|
||||
|
|
||||
// Enable some language-neutral replacements + quotes beautification |
|
||||
typographer: false, |
|
||||
|
|
||||
// Double + single quotes replacement pairs, when typographer enabled, |
|
||||
// and smartquotes on. Set doubles to '«»' for Russian, '„“' for German. |
|
||||
quotes: '“”‘’', |
|
||||
|
|
||||
// Highlighter function. Should return escaped HTML, |
|
||||
// or '' if input not changed |
|
||||
highlight: function (str, lang) { |
|
||||
if (lang && hljs.getLanguage(lang)) { |
|
||||
try { |
|
||||
return hljs.highlight(lang, str).value; |
|
||||
} catch (__) {} |
|
||||
} |
|
||||
|
|
||||
try { |
|
||||
return hljs.highlightAuto(str).value; |
|
||||
} catch (__) {} |
|
||||
|
|
||||
return ''; // use external default escaping |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
console.log(md.render('# markdown-it rulezz!')); |
|
||||
// => <h1>markdown-it rulezz!</h1> |
|
||||
</code></pre> |
|
||||
<div class="form-inline demo-options"> |
|
||||
<div class="checkbox not-strict"> |
|
||||
<label title="enable html tags in source text" class="_tip"> |
|
||||
<input id="html" type="checkbox"> html |
|
||||
</label> |
|
||||
</div> |
|
||||
<div class="checkbox not-strict"> |
|
||||
<label title="produce xtml output (add / to single tags (<br /> instead of <br>)" class="_tip"> |
|
||||
<input id="xhtmlOut" type="checkbox"> xhtmlOut |
|
||||
</label> |
|
||||
</div> |
|
||||
<div class="checkbox not-strict"> |
|
||||
<label title="newlines in paragraphs are rendered as <br>" class="_tip"> |
|
||||
<input id="breaks" type="checkbox"> breaks |
|
||||
</label> |
|
||||
</div> |
|
||||
<div class="checkbox not-strict"> |
|
||||
<label title="autoconvert link-like texts to links" class="_tip"> |
|
||||
<input id="linkify" type="checkbox"> linkify |
|
||||
</label> |
|
||||
</div> |
|
||||
<div class="checkbox not-strict"> |
|
||||
<label title="do typographyc replacements, (c) -> © and so on" class="_tip"> |
|
||||
<input id="typographer" type="checkbox"> typographer |
|
||||
</label> |
|
||||
</div> |
|
||||
<div class="checkbox not-strict"> |
|
||||
<label title="enable output highlight for fenced blocks" class="_tip"> |
|
||||
<input id="_highlight" type="checkbox"> highlight |
|
||||
</label> |
|
||||
</div> |
|
||||
<div class="form-group not-strict"> |
|
||||
<input id="langPrefix" type="input" placeholder="language prefix" title="css class language prefix for fenced code blocks" class="form-control _tip"> |
|
||||
</div> |
|
||||
<div class="checkbox"> |
|
||||
<label title="force strict CommonMark mode - output will be equal to reference parser" class="_tip"> |
|
||||
<input id="_strict" type="checkbox"> CommonMark strict |
|
||||
</label> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="container full-height"> |
|
||||
<div class="row full-height"> |
|
||||
<div class="col-xs-6 full-height"> |
|
||||
<div class="demo-control"><a href="#" class="source-clear">clear</a><a id="permalink" href="./" title="Share this snippet as link"><strong>permalink</strong></a></div> |
|
||||
<textarea class="source full-height">--- |
|
||||
__Advertisement :)__ |
|
||||
|
|
||||
- __[pica](https://nodeca.github.io/pica/demo/)__ - high quality and fast image |
|
||||
resize in browser. |
|
||||
- __[babelfish](https://github.com/nodeca/babelfish/)__ - developer friendly |
|
||||
i18n with plurals support and easy syntax. |
|
||||
|
|
||||
You will like those projects! |
|
||||
|
|
||||
--- |
|
||||
|
|
||||
# h1 Heading |
|
||||
## h2 Heading |
|
||||
### h3 Heading |
|
||||
#### h4 Heading |
|
||||
##### h5 Heading |
|
||||
###### h6 Heading |
|
||||
|
|
||||
|
|
||||
## Horizontal Rules |
|
||||
|
|
||||
___ |
|
||||
|
|
||||
--- |
|
||||
|
|
||||
*** |
|
||||
|
|
||||
|
|
||||
## Typographic replacements |
|
||||
|
|
||||
Enable typographer option to see result. |
|
||||
|
|
||||
(c) (C) (r) (R) (tm) (TM) (p) (P) +- |
|
||||
|
|
||||
test.. test... test..... test?..... test!.... |
|
||||
|
|
||||
!!!!!! ???? ,, |
|
||||
|
|
||||
markdown-it -- awesome |
|
||||
|
|
||||
"Smartypants, double quotes" |
|
||||
|
|
||||
'Smartypants, single quotes' |
|
||||
|
|
||||
|
|
||||
## Emphasis |
|
||||
|
|
||||
**This is bold text** |
|
||||
|
|
||||
__This is bold text__ |
|
||||
|
|
||||
*This is italic text* |
|
||||
|
|
||||
_This is italic text_ |
|
||||
|
|
||||
~~Deleted text~~ |
|
||||
|
|
||||
Superscript: 19^th^ |
|
||||
|
|
||||
Subscript: H~2~O |
|
||||
|
|
||||
++Inserted text++ |
|
||||
|
|
||||
==Marked text== |
|
||||
|
|
||||
|
|
||||
## Blockquotes |
|
||||
|
|
||||
|
|
||||
> Blockquotes can also be nested... |
|
||||
>> ...by using additional greater-than signs right next to each other... |
|
||||
> > > ...or with spaces between arrows. |
|
||||
|
|
||||
|
|
||||
## Lists |
|
||||
|
|
||||
Unordered |
|
||||
|
|
||||
+ Create a list by starting a line with `+`, `-`, or `*` |
|
||||
+ Sub-lists are made by indenting 2 spaces: |
|
||||
- Marker character change forces new list start: |
|
||||
* Ac tristique libero volutpat at |
|
||||
+ Facilisis in pretium nisl aliquet |
|
||||
- Nulla volutpat aliquam velit |
|
||||
+ Very easy! |
|
||||
|
|
||||
Ordered |
|
||||
|
|
||||
1. Lorem ipsum dolor sit amet |
|
||||
2. Consectetur adipiscing elit |
|
||||
3. Integer molestie lorem at massa |
|
||||
|
|
||||
|
|
||||
1. You can use sequential numbers... |
|
||||
1. ...or keep all the numbers as `1.` |
|
||||
|
|
||||
Start numbering with offset: |
|
||||
|
|
||||
57. foo |
|
||||
1. bar |
|
||||
|
|
||||
|
|
||||
## Code |
|
||||
|
|
||||
Inline `code` |
|
||||
|
|
||||
Indented code |
|
||||
|
|
||||
// Some comments |
|
||||
line 1 of code |
|
||||
line 2 of code |
|
||||
line 3 of code |
|
||||
|
|
||||
|
|
||||
Block code "fences" |
|
||||
|
|
||||
``` |
|
||||
Sample text here... |
|
||||
``` |
|
||||
|
|
||||
Syntax highlighting |
|
||||
|
|
||||
``` js |
|
||||
var foo = function (bar) { |
|
||||
return bar++; |
|
||||
}; |
|
||||
|
|
||||
console.log(foo(5)); |
|
||||
``` |
|
||||
|
|
||||
## Tables |
|
||||
|
|
||||
| Option | Description | |
|
||||
| ------ | ----------- | |
|
||||
| data | path to data files to supply the data that will be passed into templates. | |
|
||||
| engine | engine to be used for processing templates. Handlebars is the default. | |
|
||||
| ext | extension to be used for dest files. | |
|
||||
|
|
||||
Right aligned columns |
|
||||
|
|
||||
| Option | Description | |
|
||||
| ------:| -----------:| |
|
||||
| data | path to data files to supply the data that will be passed into templates. | |
|
||||
| engine | engine to be used for processing templates. Handlebars is the default. | |
|
||||
| ext | extension to be used for dest files. | |
|
||||
|
|
||||
|
|
||||
## Links |
|
||||
|
|
||||
[link text](http://dev.nodeca.com) |
|
||||
|
|
||||
[link with title](http://nodeca.github.io/pica/demo/ "title text!") |
|
||||
|
|
||||
Autoconverted link https://github.com/nodeca/pica (enable linkify to see) |
|
||||
|
|
||||
|
|
||||
## Images |
|
||||
|
|
||||
![Minion](https://octodex.github.com/images/minion.png) |
|
||||
![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat") |
|
||||
|
|
||||
Like links, Images also have a footnote style syntax |
|
||||
|
|
||||
![Alt text][id] |
|
||||
|
|
||||
With a reference later in the document defining the URL location: |
|
||||
|
|
||||
[id]: https://octodex.github.com/images/dojocat.jpg "The Dojocat" |
|
||||
|
|
||||
|
|
||||
## Footnotes |
|
||||
|
|
||||
Footnote 1 link[^first]. |
|
||||
|
|
||||
Footnote 2 link[^second]. |
|
||||
|
|
||||
Inline footnote^[Text of inline footnote] definition. |
|
||||
|
|
||||
Duplicated footnote reference[^second]. |
|
||||
|
|
||||
[^first]: Footnote **can have markup** |
|
||||
|
|
||||
and multiple paragraphs. |
|
||||
|
|
||||
[^second]: Footnote text. |
|
||||
|
|
||||
|
|
||||
## Definition lists |
|
||||
|
|
||||
Term 1 |
|
||||
|
|
||||
: Definition 1 |
|
||||
with lazy continuation. |
|
||||
|
|
||||
Term 2 with *inline markup* |
|
||||
|
|
||||
: Definition 2 |
|
||||
|
|
||||
{ some code, part of Definition 2 } |
|
||||
|
|
||||
Third paragraph of definition 2. |
|
||||
|
|
||||
_Compact style:_ |
|
||||
|
|
||||
Term 1 |
|
||||
~ Definition 1 |
|
||||
|
|
||||
Term 2 |
|
||||
~ Definition 2a |
|
||||
~ Definition 2b |
|
||||
|
|
||||
|
|
||||
## Abbreviations |
|
||||
|
|
||||
This is HTML abbreviation example. |
|
||||
|
|
||||
It converts "HTML", but keep intact partial entries like "xxxHTMLyyy" and so on. |
|
||||
|
|
||||
*[HTML]: Hyper Text Markup Language |
|
||||
</textarea> |
|
||||
</div> |
|
||||
<section class="col-xs-6 full-height"> |
|
||||
<div class="demo-control"><a href="#" data-result-as="html">html</a><a href="#" data-result-as="src">source</a><a href="#" data-result-as="debug">debug</a></div> |
|
||||
<div class="result-html full-height"></div> |
|
||||
<pre class="result-src full-height"><code class="result-src-content full-height"></code></pre> |
|
||||
<pre class="result-debug full-height"><code class="result-debug-content full-height"></code></pre> |
|
||||
</section> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="gh-ribbon"><a href="https://github.com/markdown-it/markdown-it" target="_blank">Fork me on GitHub</a></div> |
|
||||
</body> |
|
||||
</html> |
|
@ -1,35 +0,0 @@ |
|||||
var hljs = require('highlight.js') // https://highlightjs.org/
|
|
||||
|
|
||||
var md = require('markdown-it')('full', { |
|
||||
html: false, // Enable HTML tags in source
|
|
||||
xhtmlOut: false, // Use '/' to close single tags (<br />)
|
|
||||
breaks: false, // Convert '\n' in paragraphs into <br>
|
|
||||
langPrefix: 'language-', // CSS language prefix for fenced blocks
|
|
||||
linkify: true, // autoconvert URL-like texts to links
|
|
||||
|
|
||||
// Enable some language-neutral replacements + quotes beautification
|
|
||||
typographer: false, |
|
||||
|
|
||||
// Double + single quotes replacement pairs, when typographer enabled,
|
|
||||
// and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.
|
|
||||
quotes: '“”‘’', |
|
||||
|
|
||||
// Highlighter function. Should return escaped HTML,
|
|
||||
// or '' if input not changed
|
|
||||
highlight: function (str, lang) { |
|
||||
if (lang && hljs.getLanguage(lang)) { |
|
||||
try { |
|
||||
return hljs.highlight(lang, str).value; |
|
||||
} catch (__) {} |
|
||||
} |
|
||||
|
|
||||
try { |
|
||||
return hljs.highlightAuto(str).value; |
|
||||
} catch (__) {} |
|
||||
|
|
||||
return ''; // use external default escaping
|
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
console.log(md.render('# markdown-it rulezz!')); |
|
||||
// => <h1>markdown-it rulezz!</h1>
|
|
Loading…
Reference in new issue