google-code-prettifyを試してみた

2008年12月29日
| コメント(0) | トラックバック(1) google-code-prettifyを試してみた

Perlのソースをブログに書くために色々と調べてみた。

参考

あなたのソースコードを彩る、Syntax Highlighterまとめ - Blog.37to.net

で、今の状況で導入が比較的簡単そうな「google-code-prettify」を試してみることにした。

A Javascript module and CSS file that allows syntax highlighting of source code snippets in an html page.

README(Javascript code prettifier)のsetupをいい加減に訳すと、

  1. ファイル一式をダウンロードします。
  2. 適用するドキュメントに、スタイルシートとJavaScriptをインクルードします。linkタグやscriptタグで指定します。
  3. bodyタグのonloadに"prettyPrint()"を書きます。
  4. スタイルシートをお好みで変更します。

という感じです。

MovableTypeに適用する場合、色々と面倒なので、テンプレートのヘッダーのスタイルシートを読み込んでいるあたりに、新しいスタイルシートを直接読み込みました。
で、スクリプトのほうは、テンプレートのフッターのbodyの閉じタグの前で読み込み、その後prettyPrint()をそのまま実行することにしました。

あとは、実際のコードを書いた部分のpreタグかcodeタグのclassを「prettyprint」に指定すれば、その部分をハイライトしてくれるようです。

とあるスクリプトを改造して使っているのですが、それをソース表示してみます。

dl.pl

#!/usr/bin/perl
use strict;
use LWP::Simple;
use File::Basename;
use Digest::MD5 qw(md5_hex);
use Perl6::Say;
 
my $uri = shift or die "uri please!. ";
my $content = get($uri);
my @l = $content =~ m{<a.*?href="?(http://[^ ]+?\.jpe?g)"?}gi;# 苦肉の策
# my @l = $content =~ m{<a.*?href="(http://[^"]+\.jpe?g)"}gi;# オリジナル
my $dir = md5_hex($uri);
mkdir $dir or die unless -d $dir;
say "make dir   > " . $dir;
foreach (@l) {
    my $filename = basename($_);
    mirror($_, sprintf("%s/%s", $dir, $filename));
    say "save image > " . $filename;
    sleep 1;
};
open my $fh, ">", "$dir/uri.txt" or die;
print $fh $uri;
close $fh;

トラックバック(1)

このブログ記事に対するトラックバックURL:

このブログ記事を参照しているブログ一覧:

MENTAを追いかけ始めてからPerlだけじゃなく、Web開発に関して色々と資料... 続きを読む

コメントする

Google検索

Last.fm

このブログ記事について

このページは、のぶりんが2008年12月29日 22:48に書いたブログ記事です。

ひとつ前のブログ記事は「NANOChatのMENTA化、その3」です。

次のブログ記事は「jQueryを使ってgoogle-code-prettifyを自動的に適用してみた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.
Powered by Movable Type