Skip to content

Commit 07e95bb

Browse files
committed
Highlight Bash snippets
1 parent 44a4dbe commit 07e95bb

File tree

3 files changed

+34
-15
lines changed

3 files changed

+34
-15
lines changed

index.html

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4-
<link rel="stylesheet" href="github.css">
5-
<link rel="stylesheet" href="styles.css">
4+
<link rel="stylesheet" type="text/css" href="github.css">
5+
<link rel="stylesheet" type="text/css" href="styles.css">
6+
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/googlecode.min.css">
67
<meta charset="utf-8">
78
<title>C++ submodule manager</title>
89
</head>
@@ -56,9 +57,9 @@ <h2><a id="contents"></a> <a href="#contents">≡</a> <a href="#contents">Conten
5657
</ul>
5758
<h2><a id="install"></a> <a href="#contents"></a> <a href="#install">Install</a></h2>
5859
<p>Clone the <code>cppsm-cli</code> somewhere:</p>
59-
<pre><code class="language-bash">git clone https://github.com/cppsm/cppsm-cli.git</code></pre>
60+
<pre><code class="hljs lang-bash">git clone https://github.com/cppsm/cppsm-cli.git</code></pre>
6061
<p>Add to your <code>.bash_profile</code>:</p>
61-
<pre><code class="language-bash">CPPSM=&quot;path to cppsm-cli directory&quot;
62+
<pre><code class="hljs lang-bash">CPPSM=&quot;path to cppsm-cli directory&quot;
6263
export PATH=&quot;$CPPSM/bin:$PATH&quot;
6364
. &quot;$CPPSM/bash_completion&quot;</code></pre>
6465
<p>For code formatting you need to have both
@@ -69,30 +70,30 @@ <h2><a id="install"></a> <a href="#contents">≡</a> <a href="#install">Install<
6970
commands in path.</p>
7071
<h2><a id="synopsis"></a> <a href="#contents"></a> <a href="#synopsis">Synopsis</a></h2>
7172
<p>Create a new project:</p>
72-
<pre><code class="language-bash">mkdir PROJECT &amp;&amp; cd &quot;$_&quot;
73+
<pre><code class="hljs lang-bash">mkdir PROJECT &amp;&amp; cd &quot;$_&quot;
7374
git init
7475
cppsm init</code></pre>
7576
<p>Try the hello world example (after <code>init</code>):</p>
76-
<pre><code class="language-bash">cppsm hello
77+
<pre><code class="hljs lang-bash">cppsm hello
7778
cppsm test
7879
.build*/internals/hello</code></pre>
7980
<p>Start hacking:</p>
80-
<pre><code class="language-bash">emacs internals/program/hello.cpp &amp;
81+
<pre><code class="hljs lang-bash">emacs internals/program/hello.cpp &amp;
8182
cppsm test-watch</code></pre>
8283
<p>Format project files inplace:</p>
83-
<pre><code class="language-bash">cppsm format</code></pre>
84+
<pre><code class="hljs lang-bash">cppsm format</code></pre>
8485
<p>Clone an existing project:</p>
85-
<pre><code class="language-bash">cppsm clone URL BRANCH</code></pre>
86+
<pre><code class="hljs lang-bash">cppsm clone URL BRANCH</code></pre>
8687
<p>Or clone an existing project using plain git:</p>
87-
<pre><code class="language-bash">git clone -b BRANCH URL/NAME.git
88+
<pre><code class="hljs lang-bash">git clone -b BRANCH URL/NAME.git
8889
cd NAME
8990
git submodule update --init # NOTE: non-recursive</code></pre>
9091
<p>Add a required library:</p>
91-
<pre><code class="language-bash">cppsm add requires URL/NAME.git BRANCH</code></pre>
92+
<pre><code class="hljs lang-bash">cppsm add requires URL/NAME.git BRANCH</code></pre>
9293
<p>Remove a previously required library:</p>
93-
<pre><code class="language-bash">cppsm remove requires/NAME/BRANCH</code></pre>
94+
<pre><code class="hljs lang-bash">cppsm remove requires/NAME/BRANCH</code></pre>
9495
<p>Upgrade all required libraries:</p>
95-
<pre><code class="language-bash">cppsm upgrade</code></pre>
96+
<pre><code class="hljs lang-bash">cppsm upgrade</code></pre>
9697
<h2><a id="project-structure"></a> <a href="#contents"></a> <a href="#project-structure">Project structure</a></h2>
9798
<p>At the root of a project there are three directories as follows:</p>
9899
<ul>
@@ -213,5 +214,8 @@ <h4><a id="xtrace"></a> <a href="#contents">≡</a> <a href="#xtrace"><code>XTRA
213214
<p>By default the CI scripts do not <code>set -x</code> to enable Bash xtrace to avoid
214215
unnecessary verbosity. Set <code>XTRACE=1</code> to enable Bash xtrace.</p>
215216

217+
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
218+
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/languages/bash.min.js"></script>
219+
<script type="text/javascript" src="init-hljs.js"></script>
216220
</body>
217221
</html>

index.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ const marked = require('marked')
44
const sourcePath = 'README.md'
55
const targetPath = 'index.html'
66

7+
const hljsStyle = 'googlecode'
8+
const hljsVersion = '9.12.0'
9+
710
marked.setOptions({
811
renderer: new marked.Renderer(),
912
gfm: true,
@@ -26,17 +29,22 @@ fs.readFileSync(sourcePath)
2629
.pipe(s => marked(String(s)))
2730
.replace(/ id="a-[^"]*"/g, '')
2831
.replace(/ +$/gm, '')
32+
.replace(/<code class="language-([a-z]*)">/g, '<code class="hljs lang-$1">')
2933
.pipe(
3034
s => `<!DOCTYPE html>
3135
<html lang="en">
3236
<head>
33-
<link rel="stylesheet" href="github.css">
34-
<link rel="stylesheet" href="styles.css">
37+
<link rel="stylesheet" type="text/css" href="github.css">
38+
<link rel="stylesheet" type="text/css" href="styles.css">
39+
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/${hljsVersion}/styles/${hljsStyle}.min.css">
3540
<meta charset="utf-8">
3641
<title>C++ submodule manager</title>
3742
</head>
3843
<body class="markdown-body">
3944
${s}
45+
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/${hljsVersion}/highlight.min.js"></script>
46+
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/${hljsVersion}/languages/bash.min.js"></script>
47+
<script type="text/javascript" src="init-hljs.js"></script>
4048
</body>
4149
</html>`
4250
)

init-hljs.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict'
2+
3+
Array.prototype.slice
4+
.call(document.querySelectorAll('.hljs'))
5+
.forEach(function(elem) {
6+
window.hljs.highlightBlock(elem)
7+
})

0 commit comments

Comments
 (0)