Skip to content

Commit 281116b

Browse files
committed
Custom languages uri and uritemplate
1 parent 6e9e25f commit 281116b

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

scripts/md2html/md2html.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,41 @@ const path = require('path');
1313
const url = require('url');
1414

1515
const hljs = require('highlight.js');
16+
hljs.registerLanguage('uritemplate', function() {
17+
return {
18+
case_insensitive: true,
19+
contains: [
20+
{
21+
scope: "attr",
22+
match: /(?<=[{,])[^,}\n\r]+/,
23+
}
24+
],
25+
}
26+
});
27+
hljs.registerLanguage('uri', function() {
28+
return {
29+
case_insensitive: true,
30+
classNameAliases: {
31+
pathsegment: "attr",
32+
option: "attr",
33+
value: "literal"
34+
},
35+
contains: [
36+
{
37+
scope: "pathsegment",
38+
match: /(?<=[/])[^/?#\n\r]+/,
39+
},
40+
{
41+
scope: "option",
42+
match: /(?<=[?&#])[^=?&#\n\r]+/,
43+
},
44+
{
45+
scope: "value",
46+
match: /(?<=\=)[^?&#\n\r]+/,
47+
}
48+
],
49+
}
50+
});
1651
const cheerio = require('cheerio');
1752

1853
let argv = require('yargs')

tests/md2html/fixtures/basic-new.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@
2828
</code></pre>
2929
<pre class="nohighlight" tabindex="0"><code>unknown language
3030
</code></pre>
31+
<pre class="nohighlight" tabindex="0"><code>https://<span class="hljs-attr">foo.com</span>/<span class="hljs-attr">bar</span>?<span class="hljs-attr">baz</span>=<span class="hljs-literal">qux</span>&amp;<span class="hljs-attr">fred</span>=<span class="hljs-literal">waldo</span>#<span class="hljs-attr">fragment</span>
32+
</code></pre>
33+
<pre class="nohighlight" tabindex="0"><code>https://foo.com/bar{<span class="hljs-attr">?baz*</span>,<span class="hljs-attr">qux</span>}
34+
</code></pre>
3135
</section></section><section class="appendix"><h1>Appendix A: Revision History</h1>
3236
<table>
3337
<thead>

tests/md2html/fixtures/basic-new.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ no language
5454
unknown language
5555
```
5656

57+
```uri
58+
https://foo.com/bar?baz=qux&fred=waldo#fragment
59+
```
60+
61+
```uritemplate
62+
https://foo.com/bar{?baz*,qux}
63+
```
64+
5765
## Appendix A: Revision History
5866

5967
Version | Date

0 commit comments

Comments
 (0)