本文へジャンプする
カテゴリー選択 »
全てを表示
Tips
その他
スキン
ピックアップ
プラグイン
レビュー
Tipsのタグ一覧 »
一覧を開閉する
プラグイン
ハック
v2.5b
UTF-8
fancyurl
v3.3
スキン
インストール
v2.0
TrackBack
デバッグ
xrea
bookmarklet
スパム
MySQL
Blacklist
v3.2
ログ
スキン変数
v3.1
RSS
ブログ別
文字化け
コメント追跡
BOM
CustomURL
MultipleCategories
mod_rewrite
コメントの最大量
google
Javascript
ライブラリ
Markdown
CSS
phpMyAdmin
nucleus
robot
固定リンク
テンプレート
スクリーンショット
サブドメイン
テンプレート変数
PHP
Counter
移行
P3P
セットアップ
リファラー
« コアのURL生成 でもうひとつ
コアのURL生成 の改良 続編 »

ブログツール、NucleusCMSに関する情報を掲載

[引っ越しました] 過去記事を datoka.jp/old にまとめてます。
ブログだとか
Nucleusだとか
制作物だとか

この記事の概要

google-code-prettify

これをさくっとMarkdownなHTML出力に合わせてみたよ。というのをこっちに適用するのをうっかりわすれてた。

google-code-prettifyというのは、ソースコードを色分け表示してくれるJavascriptライブラリ。NP_HilightSourceのような処理をクライアントサイドでやってくれて便利。
google-code-prettify自体はREADME(英語)を見てもらえればわかるように使い方は単純なんですが、preタグかcodeタグにclass="prettyprint"をつけないといけないので、そこを自動的にjsで振ってくれるようにごにょごにょしてみました。

導入はカンタン。以下はその説明です。

まずは上記のgoogleのところからファイルをダウンロード。prettify.css と prettify.js をskinディレクトリ直下に置きます。直下に置いたのは、スキンを換えたときも適用しやすくするため。

スキンのheadタグ内に以下のコードを挿入。ここは上記ファイルの読み込み指示と、prettyPrepare()ファンクションの定義。これでMarkdownが生成する<pre><code><pre><code class="prettyprint">にらくちん自動変換。スキン直下は"../"という書き方でディレクトリ階層を一段上がればOK。

<!-- google-code-prettify -->
<link href="<%skinfile(../prettify.css)%>" rel="stylesheet" type="text/css"/>
<script src="<%skinfile(../prettify.js)%>" type="text/javascript"></script>
<script type="text/javascript">
function prettyPrepare() {
    var o = document.getElementsByTagName("pre");
    for (var i=0; i<o.length; i++) {
        if (o[i].firstChild.tagName.toLowerCase() == "code") o[i].firstChild.className = "prettyprint";
    }
}
</script>

あとはbodyタグを

<body onload="prettyPrepare();prettyPrint();">

にしてjsを呼び出すだけ。

コメント一覧

この記事にコメントはありません。

トラックバック一覧

[Trackback] [Nucleus][MODx]google-code-prettifyでソースコードの色分け表示

以下参照 [google-code-prettify で ソースコード表示 を修飾](http://nucleus.datoka.jp/item/975) 最近、Nucleusのカスタマイズに関してここのブログに大変お世話になっています。 僕も誰かの役に立て...

関連がありそうな記事一覧

ページの先頭に戻る