Skip to content

Commit 38a975a

Browse files
committed
Add syntax highlighting for index.html
1 parent eac3d02 commit 38a975a

File tree

4 files changed

+66
-44
lines changed

4 files changed

+66
-44
lines changed

Gruntfile.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ module.exports = function(grunt) {
44

55
// Because I'm lazy
66
var _ = grunt.util._;
7+
var marked = require('marked');
8+
// var hl = require('highlight').Highlight;
9+
var hl = require('node-syntaxhighlighter');
10+
marked.setOptions({
11+
highlight: function(code, lang) {
12+
lang = lang || 'javascript';
13+
lang = hl.getLanguage(lang);
14+
15+
return hl.highlight(code, lang);
16+
},
17+
gfm: true
18+
});
719

820
// Project configuration.
921
grunt.initConfig({
@@ -161,15 +173,11 @@ module.exports = function(grunt) {
161173
});
162174

163175
grunt.registerTask('docs', 'Convert readme.md to html and concat with header and footer for index.html', function() {
164-
var marked = require('marked'),
165-
readme = grunt.file.read('readme.md'),
176+
var readme = grunt.file.read('readme.md'),
166177
head = grunt.template.process(grunt.file.read('lib/tmpl/header.tpl')),
167178
foot = grunt.file.read('lib/tmpl/footer.tpl'),
168179
doc = marked(readme);
169180

170-
marked.setOptions({
171-
gfm: true
172-
});
173181

174182
grunt.file.write('index.html', head + doc + foot);
175183
});

index.html

Lines changed: 27 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,30 @@
3232
code {
3333
font-family: Monaco, Courier, monospace;
3434
}
35+
.comment,
36+
.comments {
37+
color: #aaa;
38+
}
39+
.keyword {
40+
color: blue;
41+
}
42+
.string {
43+
color: #090;
44+
}
45+
.number {
46+
color: #099;
47+
}
48+
49+
td.gutter {
50+
text-align: right;
51+
padding-right: 3px;
52+
padding-left: 3px;
53+
background-color: #ddd;
54+
color: #aaa;
55+
}
56+
td.code {
57+
padding-left: 5px;
58+
}
3559
h1, h2, h3 {
3660
font-weight: normal;
3761
color: #141414;
@@ -64,32 +88,7 @@ <h3>$.fn.smoothScroll</h3>
6488
</ul>
6589
<h4>Options</h4>
6690
<p>The following options, shown with their default values, are available for both <code>$.fn.smoothScroll</code> and <code>$.smoothScroll</code>:</p>
67-
<pre><code class="lang-javascript">{
68-
offset: 0,
69-
70-
// one of &#39;top&#39; or &#39;left&#39;
71-
direction: &#39;top&#39;,
72-
73-
// only use if you want to override default behavior
74-
scrollTarget: null,
75-
76-
// fn(opts) function to be called before scrolling occurs.
77-
// `this` is the element(s) being scrolled
78-
beforeScroll: function() {},
79-
80-
// fn(opts) function to be called after scrolling occurs.
81-
// `this` is the triggering element
82-
afterScroll: function() {},
83-
easing: &#39;swing&#39;,
84-
speed: 400,
85-
86-
// coefficient for &quot;auto&quot; speed
87-
autoCoefficent: 2,
88-
89-
// $.fn.smoothScroll only: whether to prevent the default click action
90-
preventDefault: true
91-
92-
}</code></pre>
91+
<pre><code class="lang-javascript"><div id="highlighter_37482" class="syntaxhighlighter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div><div class="line number12 index11 alt1">12</div><div class="line number13 index12 alt2">13</div><div class="line number14 index13 alt1">14</div><div class="line number15 index14 alt2">15</div><div class="line number16 index15 alt1">16</div><div class="line number17 index16 alt2">17</div><div class="line number18 index17 alt1">18</div><div class="line number19 index18 alt2">19</div><div class="line number20 index19 alt1">20</div><div class="line number21 index20 alt2">21</div><div class="line number22 index21 alt1">22</div><div class="line number23 index22 alt2">23</div><div class="line number24 index23 alt1">24</div><div class="line number25 index24 alt2">25</div><div class="line number26 index25 alt1">26</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">{</code></div><div class="line number2 index1 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">offset: 0,</code></div><div class="line number3 index2 alt2">&nbsp;</div><div class="line number4 index3 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// one of 'top' or 'left'</code></div><div class="line number5 index4 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">direction: </code><code class="string">'top'</code><code class="plain">,</code></div><div class="line number6 index5 alt1">&nbsp;</div><div class="line number7 index6 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// only use if you want to override default behavior</code></div><div class="line number8 index7 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">scrollTarget: </code><code class="keyword">null</code><code class="plain">,</code></div><div class="line number9 index8 alt2">&nbsp;</div><div class="line number10 index9 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// fn(opts) function to be called before scrolling occurs.</code></div><div class="line number11 index10 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// `this` is the element(s) being scrolled</code></div><div class="line number12 index11 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">beforeScroll: </code><code class="keyword">function</code><code class="plain">() {},</code></div><div class="line number13 index12 alt2">&nbsp;</div><div class="line number14 index13 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// fn(opts) function to be called after scrolling occurs.</code></div><div class="line number15 index14 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// `this` is the triggering element</code></div><div class="line number16 index15 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">afterScroll: </code><code class="keyword">function</code><code class="plain">() {},</code></div><div class="line number17 index16 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">easing: </code><code class="string">'swing'</code><code class="plain">,</code></div><div class="line number18 index17 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">speed: 400,</code></div><div class="line number19 index18 alt2">&nbsp;</div><div class="line number20 index19 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// coefficient for "auto" speed</code></div><div class="line number21 index20 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">autoCoefficent: 2,</code></div><div class="line number22 index21 alt1">&nbsp;</div><div class="line number23 index22 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// $.fn.smoothScroll only: whether to prevent the default click action</code></div><div class="line number24 index23 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">preventDefault: </code><code class="keyword">true</code></div><div class="line number25 index24 alt2">&nbsp;</div><div class="line number26 index25 alt1"><code class="plain">}</code></div></div></td></tr></tbody></table></div></code></pre>
9392
<p>The options object for <code>$.fn.smoothScroll</code> can take two additional properties:
9493
<code>exclude</code> and <code>excludeWithin</code>. The value for both of these is an array of
9594
selectors, DOM elements or jQuery objects. Default value for both is an
@@ -101,13 +100,7 @@ <h3>$.smoothScroll</h3>
101100
<code>document.body</code>)</li>
102101
<li><p>Doesn&#39;t automatically fire, so you need to bind it to some other user
103102
interaction. For example:</p>
104-
<pre><code> $(&#39;button.scrollsomething&#39;).on(&#39;click&#39;, function() {
105-
$.smoothScroll({
106-
scrollElement: $(&#39;div.scrollme&#39;),
107-
scrollTarget: &#39;#findme&#39;
108-
});
109-
return false;
110-
});</code></pre>
103+
<pre><code><div id="highlighter_44194" class="syntaxhighlighter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$(</code><code class="string">'button.scrollsomething'</code><code class="plain">).on(</code><code class="string">'click'</code><code class="plain">, </code><code class="keyword">function</code><code class="plain">() {</code></div><div class="line number2 index1 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">$.smoothScroll({</code></div><div class="line number3 index2 alt2"><code class="undefined spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">scrollElement: $(</code><code class="string">'div.scrollme'</code><code class="plain">),</code></div><div class="line number4 index3 alt1"><code class="undefined spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="plain">scrollTarget: </code><code class="string">'#findme'</code></div><div class="line number5 index4 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">});</code></div><div class="line number6 index5 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="keyword">return</code> <code class="keyword">false</code><code class="plain">;</code></div><div class="line number7 index6 alt2"><code class="plain">});</code></div></div></td></tr></tbody></table></div></code></pre>
111104
</li>
112105
<li><p>The <code>$.smoothScroll</code> method can take one or two arguments.</p>
113106
<ul>
@@ -121,11 +114,7 @@ <h3>$.smoothScroll</h3>
121114
<h4>Additional Option</h4>
122115
<p>The following option, in addition to those listed for <code>$.fn.smoothScroll</code> above, is available
123116
for <code>$.smoothScroll</code>:</p>
124-
<pre><code class="lang-javascript">{
125-
// jQuery set of elements you wish to scroll.
126-
// if null (default), $(&#39;html, body&#39;).firstScrollable() is used.
127-
scrollElement: null,
128-
}</code></pre>
117+
<pre><code class="lang-javascript"><div id="highlighter_717549" class="syntaxhighlighter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">{</code></div><div class="line number2 index1 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">// jQuery set of elements you wish to scroll.</code></div><div class="line number3 index2 alt2"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="comments">//&nbsp; if null (default), $('html, body').firstScrollable() is used.</code></div><div class="line number4 index3 alt1"><code class="undefined spaces">&nbsp;&nbsp;</code><code class="plain">scrollElement: </code><code class="keyword">null</code><code class="plain">,</code></div><div class="line number5 index4 alt2"><code class="plain">}</code></div></div></td></tr></tbody></table></div></code></pre>
129118
<h3>$.fn.scrollable</h3>
130119
<ul>
131120
<li>Selects the matched element(s) that are scrollable. Acts just like a

lib/tmpl/header.tpl

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,30 @@
3232
code {
3333
font-family: Monaco, Courier, monospace;
3434
}
35+
.comment,
36+
.comments {
37+
color: #aaa;
38+
}
39+
.keyword {
40+
color: blue;
41+
}
42+
.string {
43+
color: #090;
44+
}
45+
.number {
46+
color: #099;
47+
}
48+
49+
td.gutter {
50+
text-align: right;
51+
padding-right: 3px;
52+
padding-left: 3px;
53+
background-color: #ddd;
54+
color: #aaa;
55+
}
56+
td.code {
57+
padding-left: 5px;
58+
}
3559
h1, h2, h3 {
3660
font-weight: normal;
3761
color: #141414;

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"grunt-contrib-concat": "~0.1.2",
1313
"grunt-shell": "~0.2",
1414
"grunt-version": "~0.1.1",
15-
"grunt-contrib-watch": "~0.3.1"
15+
"grunt-contrib-watch": "~0.3.1",
16+
"node-syntaxhighlighter": "~0.8.1"
1617
},
1718
"readmeFilename": "readme.md"
1819
}

0 commit comments

Comments
 (0)