- 1. 改行の調整
- 2. prism.js をいじる
1. 改行の調整
#include <stdio.h>
int main(int argc, char* argv[])
{
print("Hello World!");
return 0;
}
と表示させるのに
<pre class="line-numbers"><code class="language-c">#include <stdio.h>
int main(int argc, char* argv[])
{
print("Hello World!");
return 0;
}</code></pre>
と書くのではなく
<pre class="line-numbers"><code class="language-c">
#include <stdio.h>
int main(int argc, char* argv[])
{
print("Hello World!");
return 0;
}
</code></pre>
と書きたいのですよ。
2. prism.js をいじる
prism.js をいじるのですが、minify 化されていますので、いったん
「Pretty Diff」
あたりで読みやすくします。
その上で
var s = t.textContent,
u = {
code : s,
element : t,
grammar : l,
language: i
};
if (n.hooks.run("before-sanity-check", u), !u.code || !u.grammar)
を下記のように書き換えます。
var s = t.textContent,
u = {
code : s,
element : t,
grammar : l,
language: i
};
var str = u.code;
var a = str.slice(1);
u.code = a.slice(0, -1) ;
if (n.hooks.run("before-sanity-check", u), !u.code || !u.grammar)
9~11行で、コードの先頭一文字と末尾一文字を削除しています。
弊害で、ハイライトで指定する行が1行ずれてしまいます。
また、改行をいれずに記述すると、先頭・末尾が1文字ずつ削られてしまうので注意が必要です。
|