Bloggerでgoogle-code-prettifyを使う

SyntaxHighlighterを使ってるんですがgoogle-code-prettifyなんてモノもあり、試しに使ってみた。

気になるところは文字コードが『Shift-JIS』なこと。

一応こんな感じで指定しといたので多分おk。(気休め?)

<script src='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js' type='text/javascript' charset='Shift_JIS'/>

ここを見てもらえば分かりますが、適用するスタイルはこれだけなので、テンプレートに直接ベタ貼り or ウィジェットとして追加すれば後に自分好みに書き換えるのが簡単です。

デフォルトのまんまでイイなら
<link rel="stylesheet" href="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css" type="text/css">
こいつを head タグ内に挿入して下さい。


onload時に読み込まなきゃいけないんだけど
こんな感じでタグの属性に追加するのが嫌だったんで...
<body onload='prettyPrint()'>

テンプレートにこんなん追加しました。
<script type='text/javascript'>
window.onload = prettyPrint;
</script>

こちらによると『pre』または『code』タグに『class="prettyprint"』とクラス属性を追加することで色付けされるんですが、『blockquote』じゃダメなの?と思い試しましたが... やはりダメでした。やはりタグも指定してたか…

『<span class="nocode">fuga</span>』
とすると色付けを無視してくれます。

気付いたことは『@echo off』なら問題ないんですが、
『string dir=@"C:\mydir";』のような『@』の使い方をするとバグりますね。

<span class="nocode">@</span>
とすれば回避できます。


実際に見てみると…

しょぼ~ぃ

自分で色変えなきゃ。そのためにCSSをテンプレートにベタばりしたんだけど。

C#

static IEnumerable IteratorMethod(string[] s)
{
    for(int i = 0 ; i < s.Length; i++)
    {
        yield return s[i];
    }
}

static void Main(string[] args)
{
    string[] ternarystar = {"Gaia", "Ortega", "Mash"};
    foreach (string s in IteratorMethod(ternarystar))
    {
        Console.WriteLine(s);
        //Gaia
        //Ortega
        //Mash
    }
}

CSS

body{
 color:#999;
 font-size:90%;
 font-family:Meiryo;
}
CSSは別途jsファイルが必要でした。
必要な方はこちらからどぞ。
クラス属性に『class="prettyprint lang-css"』必須です。

Javascript

function flash(){
 $('.fuga').fadeTo('slow', 0.4,
  function(){
  $(this).fadeTo('slow', 1.0, flash);
 });
};

ついでにこっちもタグの対応しときました。
私自身(しか?)が活用してるコードを投稿用に加工したりタグで囲んだりするものなんですが、あると結構便利です。
http://humming.bird.2k8.googlepages.com/replace_a_codestring_before_posting.html

0 Comments:

Recent Posts