本文へジャンプする
カテゴリー選択 »
全てを表示
Tips
その他
スキン
ピックアップ
プラグイン
レビュー
全てのタグ一覧 »
一覧を開閉する
プラグイン
ハック
スパム
fancyurl
TrackBack
List
TodoList
LinkCounter
Related
Blacklist
Plain
タグ
Counter
ArchiveIndex
v2.5b
SimpleTag
スキン
javascript
UTF-8
LinkList
mixi
v3.3
Markdown
SNS
デバッグ
カテゴリー
OpenID
CSS
NoRobotComment
google
IncludeEX
xrea
RSS
v2.0
MixiAddDiary
インストール
bookmarklet
MultipleCategories
v3.1
P3P
ライブラリ
v3.2
JSEncode
HideChars
Benchmark
ブログ別
MySQL
SimpleURL
PHP
スキン変数
サブドメイン
Container
ログ
クラスター
ProtectByMD5
メールアドレス
合宿
HideCommentMailAddr
CommentLink
集計
MarkdownEditor
コメント追跡
ItemFormat
YADIS
CustomURL
クロスドメイン
テンプレート
mod_rewrite
robot
ShowBlogs
固定リンク
スクリーンショット
日本語訳
API
plugin
セットアップ
nucleus
phpMyAdmin
文字化け
コメントの最大量
ReplaceTab
SQLite
テンプレート変数
ContentsList
リファラー
CommentControl
携帯
ウェブ
HighlightSource
アイコン
2カラム
Calendar
GZip
移行
BOM
« コアの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のカスタマイズに関してここのブログに大変お世話になっています。 僕も誰かの役に立て...

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

ページの先頭に戻る