「Blogger」投稿記事にソースコードをかっこよく貼り付けたい

Bloggerでブログをやっていて、ソースコードを割と記事に使うことが多くなり、他のブログでもやってるようなソースコードの貼り付けをやりたくなりました。 


調べてみると、「Google-code-prettify」というものがあり、こちらを使用すると、割とかっこよくソースコードを投稿記事に貼り付けられるようなので、試してみました。

折角なので、この記事にもソースコードを貼り付けながら、記事2したいと思います。


「Google-code-prettify」を読み込む

ブログのテンプレート<head>~</head>内、または「HTML&JavaScript」のガジェットを追加して、以下のソースコードを貼り付けて、「Google-code-prettify」を使用できるようにします。

<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script>

このJavaScriptを貼り付けないと始まらないので、重要です。


投稿記事で「Google-code-prettify」を適用させる

Bloggerで「Google-code-prettify」を使用できる準備はできましたが、実際に投稿記事でソースコードを使用するには、「HTMLビュー」と「作成ビュー」を切り換えながら、編集を行う必要があります。

最初に、「作成ビュー」でソースコードを含んだ投稿記事を作成します。

理由は、Bloggerでは「作成ビュー」で、ソースコードを貼り付けると、特殊文字が自動的に置き換わってくれるので、ソースコードをそのままレイアウトして、あとから「Google-code-prettify」を適用させていくのが良いでしょう。

次のように、ソースコードを囲みます。「linenums」を記述してあげると、ソースコードに5行ごとに、行番号が表示されるようになる。

<pre class="prettyprint linenums">ソースコード</pre>

このタグで、ソースコードを囲めば、必要最低限のことが完了するので、まずはここまでやってみましょう。


行番号を1行ごとに表示したい

1行ごとに、行番号を表示させるには、スタイルシートに、以下のように記述しておく必要がある。

.prettyprint ol.linenums > li {
list-style-type: decimal;
/* または */
list-style-type: decimal-leading-zero;
}

少々面倒と感じるかもしれないが、行番号があるとわかりやすいので、おすすめしたい。

さて、複数行あるソースに適用させると、以下のように行番号が1行ごとに表示される。

console.log('Hello World') console.log('Hello World') console.log('Hello World') console.log('Hello World') console.log('Hello World')

細かいことは、さておき、だいぶ良い感じになってきた。
せっかくなので、もうちょい手を加えたい。


ソースコードを折り返したい

この投稿記事を書いた後に、気づいたことですが、ソースコードが長いと、枠から飛び出てします。

そこで、以下のように、CSSを追加しました。


pre { white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; > word-wrap: break-word; }


すると、現在のソースコードのように、折り返されたので解決です。


「Google-code-prettify」のテーマを変更したい

「Google-code-prettify」の表示テーマを変更できると記載があっても、その変更方法がわかりにくくて、困っていませんか?

全然わからないわーって、なっていましたよ。
調べてみると、最初にJavaScriptを読み込む設定を行いましたが、実は以下のように変更する必要があります。

<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js?skin=sunburst"></script>

「run_prettify.js」の後に、「?skin=sunburst」と記述する必要があります。

Default(default)、Desert(desert)、Sunburst(sunburst)、Sons-Of-Obsidian(sons-of-obsidian)、Doxy(doxy)など、5つほど、テーマが紹介されているのを見かけますが、すべて小文字で記述しますので、注意しましょう。


また、テーマだけでなく、以下のように言語指定によって、スタイルが変わります。

<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js?lang=js&amp;skin=sunburst"></script>

上の「?lang=js&amp;skin=sunburst」のように、組み合わせて利用してみるのも良いかもです。

人気のある投稿記事

「Excel」カーソルの白十字を元に戻したい

「Excel」を使ったことはあっても、他人が使ってる「Excel」って、変な設定になってることがありませんか?例えば、カーソルが白い十字のままで、通常ならばセルの右下端をドラッグすることができ、連番を振ったりできるのに、それができないこととか。