日記/2020-12-17

最終更新時間:2020年12月17日 15時21分28秒

google-code-prettifyを使ったプラグイン

 

 FreeStyleWikiの本家のサイトに以下のようなプラグインが投稿されています。

  • BugTrack-plugin/376 google-code-prettify を使ったシンタックス・ハイライトです。

 このプラグインは、Googleが提供していたシンタックスハイライトのためのライブラリである「google-code-prettify」を利用したもの(左記のサイトを見ると「This repository has been archived and is no longer maintained.」なんて書いてありますが……)。
 でも、コメント欄に「1ページあたり複数回、同プラグインを記述するときに正しい結果になりません。」とあり、あまり使い勝手がよくなさそう。
 そこで、ちょこっと書き直して1ページに複数個書いても大丈夫にして、ついでに行番号表示にも対応してみました。

インストール

  • 以下のファイルをダウンロードし、解凍後、plugin以下にコピーしてください。
  • そのままでは行番号が5行おきにしか表示されません。毎行表示するためには以下をユーザー定義スタイルに設定してください。
.prettyprint ol.linenums li {list-style-type: decimal; }

使い方

 以下のようにブロックでくくるだけ。言語の指定を行う必要はありません。対応している言語はこちらを参照のこと。

{{pp
#! /usr/bin/perl
use strict;
use warnings;

print "Hello World.\n";
}}
#! /usr/bin/perl
use strict;
use warnings;

print "Hello World.\n";

{{ppl
#! /usr/bin/python

print("Hello World")
}}
#! /usr/bin/python

print("Hello World")

テーマ

 Install.pmの13行目でskinを「desert」に決め打ちで設定してます。

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

 他のテーマがいい場合は書き換えてください。