You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

653 lines
14 KiB

  1. /* PrismJS 1.15.0
  2. https://prismjs.com/download.html#themes=prism-twilight&languages=markup+css+clike+javascript+abap+actionscript+ada+apacheconf+apl+applescript+c+arff+asciidoc+asm6502+csharp+autohotkey+autoit+bash+basic+batch+bison+brainfuck+bro+cpp+aspnet+arduino+coffeescript+clojure+ruby+csp+css-extras+d+dart+diff+django+docker+eiffel+elixir+elm+markup-templating+erlang+fsharp+flow+fortran+gedcom+gherkin+git+glsl+gml+go+graphql+groovy+less+handlebars+haskell+haxe+http+hpkp+hsts+ichigojam+icon+inform7+ini+io+j+java+jolie+json+julia+keyman+kotlin+latex+markdown+liquid+lisp+livescript+lolcode+lua+makefile+crystal+erb+matlab+mel+mizar+monkey+n4js+nasm+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+perl+php+php-extras+sql+powershell+processing+prolog+properties+protobuf+scss+puppet+pure+python+q+qore+r+jsx+typescript+renpy+reason+rest+rip+roboconf+textile+rust+sas+sass+stylus+scala+scheme+smalltalk+smarty+plsql+soy+pug+swift+yaml+tcl+haml+tt2+twig+tsx+vbnet+velocity+verilog+vhdl+vim+visual-basic+wasm+wiki+xeora+xojo+xquery+tap&plugins=line-highlight+line-numbers+autolinker+wpd+custom-class+file-highlight+toolbar+jsonp-highlight+highlight-keywords+remove-initial-line-feed+previewers+autoloader+unescaped-markup+command-line+normalize-whitespace+keep-markup+data-uri-highlight+show-language+copy-to-clipboard */
  3. /**
  4. * prism.js Twilight theme
  5. * Based (more or less) on the Twilight theme originally of Textmate fame.
  6. * @author Remy Bach
  7. */
  8. code[class*="language-"],
  9. pre[class*="language-"] {
  10. color: white;
  11. background: none;
  12. font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  13. text-align: left;
  14. text-shadow: 0 -.1em .2em black;
  15. white-space: pre;
  16. word-spacing: normal;
  17. word-break: normal;
  18. word-wrap: normal;
  19. line-height: 1.5;
  20. -moz-tab-size: 4;
  21. -o-tab-size: 4;
  22. tab-size: 4;
  23. -webkit-hyphens: none;
  24. -moz-hyphens: none;
  25. -ms-hyphens: none;
  26. hyphens: none;
  27. }
  28. pre[class*="language-"],
  29. :not(pre) > code[class*="language-"] {
  30. background: hsl(0, 0%, 8%); /* #141414 */
  31. }
  32. /* Code blocks */
  33. pre[class*="language-"] {
  34. border-radius: .5em;
  35. border: .3em solid hsl(0, 0%, 33%); /* #282A2B */
  36. box-shadow: 1px 1px .5em black inset;
  37. margin: .5em 0;
  38. overflow: auto;
  39. padding: 1em;
  40. }
  41. pre[class*="language-"]::-moz-selection {
  42. /* Firefox */
  43. background: hsl(200, 4%, 16%); /* #282A2B */
  44. }
  45. pre[class*="language-"]::selection {
  46. /* Safari */
  47. background: hsl(200, 4%, 16%); /* #282A2B */
  48. }
  49. /* Text Selection colour */
  50. pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
  51. code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
  52. text-shadow: none;
  53. background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */
  54. }
  55. pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
  56. code[class*="language-"]::selection, code[class*="language-"] ::selection {
  57. text-shadow: none;
  58. background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */
  59. }
  60. /* Inline code */
  61. :not(pre) > code[class*="language-"] {
  62. border-radius: .3em;
  63. border: .13em solid hsl(0, 0%, 33%); /* #545454 */
  64. box-shadow: 1px 1px .3em -.1em black inset;
  65. padding: .15em .2em .05em;
  66. white-space: normal;
  67. }
  68. .token.comment,
  69. .token.prolog,
  70. .token.doctype,
  71. .token.cdata {
  72. color: hsl(0, 0%, 47%); /* #777777 */
  73. }
  74. .token.punctuation {
  75. opacity: .7;
  76. }
  77. .namespace {
  78. opacity: .7;
  79. }
  80. .token.tag,
  81. .token.boolean,
  82. .token.number,
  83. .token.deleted {
  84. color: hsl(14, 58%, 55%); /* #CF6A4C */
  85. }
  86. .token.keyword,
  87. .token.property,
  88. .token.selector,
  89. .token.constant,
  90. .token.symbol,
  91. .token.builtin {
  92. color: hsl(53, 89%, 79%); /* #F9EE98 */
  93. }
  94. .token.attr-name,
  95. .token.attr-value,
  96. .token.string,
  97. .token.char,
  98. .token.operator,
  99. .token.entity,
  100. .token.url,
  101. .language-css .token.string,
  102. .style .token.string,
  103. .token.variable,
  104. .token.inserted {
  105. color: hsl(76, 21%, 52%); /* #8F9D6A */
  106. }
  107. .token.atrule {
  108. color: hsl(218, 22%, 55%); /* #7587A6 */
  109. }
  110. .token.regex,
  111. .token.important {
  112. color: hsl(42, 75%, 65%); /* #E9C062 */
  113. }
  114. .token.important,
  115. .token.bold {
  116. font-weight: bold;
  117. }
  118. .token.italic {
  119. font-style: italic;
  120. }
  121. .token.entity {
  122. cursor: help;
  123. }
  124. pre[data-line] {
  125. padding: 1em 0 1em 3em;
  126. position: relative;
  127. }
  128. /* Markup */
  129. .language-markup .token.tag,
  130. .language-markup .token.attr-name,
  131. .language-markup .token.punctuation {
  132. color: hsl(33, 33%, 52%); /* #AC885B */
  133. }
  134. /* Make the tokens sit above the line highlight so the colours don't look faded. */
  135. .token {
  136. position: relative;
  137. z-index: 1;
  138. }
  139. .line-highlight {
  140. background: hsla(0, 0%, 33%, 0.25); /* #545454 */
  141. background: linear-gradient(to right, hsla(0, 0%, 33%, .1) 70%, hsla(0, 0%, 33%, 0)); /* #545454 */
  142. border-bottom: 1px dashed hsl(0, 0%, 33%); /* #545454 */
  143. border-top: 1px dashed hsl(0, 0%, 33%); /* #545454 */
  144. left: 0;
  145. line-height: inherit;
  146. margin-top: 0.75em; /* Same as .prism’s padding-top */
  147. padding: inherit 0;
  148. pointer-events: none;
  149. position: absolute;
  150. right: 0;
  151. white-space: pre;
  152. z-index: 0;
  153. }
  154. .line-highlight:before,
  155. .line-highlight[data-end]:after {
  156. background-color: hsl(215, 15%, 59%); /* #8794A6 */
  157. border-radius: 999px;
  158. box-shadow: 0 1px white;
  159. color: hsl(24, 20%, 95%); /* #F5F2F0 */
  160. content: attr(data-start);
  161. font: bold 65%/1.5 sans-serif;
  162. left: .6em;
  163. min-width: 1em;
  164. padding: 0 .5em;
  165. position: absolute;
  166. text-align: center;
  167. text-shadow: none;
  168. top: .4em;
  169. vertical-align: .3em;
  170. }
  171. .line-highlight[data-end]:after {
  172. bottom: .4em;
  173. content: attr(data-end);
  174. top: auto;
  175. }
  176. pre[data-line] {
  177. position: relative;
  178. padding: 1em 0 1em 3em;
  179. }
  180. .line-highlight {
  181. position: absolute;
  182. left: 0;
  183. right: 0;
  184. padding: inherit 0;
  185. margin-top: 1em; /* Same as .prism’s padding-top */
  186. background: hsla(24, 20%, 50%,.08);
  187. background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
  188. pointer-events: none;
  189. line-height: inherit;
  190. white-space: pre;
  191. }
  192. .line-highlight:before,
  193. .line-highlight[data-end]:after {
  194. content: attr(data-start);
  195. position: absolute;
  196. top: .4em;
  197. left: .6em;
  198. min-width: 1em;
  199. padding: 0 .5em;
  200. background-color: hsla(24, 20%, 50%,.4);
  201. color: hsl(24, 20%, 95%);
  202. font: bold 65%/1.5 sans-serif;
  203. text-align: center;
  204. vertical-align: .3em;
  205. border-radius: 999px;
  206. text-shadow: none;
  207. box-shadow: 0 1px white;
  208. }
  209. .line-highlight[data-end]:after {
  210. content: attr(data-end);
  211. top: auto;
  212. bottom: .4em;
  213. }
  214. .line-numbers .line-highlight:before,
  215. .line-numbers .line-highlight:after {
  216. content: none;
  217. }
  218. pre[class*="language-"].line-numbers {
  219. position: relative;
  220. padding-left: 3.8em;
  221. counter-reset: linenumber;
  222. }
  223. pre[class*="language-"].line-numbers > code {
  224. position: relative;
  225. white-space: inherit;
  226. }
  227. .line-numbers .line-numbers-rows {
  228. position: absolute;
  229. pointer-events: none;
  230. top: 0;
  231. font-size: 100%;
  232. left: -3.8em;
  233. width: 3em; /* works for line-numbers below 1000 lines */
  234. letter-spacing: -1px;
  235. border-right: 1px solid #999;
  236. -webkit-user-select: none;
  237. -moz-user-select: none;
  238. -ms-user-select: none;
  239. user-select: none;
  240. }
  241. .line-numbers-rows > span {
  242. pointer-events: none;
  243. display: block;
  244. counter-increment: linenumber;
  245. }
  246. .line-numbers-rows > span:before {
  247. content: counter(linenumber);
  248. color: #999;
  249. display: block;
  250. padding-right: 0.8em;
  251. text-align: right;
  252. }
  253. .token a {
  254. color: inherit;
  255. }
  256. code[class*="language-"] a[href],
  257. pre[class*="language-"] a[href] {
  258. cursor: help;
  259. text-decoration: none;
  260. }
  261. code[class*="language-"] a[href]:hover,
  262. pre[class*="language-"] a[href]:hover {
  263. cursor: help;
  264. text-decoration: underline;
  265. }
  266. div.code-toolbar {
  267. position: relative;
  268. }
  269. div.code-toolbar > .toolbar {
  270. position: absolute;
  271. top: .3em;
  272. right: .2em;
  273. transition: opacity 0.3s ease-in-out;
  274. opacity: 0;
  275. }
  276. div.code-toolbar:hover > .toolbar {
  277. opacity: 1;
  278. }
  279. div.code-toolbar > .toolbar .toolbar-item {
  280. display: inline-block;
  281. }
  282. div.code-toolbar > .toolbar a {
  283. cursor: pointer;
  284. }
  285. div.code-toolbar > .toolbar button {
  286. background: none;
  287. border: 0;
  288. color: inherit;
  289. font: inherit;
  290. line-height: normal;
  291. overflow: visible;
  292. padding: 0;
  293. -webkit-user-select: none; /* for button */
  294. -moz-user-select: none;
  295. -ms-user-select: none;
  296. }
  297. div.code-toolbar > .toolbar a,
  298. div.code-toolbar > .toolbar button,
  299. div.code-toolbar > .toolbar span {
  300. color: #bbb;
  301. font-size: .8em;
  302. padding: 0 .5em;
  303. background: #f5f2f0;
  304. background: rgba(224, 224, 224, 0.2);
  305. box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
  306. border-radius: .5em;
  307. }
  308. div.code-toolbar > .toolbar a:hover,
  309. div.code-toolbar > .toolbar a:focus,
  310. div.code-toolbar > .toolbar button:hover,
  311. div.code-toolbar > .toolbar button:focus,
  312. div.code-toolbar > .toolbar span:hover,
  313. div.code-toolbar > .toolbar span:focus {
  314. color: inherit;
  315. text-decoration: none;
  316. }
  317. .prism-previewer,
  318. .prism-previewer:before,
  319. .prism-previewer:after {
  320. position: absolute;
  321. pointer-events: none;
  322. }
  323. .prism-previewer,
  324. .prism-previewer:after {
  325. left: 50%;
  326. }
  327. .prism-previewer {
  328. margin-top: -48px;
  329. width: 32px;
  330. height: 32px;
  331. margin-left: -16px;
  332. opacity: 0;
  333. -webkit-transition: opacity .25s;
  334. -o-transition: opacity .25s;
  335. transition: opacity .25s;
  336. }
  337. .prism-previewer.flipped {
  338. margin-top: 0;
  339. margin-bottom: -48px;
  340. }
  341. .prism-previewer:before,
  342. .prism-previewer:after {
  343. content: '';
  344. position: absolute;
  345. pointer-events: none;
  346. }
  347. .prism-previewer:before {
  348. top: -5px;
  349. right: -5px;
  350. left: -5px;
  351. bottom: -5px;
  352. border-radius: 10px;
  353. border: 5px solid #fff;
  354. box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75);
  355. }
  356. .prism-previewer:after {
  357. top: 100%;
  358. width: 0;
  359. height: 0;
  360. margin: 5px 0 0 -7px;
  361. border: 7px solid transparent;
  362. border-color: rgba(255, 0, 0, 0);
  363. border-top-color: #fff;
  364. }
  365. .prism-previewer.flipped:after {
  366. top: auto;
  367. bottom: 100%;
  368. margin-top: 0;
  369. margin-bottom: 5px;
  370. border-top-color: rgba(255, 0, 0, 0);
  371. border-bottom-color: #fff;
  372. }
  373. .prism-previewer.active {
  374. opacity: 1;
  375. }
  376. .prism-previewer-angle:before {
  377. border-radius: 50%;
  378. background: #fff;
  379. }
  380. .prism-previewer-angle:after {
  381. margin-top: 4px;
  382. }
  383. .prism-previewer-angle svg {
  384. width: 32px;
  385. height: 32px;
  386. -webkit-transform: rotate(-90deg);
  387. -moz-transform: rotate(-90deg);
  388. -ms-transform: rotate(-90deg);
  389. -o-transform: rotate(-90deg);
  390. transform: rotate(-90deg);
  391. }
  392. .prism-previewer-angle[data-negative] svg {
  393. -webkit-transform: scaleX(-1) rotate(-90deg);
  394. -moz-transform: scaleX(-1) rotate(-90deg);
  395. -ms-transform: scaleX(-1) rotate(-90deg);
  396. -o-transform: scaleX(-1) rotate(-90deg);
  397. transform: scaleX(-1) rotate(-90deg);
  398. }
  399. .prism-previewer-angle circle {
  400. fill: transparent;
  401. stroke: hsl(200, 10%, 20%);
  402. stroke-opacity: 0.9;
  403. stroke-width: 32;
  404. stroke-dasharray: 0, 500;
  405. }
  406. .prism-previewer-gradient {
  407. background-image: linear-gradient(45deg, #bbb 25%, transparent 25%, transparent 75%, #bbb 75%, #bbb), linear-gradient(45deg, #bbb 25%, #eee 25%, #eee 75%, #bbb 75%, #bbb);
  408. background-size: 10px 10px;
  409. background-position: 0 0, 5px 5px;
  410. width: 64px;
  411. margin-left: -32px;
  412. }
  413. .prism-previewer-gradient:before {
  414. content: none;
  415. }
  416. .prism-previewer-gradient div {
  417. position: absolute;
  418. top: -5px;
  419. left: -5px;
  420. right: -5px;
  421. bottom: -5px;
  422. border-radius: 10px;
  423. border: 5px solid #fff;
  424. box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75);
  425. }
  426. .prism-previewer-color {
  427. background-image: linear-gradient(45deg, #bbb 25%, transparent 25%, transparent 75%, #bbb 75%, #bbb), linear-gradient(45deg, #bbb 25%, #eee 25%, #eee 75%, #bbb 75%, #bbb);
  428. background-size: 10px 10px;
  429. background-position: 0 0, 5px 5px;
  430. }
  431. .prism-previewer-color:before {
  432. background-color: inherit;
  433. background-clip: padding-box;
  434. }
  435. .prism-previewer-easing {
  436. margin-top: -76px;
  437. margin-left: -30px;
  438. width: 60px;
  439. height: 60px;
  440. background: #333;
  441. }
  442. .prism-previewer-easing.flipped {
  443. margin-bottom: -116px;
  444. }
  445. .prism-previewer-easing svg {
  446. width: 60px;
  447. height: 60px;
  448. }
  449. .prism-previewer-easing circle {
  450. fill: hsl(200, 10%, 20%);
  451. stroke: white;
  452. }
  453. .prism-previewer-easing path {
  454. fill: none;
  455. stroke: white;
  456. stroke-linecap: round;
  457. stroke-width: 4;
  458. }
  459. .prism-previewer-easing line {
  460. stroke: white;
  461. stroke-opacity: 0.5;
  462. stroke-width: 2;
  463. }
  464. @-webkit-keyframes prism-previewer-time {
  465. 0% {
  466. stroke-dasharray: 0, 500;
  467. stroke-dashoffset: 0;
  468. }
  469. 50% {
  470. stroke-dasharray: 100, 500;
  471. stroke-dashoffset: 0;
  472. }
  473. 100% {
  474. stroke-dasharray: 0, 500;
  475. stroke-dashoffset: -100;
  476. }
  477. }
  478. @-o-keyframes prism-previewer-time {
  479. 0% {
  480. stroke-dasharray: 0, 500;
  481. stroke-dashoffset: 0;
  482. }
  483. 50% {
  484. stroke-dasharray: 100, 500;
  485. stroke-dashoffset: 0;
  486. }
  487. 100% {
  488. stroke-dasharray: 0, 500;
  489. stroke-dashoffset: -100;
  490. }
  491. }
  492. @-moz-keyframes prism-previewer-time {
  493. 0% {
  494. stroke-dasharray: 0, 500;
  495. stroke-dashoffset: 0;
  496. }
  497. 50% {
  498. stroke-dasharray: 100, 500;
  499. stroke-dashoffset: 0;
  500. }
  501. 100% {
  502. stroke-dasharray: 0, 500;
  503. stroke-dashoffset: -100;
  504. }
  505. }
  506. @keyframes prism-previewer-time {
  507. 0% {
  508. stroke-dasharray: 0, 500;
  509. stroke-dashoffset: 0;
  510. }
  511. 50% {
  512. stroke-dasharray: 100, 500;
  513. stroke-dashoffset: 0;
  514. }
  515. 100% {
  516. stroke-dasharray: 0, 500;
  517. stroke-dashoffset: -100;
  518. }
  519. }
  520. .prism-previewer-time:before {
  521. border-radius: 50%;
  522. background: #fff;
  523. }
  524. .prism-previewer-time:after {
  525. margin-top: 4px;
  526. }
  527. .prism-previewer-time svg {
  528. width: 32px;
  529. height: 32px;
  530. -webkit-transform: rotate(-90deg);
  531. -moz-transform: rotate(-90deg);
  532. -ms-transform: rotate(-90deg);
  533. -o-transform: rotate(-90deg);
  534. transform: rotate(-90deg);
  535. }
  536. .prism-previewer-time circle {
  537. fill: transparent;
  538. stroke: hsl(200, 10%, 20%);
  539. stroke-opacity: 0.9;
  540. stroke-width: 32;
  541. stroke-dasharray: 0, 500;
  542. stroke-dashoffset: 0;
  543. -webkit-animation: prism-previewer-time linear infinite 3s;
  544. -moz-animation: prism-previewer-time linear infinite 3s;
  545. -o-animation: prism-previewer-time linear infinite 3s;
  546. animation: prism-previewer-time linear infinite 3s;
  547. }
  548. /* Fallback, in case JS does not run, to ensure the code is at least visible */
  549. [class*='lang-'] script[type='text/plain'],
  550. [class*='language-'] script[type='text/plain'],
  551. script[type='text/plain'][class*='lang-'],
  552. script[type='text/plain'][class*='language-'] {
  553. display: block;
  554. font: 100% Consolas, Monaco, monospace;
  555. white-space: pre;
  556. overflow: auto;
  557. }
  558. .command-line-prompt {
  559. border-right: 1px solid #999;
  560. display: block;
  561. float: left;
  562. font-size: 100%;
  563. letter-spacing: -1px;
  564. margin-right: 1em;
  565. pointer-events: none;
  566. -webkit-user-select: none;
  567. -moz-user-select: none;
  568. -ms-user-select: none;
  569. user-select: none;
  570. }
  571. .command-line-prompt > span:before {
  572. color: #999;
  573. content: ' ';
  574. display: block;
  575. padding-right: 0.8em;
  576. }
  577. .command-line-prompt > span[data-user]:before {
  578. content: "[" attr(data-user) "@" attr(data-host) "] $";
  579. }
  580. .command-line-prompt > span[data-user="root"]:before {
  581. content: "[" attr(data-user) "@" attr(data-host) "] #";
  582. }
  583. .command-line-prompt > span[data-prompt]:before {
  584. content: attr(data-prompt);
  585. }