2006年 06月 10日

言及

そういえば最近言及とかしてない。言及というほどのものなんてしたことないけど、例えば「このサイトのこれ見てパクってみた」とか、「これ面白いなぁ」とか。というか a 要素を書いてない。

後者ははてブで殆ど気が済んじゃうんだよなぁ。前者は面白いものが最近いまいち見つからないからか。

2006年 03月 23日

CSS をでっちあげた。

今回は他人のものを使わず、安全に作ってみた。

  • IE でオーバーレイ検索がダサイ。
  • 日記以外のページの最初の見出しがきもい
  • Opera がおかしい。
2006年 03月 22日

ソースの色づけに伴い

コピペのしにくさが激しいので、オリジナルソースへのリンクをつけた。data スキームで飛ばす。

あるいはコピー用の Flash を使ったほうがいいかもしれない。

2006年 03月 18日

ソースの色づけを復活 2

GeSHi - Generic Syntax Highlighter を使うようにした。対応言語が多いことと、シンタックスファイルを増やし易いことがいい感じ。ただし時々 well-formed じゃないエラーがでることがあるっぽい。

2006年 03月 17日

ソースの色づけを復活

pre だけ色付けするようにした。

前に Pure JavaScript で色つけていたことがあったけど、あからさまにブラクラだった。で、なんとなく思いついたのでもっかい別の方法で実装してみた。

なんていうか非常にローテクといいますか他力本願な方法でして、PEAR::Text_Hightlighter に Ajax で丸投げというソリューションでございますです。

<?php
header("content-type: text/xml");
require_once 'Text/Highlighter.php';
require_once 'Text/Highlighter/Renderer/Html.php';
$options = array(
'numbers' => HL_NUMBERS_LI,
'tabsize' => 4,
);
$renderer =& new Text_Highlighter_Renderer_HTML($options);
$hl =& Text_Highlighter::factory($_GET["lang"]);
$hl->setRenderer($renderer);
$ret = $hl->highlight($_GET["source"]);
echo '<div xmlns="http://www.w3.org/1999/xhtml">';
echo $ret;
echo '</div>';
?>

こんなスクリプト書いたら、あとは JSpre 要素列挙して投げてあげる。レスポンスを importNode して、pre と置き換える。みたいな。

でもこんなクソ簡単なスクリプトなのに IE ではちゃんとうごかない。importNode がだめなのか、それとも responseXML から importNode ができないのか……謎。

あーHtml.php の &nbsp; は全部 &#160; に置き換えた。DTD がないからエラーになる。

2006年 03月 13日

taglibro の今後の予定

たぶんやらないけど、やりたいことを書いとく。

  • まず libxml-ruby を捨てて REXML を使う。もともと libxml-ruby を使おうと思ったのは REXML が名前空間をまともに処理してないからだったんだけど、名前空間とかどうでもよくなった。んで、libxml-ruby は Pure Ruby じゃないのでいちいち環境間で面倒くさい。REXML は標準添付だからその辺は心配ない。できるだけ Pure Ruby じゃない外部ライブラリを使わないようにしたい。
  • ちゃんとライブラリ化する。
  • 公開できるようにする。
2006年 03月 08日

認証付きコメント実装

この日記にもつけてみた。

結局大して書く人がいないだろうってことでログインごとにユーザー情報を保持している XML を更新し、それを XSLT から document() 使って読み込むようにした。

2006年 03月 04日

なんかもうめんどうくさい

なんか静的に XSLT で変換している /about とかの再構築さえめんどうくさくなってきた。動的にしたいなぁ。

って思って簡単な CMS (といえるものじゃない) を作ったんだけど、なんかいまいち使う気になれない。こうね、IPv4 と IPv6 の違いみたいになっちゃって、ね。要するに互換性がなくてめんどい。もちろんそれだけじゃなくて、URL とかを変えたくないから、mod_rewrite で全て CGI に渡すハメになるんだけど、なんで CGI でウェブサーバを再実装みたいなことをしないといけないんだって感じに。

もうね。例えばこれが自分のサーバーで、lighttpd で動いてて、FastCGI を使えるなら、まだ導入する気にもなれるんだけど、ね。だめね。もっと考えないとね。

2006年 03月 03日

コメントのポスト方法をちょっと変更

Ajax るようにした。UI がイマイチ。

  • Comments を押したらとりあえず消えて欲しい。
  • 投稿したあとガックンってなるのがちょっとキモイ。

なんかいい方法はないかなぁ。

Opera でおかしい。めんどいので Opera はじく。

なんだか、この今のスタイルがまずだめみたいで、Opera だと挙動不審になる。

クッキーに保存を実装しろといいたい。誰に。俺に。

Ajax のほうのフォームはクッキーに保存するようにした。Singleton Cookie オブジェクト

2006年 02月 24日

Google Adsense / XHTML

document.write を使ってるおかげで、application/xhtml+xml だと使えないあの広告コードをどうにかして導入する。

まー Keystone Websites: Making AdSense work with XHTML をまるパクって、/google-adsense.html を作って、あとは object 要素作っといた。

<xsl:template name="adsense">
<div class="google-adsense">
<xsl:choose>
<xsl:when test="$real-flavor = 'html'">
<script type="text/javascript"><xsl:comment><![CDATA[
google_ad_client = "pub-4629424540171624";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "000000";
google_color_bg = "F0F0F0";
google_color_link = "0000FF";
google_color_url = "008000";
google_color_text = "000000";
]]></xsl:comment></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</xsl:when>
<xsl:when test="$real-flavor = 'xhtml'">
<object
width="468"
height="60"
data="/google-adsense.html"
type="text/html"></object>
</xsl:when>
</xsl:choose>
</div>
</xsl:template>