Skip to content

Commit 47f3ec1

Browse files
vmeurissetwidi
authored andcommitted
Support config.templates.linenums
This option allows to show line numbers on source code. The option is the same as used in https://github.com/terryweiss/docstrap
1 parent ea2c790 commit 47f3ec1

File tree

4 files changed

+26
-12
lines changed

4 files changed

+26
-12
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ You can set options for customizing your documentations.
4343
"title": "",
4444
"description": "",
4545
"keyword": ""
46-
}
46+
},
47+
"linenums": true
4748
}
4849
```
4950

conf.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,12 @@
2323
"title": "",
2424
"description": "",
2525
"keyword": ""
26-
}
26+
},
27+
"linenums": false
2728
},
2829
"markdown": {
2930
"parser": "gfm",
3031
"hardwrap": true,
3132
"tags": ["examples"]
3233
}
33-
}
34+
}

static/scripts/linenumber.js

+19-7
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,26 @@
44
var source = document.getElementsByClassName('prettyprint source');
55

66
if (source && source[0]) {
7-
source = source[0].getElementsByTagName('code')[0];
7+
var linenums = config.linenums;
88

9-
numbered = source.innerHTML.split('\n');
10-
numbered = numbered.map(function(item) {
11-
counter++;
12-
return '<span id="line' + counter + '"></span>' + item;
13-
});
9+
if (linenums) {
10+
source = source[0].getElementsByTagName('ol')[0];
1411

15-
source.innerHTML = numbered.join('\n');
12+
numbered = Array.prototype.slice.apply(source.children);
13+
numbered = numbered.map(function(item) {
14+
counter++;
15+
item.id = 'line' + counter;
16+
});
17+
} else {
18+
source = source[0].getElementsByTagName('code')[0];
19+
20+
numbered = source.innerHTML.split('\n');
21+
numbered = numbered.map(function(item) {
22+
counter++;
23+
return '<span id="line' + counter + '"></span>' + item;
24+
});
25+
26+
source.innerHTML = numbered.join('\n');
27+
}
1628
}
1729
})();

tmpl/source.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
?>
44
<section>
55
<article>
6-
<pre class="prettyprint source"><code><?js= data.code ?></code></pre>
6+
<pre class="prettyprint source <?js= env.conf.templates.linenums ? 'linenums' : '' ?>"><code><?js= data.code ?></code></pre>
77
</article>
8-
</section>
8+
</section>

0 commit comments

Comments
 (0)