SyntaxHighlighterのVersion 4を試してみた

SyntaxHighlighter V4

ブログとかでよく見かけるコードをハイライトするSyntaxHighlighter、5年くらい前にはてなブログで使って見ようと一度検討して見送った経緯があるのですが、あらためて使って見ようと思い試してみました。

確かバージョン3くらいまではzipファイルをダウンロードして、jsファイルとcssファイルを配置するだけでよかったような、、、いつの間にか黒い画面でgit cloneとかgulpとか使って自分でビルドしなきゃいけなくなったらしく、それの覚え書きです。

ブログでよく見るこれです。
f:id:bleu-bleut:20170514205156p:plain

 

jsファイルとcssファイルのビルド

下のコマンドで、projectディレクトリ直下のdistディレクトリに、syntaxhighlighter.jsとdefault.cssができます。

  1.  
  2. $ mkdir project
  3. $ cd project
  4. $ git clone https://github.com/syntaxhighlighter/syntaxhighlighter.git
  5. $ cd syntaxhighlighter
  6. $ npm install
  7. $ ./node_modules/gulp/bin/gulp.js setup-project
  8. $ ./node_modules/gulp/bin/gulp.js build --brushes='all' --theme=default
  9. user@localhost
Building Options
オプション 説明
--brushes "all"とか"css,javascript"とか。
Official brushesはたくさんあります。 Brushes and Themes
--theme 選べる公式テーマは9種類、default, django, eclipse, emacs, fadetogrey, mdultra, midnight, rdark, swiftからどれか一つ
--compat バージョン3と互換性を持たせるようですが、試してません
--output 初期値 dist
出力先ディレクトリです
--help ヘルプ

 

jsファイルとcssファイルの設置、コードの記述

このあとは今までと設置の仕方、コードの記述の仕方はバージョン3の頃と変わってないんじゃないかと思います。

グローバルコンフィグsyntaxhighlighterConfigは、syntaxhighlighter.jsを読み込む前に指定します。

 
  1. <link type="text/css" rel="stylesheet" href="./path/to/default.css">
  2. <script type="text/javascript">
  3. syntaxhighlighterConfig = {
  4.   className: 'custom-class-name'
  5. };
  6. </script>
  7. <script type="text/javascript" src="./path/to/syntaxhighlighter.js">
  8. <pre class="brush: js; auto-links: false; first-line: 10; highlight: [2, 4]">
  9. function testFunction(){
  10. }
  11. </pre>
httpd.conf
Global Configuration
プロパティ 説明
className 初期値 null
ハイライトしたいテーブルに任意のクラスを付与できます
Per Element Configuration
プロパティ 説明
auto-links 初期値 true
URL形式のテキストを検出します
first-line 初期値 1
スタートの行番号です
gutter 初期値 true
行番号の有無を指定します
highlight 初期値 null
行のハイライトを[1, 2, 4]みたく、配列で指定します
html-script 初期値 false
公式インストラクションにshBrushXml.jsをロードする必要があるというのは、ビルドオプションの--brushにxmlを加えておくこと、という意味だと思います
smart-tabs 初期値 true
タブの自動挿入だと思うのですが動作確認できませんでした
tab-size 初期値 4
タブサイズです
※ コードを見ると他にも、title、quick-code、collapseというオプションがあるようですが、公式に記載されているものだけ載せています。

 

SyntaxHighlighterのデモ

ビルドするとできるdist/index.htmlがデモになっているのですが、、9種類のCSSの切り替えスイッチをつけて、同じくいつの間にかなくなっていたコピーボタンをつけて置いておきました。

f:id:bleu-bleut:20170514153047p:plain

 

おわり

いろいろと調べて試してみた結果、やっぱり今回もはてなブログで使うのはやめておくことにしました。

 

参照サイト

 

関連記事