Skip to content

Commit e3b26e4

Browse files
committed
minor improvements to prism highlighting
1 parent a5c1e7b commit e3b26e4

File tree

3 files changed

+58
-12
lines changed

3 files changed

+58
-12
lines changed

site/_core/Prism.js

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ Prism.languages.clike = {
479479
'operator': /[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|~|\^|%/,
480480
'punctuation': /[{}[\];(),.:]/
481481
};
482-
;
482+
483483
Prism.languages.javascript = Prism.languages.extend('clike', {
484484
'keyword': /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,
485485
'number': /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
@@ -550,3 +550,50 @@ Prism.languages.insertBefore('inside', 'attr-value',{
550550
}, Prism.languages.jsx.tag);
551551

552552
}(Prism));
553+
554+
Prism.languages.graphql = {
555+
'comment': /#.*/,
556+
'string': /"(?:\\.|[^\\"])*"/,
557+
'number': /(?:\B-|\b)\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b/,
558+
'boolean': /\b(?:true|false)\b/,
559+
'variable': /\$[a-z_]\w*/i,
560+
'directive': {
561+
pattern: /@[a-z_]\w*/i,
562+
alias: 'function'
563+
},
564+
'attr-name': /[a-z_]\w*(?=\s*:)/i,
565+
'keyword': [
566+
{
567+
pattern: /(fragment\s+(?!on)[a-z_]\w*\s+|\.\.\.\s*)on\b/,
568+
lookbehind: true
569+
},
570+
/\b(?:query|fragment|mutation)\b/
571+
],
572+
'operator': /!|=|\.{3}/,
573+
'type-def': {
574+
pattern: /\b(?:type|interface)\b\s+[a-zA-Z_]\w*\s?{[\w\W]*?}/,
575+
inside: {
576+
keyword: /\b(?:type|interface)\b/,
577+
'type-name': /[a-z_]\w*/i,
578+
fields: {
579+
pattern: /{[\w\W]*?}/,
580+
inside: {
581+
'punctuation': /[!{}\[\]:=,]/,
582+
'attr-name': /[a-z_]\w*(?=\s*:)/i,
583+
'type-name': /[a-z_]\w*/i,
584+
}
585+
}
586+
}
587+
},
588+
'punctuation': /[!(){}\[\]:=,]/,
589+
'enum': /[a-z_]\w*/i
590+
};
591+
592+
Prism.languages.json = {
593+
'attr-name': /"(?:\\.|[^\\"])*"(?=\s*:)/i,
594+
'string': /"(?:\\.|[^\\"])*"/,
595+
'boolean': /\b(?:true|false)\b/,
596+
'keyword': /\bnull\b/,
597+
'number': /(?:\B-|\b)\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b/,
598+
'punctuation': /[{}[\],:]/,
599+
};

site/_css/index.less

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ body.index {
116116
.marketing-col {
117117
flex: 1;
118118
width: 320px;
119-
text-align: center;
120119
}
121120

122121
.fadein-cols(3);

site/index.html.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ var index = React.createClass({
3030
<section className="marketing-row">
3131
<div className="marketing-col">
3232
<h4>Describe your data</h4>
33-
<Prism>
33+
<Prism language="graphql">
3434
{`type Project {
3535
name: String
3636
tagline: String
@@ -40,7 +40,7 @@ var index = React.createClass({
4040
</div>
4141
<div className="marketing-col">
4242
<h4>Ask for what you want</h4>
43-
<Prism>
43+
<Prism language="graphql">
4444
{`{
4545
project(name: "GraphQL") {
4646
tagline
@@ -50,7 +50,7 @@ var index = React.createClass({
5050
</div>
5151
<div className="marketing-col">
5252
<h4>Get predictable results</h4>
53-
<Prism>
53+
<Prism language="json">
5454
{`{
5555
"project": {
5656
"tagline": "A query language for APIs"
@@ -108,7 +108,7 @@ var index = React.createClass({
108108
</div>
109109
<div className="response">
110110
<div id="r1">
111-
<Prism>
111+
<Prism language="json">
112112
{`{
113113
"hero": {
114114
"name": "Luke Skywalker"
@@ -117,7 +117,7 @@ var index = React.createClass({
117117
</Prism>
118118
</div>
119119
<div id="r2">
120-
<Prism>
120+
<Prism language="json">
121121
{`{
122122
"hero": {
123123
"name": "Luke Skywalker",
@@ -127,7 +127,7 @@ var index = React.createClass({
127127
</Prism>
128128
</div>
129129
<div id="r3">
130-
<Prism>
130+
<Prism language="json">
131131
{`{
132132
"hero": {
133133
"name": "Luke Skywalker",
@@ -194,7 +194,7 @@ var index = React.createClass({
194194
<div className="app-to-server" aria-hidden>
195195
<img src="/img/phone.svg" width="496" height="440" className="phone" />
196196
<div className="query">
197-
<Prism>
197+
<Prism language="graphql">
198198
{`{
199199
hero {
200200
name
@@ -206,7 +206,7 @@ var index = React.createClass({
206206
</Prism>
207207
</div>
208208
<div className="response">
209-
<Prism>
209+
<Prism language="json">
210210
{`{
211211
"hero": {
212212
"name": "Luke Skywalker",
@@ -240,7 +240,7 @@ var index = React.createClass({
240240
<div className="window strong-typed-query" aria-hidden>
241241
<div className="query">
242242
<div id="query-highlight" className="highlight" />
243-
<Prism>
243+
<Prism language="graphql">
244244
{`{
245245
hero {
246246
name
@@ -264,7 +264,7 @@ var index = React.createClass({
264264
</div>
265265
<div className="type-system">
266266
<div id="type-highlight" className="highlight" />
267-
<Prism>
267+
<Prism language="graphql">
268268
{`type Query {
269269
hero: Character
270270
}

0 commit comments

Comments
 (0)