.NETな開発日誌: BloggerでSyntaxHighlighterを使ってきれいにソースコードを表示する

2017年4月7日金曜日

BloggerでSyntaxHighlighterを使ってきれいにソースコードを表示する


ソースコードをHTMLできれいに表示する方法としてSyntaxHighlighterという選択肢があります。
鉄板ですね。
SyntaxHighlighterをBloggerに導入する方法をまとめてみました。

ステップは下記3ステップ
  1. テーマ(テンプレート)のカスタマイズ
  2. スタイルの選択
  3. ソースコードの記述
それでは以降ステップにそって説明します

1.テーマ(テンプレート)のカスタマイズ

テーマ→HTMLの編集 にて編集画面に移動します。



移動したら<head>タグのところに以下のHTMLを追加します。
    <link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
    <link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDiff.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushGroovy.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'/>
    <script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>
    <script language='javascript' type='text/javascript'>
     SyntaxHighlighter.config.bloggerMode = true;
     SyntaxHighlighter.all();
     SyntaxHighlighter.defaults['toolbar'] = false;
    </script>
なお上記HTMLのうち使用しない言語(shBrushxxx)は削除します(3行目以降のscriptタグ)。

2.スタイルの選択

2行目のlinkタグのshThemeDefault.cssの部分を変更することで表示のスタイルを変更することができます。スタイルはSyntaxHighlighterのテーマページにて確認できます。ちなみに本ブログはDefaultにて表示しています。
Default:shThemeDefault.css

Django:shThemeDjango.css

Eclipse:shThemeEclipse.css

Emacs:shThemeEmacs.css

Fade To Grey:shThemeFadeToGrey.css

Midnight:shThemeMidnight.css

RDark:shThemeRDark.css

3.ソースコードの記述

<pre>タグを使って書く方法と<script>タグを使って書く方法の2種類ありますが、当ブログでは<pre>タグを使って各方法を説明します。

<pre class="brush:[言語指定];">
//コードを書く
</pre>

preタグで囲った中にソースコードを記載します。なお、「<」や「>」などはエスケープ処理をします。私は面倒なので上記ソースを「HTML」編集画面で張り付けた後、「作成」画面にもどってソースを「//コードを書く」の部位にコピペしてます。
言語指定はこちら
Brush nameBrush aliasesFile name
ActionScript3as3, actionscript3shBrushAS3.js
Bash/shellbash, shellshBrushBash.js
ColdFusioncoldfusionshBrushColdFusion.js
C++cpp, cshBrushCpp.js
C#c-sharp, csharpshBrushCSharp.js
CSScssshBrushCss.js
Delphidelphi, pas, pascalshBrushDelphi.js
Diffdiff, patchshBrushDiff.js
ErlangerlangshBrushErlang.js
GroovygroovyshBrushGroovy.js
JavajavashBrushJava.js
JavaFXjfx, javafxshBrushJavaFX.js
JavaScriptjs, jscript, javascriptshBrushJScript.js
Perlperl, plshBrushPerl.js
PHPphpshBrushPhp.js
Plain Textplain, textshBrushPlain.js
PowerShellps, powershellshBrushPowerShell.js
Pythonpy, pythonshBrushPython.js
Rubyrails, ror, rubyshBrushRuby.js
ScalascalashBrushScala.js
SQLsqlshBrushSql.js
Visual Basicvb, vbnetshBrushVb.js
XMLhtml, xhtml, xml, xsltshBrushXml.js

モバイルデバイスでのレイアウトの適用について

標準の設定だとモバイルデバイスで表示した際には「SyntaxHighlighter」は適用されません。適用するには
「テーマ」→「モバイルの歯車」→「 はい。モバイル端末でモバイル テーマを表示する。 」→「モバイル テーマの選択」→「カスタム」に設定します。





0 件のコメント:

コメントを投稿

人気の投稿