拙い知識ながら、bloggerのテンプレートをいじったり、それをブログに書いたりしていて、なんとかコードは貼れるように覚えてきたけど、もう少し見やすく出来ないものかと考えて、自動的に見やすくしてくれるように、Google-code-prettifyなるものを使ってみることにしました。
↓こんな感じに・w・
<pre class="prettyprint linenums"> (コード) </pre>
参考にさせて頂いたサイト。
■【tips! | google-code-prettifyでシンタックスハイライト】
■【クリボウの Blogger Tips: コードをハイライトする「Code Prettify」ウィジェット】
■【ゾウ科マンモス属Zo-i種» Blog Archive » Code Prettifyでコードをハイライト化(その2)】
手順としては、
1.) 【Downloads - google-code-prettify - syntax highlighting of code snippets in a web page - Google Project Hosting】から「prettify-small-1-Jun-2011.tar.bz2」をダウンロード。
・簡略化なのか、サイズの小さいもので導入しました。
2.) 中にある「prettify.css」の編集(メモ帳などで可能です。)、その後アップロード。
・これは、デフォルトだと、【prettyprint linenums】とpreタグを指定した時に、行番号が5ずつしか表示されないので、1ずつ表示させたいので一部編集しました。
3.) HTMLにコードを追加。
4.) bloggerのテンプレートデザイナー→カスタムCSSの追加で、スタイルを好みに合わせます。
以上ですね。後はひたすらちゃんと表示されるか確認してました・w・
後、テンプレートのバックアップは忘れないようにしておきます。
1.) ファイルのダウンロード
■まずは、上であげたGoogleのサイトから、構成ファイルをダウンロードします。
2種類あるのですが、下にある「Minimized source files」と説明のある方でいいようです。
ファイルは圧縮ファイルになっているので、解凍します。
2.) 「prettify.css」の編集、アップロード
※行番号をつけたりしない、もしくは5行毎がいい場合は、この工程はパスしてください。
■ダウンロードしたフォルダの中にある「prettify.css」をメモ帳などで開きます。
ここで、スタイルを全て編集してしまってもいいのですが、テンプレートデザイナーを利用して後で決めたほうが、プレビューを見ながら変更できるので、行番号の為だけに編集します。
.pln{color:#000} @media screen{.str{color:#080} .kwd{color:#008} .com{color:#800} .typ{color:#606} .lit{color:#066} .pun,.opn,.clo{color:#660} .tag{color:#008} .atn{color:#606} .atv{color:#080} .dec,.var{color:#606} .fun{color:red}} @media print,projection{.str{color:#060} .kwd{color:#006;font-weight:bold} .com{color:#600;font-style:italic} .typ{color:#404;font-weight:bold} .lit{color:#044} .pun,.opn,.clo{color:#440} .tag{color:#006;font-weight:bold} .atn{color:#404} .atv{color:#060}} pre.prettyprint{padding:2px;border:2px solid #333631} ol.linenums{margin-top:0;margin-bottom:0} li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none} li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}ファイルを開くとこんな内容になっています。メモ帳で開くと、改行されずにつながってるので、もう少しカオスですが。
この中の
li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}この部分を・・・
/* li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none} */このように「/* */」で挟んでコメントアウトしてあげます。
挟んだら、上書き保存か、別ファイル名を付けて保存します。
■次はファイルをアップロード。googleサービスで、サイト作成も無料で可能ですので、アップロード用のURLを作っておくと便利でした。
そのような適当なサイトにダウンロードしたファイルをアップします。
3.) HTMLにコードを追加
■次に「HTMLの編集」でテンプレートを開いて、
・「</head>」タグのすぐ上に
<link href='アップロードしたURL/prettify.css' rel='stylesheet' type='text/css'/> <script src='アップロードしたURL/prettify.js' type='text/javascript'/>このようにコードを追加します。
・そして、「<body --省略--(bodyだけの場合ももちろんあります)>」の最後の部分に
【onload='prettyPrint()'】と付け足します。
<body expr:class='"loading" + data:blog.mobileClass' onload='prettyPrint()'>例としてこんな感じに。
4.) bloggerのテンプレートデザイナー
→カスタムCSSの追加で、スタイルを好みに合わせます。
■最後に、好みのスタイルで表示するように、カスタムCSSからコードを追加します。
プレビューがリアルタイムで見られるので、変更に便利です。
今の設定・・・
/* code-prettify */ pre.prettyprint, code.prettyprint { background-color: #fffffc; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } pre.prettyprint { width: 95%; margin: .8em; auto; word-wrap: break-word; white-space: pre-wrap; overflow: auto }今、わたしが設定している内容がこんな感じです。(2012/04/30現在)
・バックグラウンドの色を変え(投稿記事の背景色と合わせています)
・radiusで枠線に丸みを付けています。←これはCSS3の設定なので、IEでは確か反映されません。
・下3行は【tips! | CSS3「word-wrap: break-word」とCSS2.1「white-space: pre-wrap」】を参考して、追加しました。
スタイルは、以下のサイトでサンプルが見られますので、それぞれのCSSを参考にするといいと思います。
【Prettify Themes Gallery】
以上で導入完了ですが、実際に使うにあたって、
【クリボウの Blogger Tips: コードをハイライトする「Code Prettify」ウィジェット】
クリボウさんのサイトで、コード変換用javaを使わせて頂いてます。
載せたいコードを変換して、先頭の
<pre class="prettyprint">を
<pre class="prettyprint linenums">このようにすると行番号が表示されます。
元のままで使えば、行番号は付かないので、使い分ける場合はそのようにどうぞ。
以上です。
参考にさせて頂いたサイトの方々、ありがとうございました!
0 件のコメント:
コメントを投稿