FakeGist

| コメント(0)

http://gist.github.com/ は気軽にコードを貼付けることが出来て、かつバージョン管理も出来るという便利なサービスなので私もよく使っています。script タグを埋め込むと CSS によるシンタックスハイライトが奇麗なところもお気に入りです。

しかし、 script タグを使った埋め込みなので RSS リーダー (Google Reader や Livedoor Reader)では表示されないという悲しい現実が待っています。

そこで、http://gist.github.com/{id}.js が吐き出す document.write の内容をそのままに、<\/div> を </div> とか \u00A9 、\xA9 、\251 を © に変換するスクリプトを書いてみました。以下がそのスクリプトでそのスクリプトの HTML を吐き出した結果です。

更新 @nothingmuch から {id}.json という URL で Gist は JSONP を提供している教わったので、スクリプトを更新。(楽しかった)変換部分の処理がいらなくなってスッキリ。

更新その2 その後 {id}.pibb という URL で HTML がそのまま取れることが判明し、このスクリプトは闇に葬り去れました。合掌 http://gist.github.com/241709.pibb

#!/usr/bin/env perl
use strict;
use warnings;
 
use LWP::UserAgent;
use JSON::XS;
 
my $id = shift or die "Usage: $0 gistid (eg. $0 229521)";
 
my $ua = LWP::UserAgent->new;
my $uri = sprintf("http://gist.github.com/%d.json", $id);
my $res = $ua->get($uri);
 
die "That gist $id doesn't exist!" if $res->is_error;
 
my $json = JSON::XS->new->decode($res->content);
printf qq{<link rel="stylesheet" href="%s" />\n%s}, $json->{stylesheet}, $json->{div};
 
view raw gistfile1.pl This Gist brought to you by GitHub.

Comments

About Me

このブログは Masayoshi Sekimura によって書かれています。現在はサンフランシスコ市内に在住し Six Apart, Ltd. でエンジニアをしています。 このブログ以外にオンラインでやっている事は qootas.org/sekimura/ で見ることができます。 メールは sekimura+blog@gmail.com までどうぞ。

このブログ記事について

このページは、sekimuraがNovember 26, 2009 9:18 AMに書いたブログ記事です。

ひとつ前のブログ記事は「96時間(Taken): 2008」です。

次のブログ記事は「Avatar」です。

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

ウェブページ

Powered by Movable Type 4.26