
当コンテンツご覧いただくためには[最新版のAdobe Flash Player]のプラグインが必要です。
プラグインをお持ちでない方は[アドビ システムズ社のサイト]からダウンロードしてください。
また、当サイトでは、JavaScriptを使用しています。
ご覧になる際には、ブラウザの設定でJavaScriptを有効にしてください。
2009.03.18.23:35
コードシンタックスをハイライトさせる
phpのGeSHiを導入してみる。
SBBでコードシンタックスをハイライトさせたいと思い、
jsのライブラリとか考えたけど、ロード時に他でもjsを使っていて、
ヤマが「ハイライトはさせたいけど、ロードの負荷を軽減したい」ってんで
GeSHiを使う事にした。
が、MTのエントリーにphpのコードを毎回書くのは面倒なので
コンバートしてくれるMTのプラグインとか探してみたけど、
発見出来なかったので、プラグインを書く事にした。
それで、出来たのが、
たとえば
<geshi lang="言語を書く">
ここにコードを書く
</geshi>
と、エントリーに書くと、その部分をphpのコードに変換するというもの。
試しにphpでHello world!を書いてみると
<?php //php の Hello world! $hello = "Hello "; $world = "world!"; if($hello && $world) { print $hello . $world; } ?>
試しにas3でHello world!を書いてみると
package { import flash.display.Sprite; import flash.text.TextField; /** * ... * @author kaminaly */ public class DocumentClass extends Sprite { public function DocumentClass() { var textfield:TextField = new TextField(); textfield.text = "Hello world!"; addChild(textfield); } } }
こんな感じになった。
■現状の問題点とTODO
とりあえずだから、背景のスタイルもないし、
行番号もないのでその辺を整備。
ここまで作ってなんだけど、MTにHTMLのフォーマットをまかせると
<p>や<br />がコード混入にして、レイアウトが崩れるので、
改行などのHTMLを手打ちしなければいけない。(超面倒!!)
技術ネタ
kaminaly
0
![]()
このサイトは、Web制作会社 SHIFTBRAINのスタッフによる、日々の出来事を綴っていくBlogサイトです。
弊社の雰囲気を感じ取って頂けると幸いです。

