Replace Jekyll's syntax highlighter with Prism. It handles YAML much better.

Prism also includes its own Copy to clipboard functionality, so remove our home
grown version.
This commit is contained in:
Martin Taillefer 2017-05-17 21:52:20 -07:00
parent c92e2ecbba
commit 0e52a7af34
6 changed files with 28 additions and 13 deletions

View File

@ -4,9 +4,6 @@ markdown:
kramdown:
input: GFM
hard_wrap: false
syntax_highlighter: rouge
highlighter: rouge
baseurl:

View File

@ -57,13 +57,12 @@ layout: compress
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="{{home}}/css/all.css">
<link rel="stylesheet" href="{{home}}/css/prism.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.4.2/clipboard.min.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
@ -85,6 +84,7 @@ layout: compress
<script src="{{home}}/js/common.js" type="text/javascript" charset="utf-8"></script>
<script src="{{home}}/js/buttons.js"></script>
<script src="{{home}}/js/search.js"></script>
<script src="{{home}}/js/prism.js"></script>
{% if page.customjs %}
<script async="" defer="" type="text/javascript" src="{{ page.customjs }}"></script>

View File

@ -52,11 +52,4 @@ layout: default
</div>
</div>
<template id="copy-button">
<div class="container-fluid">
<button class="copy-button pull-right">Copy</button>
</div>
</template>
<script src="{{home}}/js/copyToClipboard.js"></script>
<script src="{{home}}/js/sidemenu.js"></script>

View File

@ -37,7 +37,7 @@ code {
font-size: $font-size--primary;
}
pre {
pre, pre.prettyprint {
background-color: $codeBkColor;
color: #000000;
border: none !important;

4
css/prism.css Normal file
View File

@ -0,0 +1,4 @@
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+bash+batch+c+bison+cpp+docker+go+java+json+perl+protobuf+python+yaml&plugins=toolbar+copy-to-clipboard */
code[class*="language-"],pre[class*="language-"]{color:#000;background:none;text-shadow:0 1px white;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*="language-"]::-moz-selection,pre[class*="language-"] ::-moz-selection,code[class*="language-"]::-moz-selection,code[class*="language-"] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*="language-"]::selection,pre[class*="language-"] ::selection,code[class*="language-"]::selection,code[class*="language-"] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*="language-"],pre[class*="language-"]{text-shadow:none}}pre[class*="language-"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre) > code[class*="language-"],
pre[class*="language-"] {background:#f5f2f0}:not(pre) > code[class*="language-"] {padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}
pre.code-toolbar{position:relative}pre.code-toolbar>.toolbar{position:absolute;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}pre.code-toolbar:hover>.toolbar{opacity:1}pre.code-toolbar>.toolbar .toolbar-item{display:inline-block}pre.code-toolbar>.toolbar a{cursor:pointer}pre.code-toolbar>.toolbar button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}pre.code-toolbar>.toolbar a,pre.code-toolbar>.toolbar button,pre.code-toolbar>.toolbar span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224,224,224,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}pre.code-toolbar>.toolbar a:hover,pre.code-toolbar>.toolbar a:focus,pre.code-toolbar>.toolbar button:hover,pre.code-toolbar>.toolbar button:focus,pre.code-toolbar>.toolbar span:hover,pre.code-toolbar>.toolbar span:focus{color:inherit;text-decoration:none}

21
js/prism.js Normal file

File diff suppressed because one or more lines are too long