mieki256's diary



2005/09/29(木) [n年前の日記]

#2 [hns] hns の引用部分を少し改造

_昨日メモした記事 を参考に。

/lib/HNS/Hnf/Command.pm を修正。CITE についての記述をこんな感じに。
# CITE
package HNS::Hnf::Command::CITE;
use vars qw(@ISA $Template $EndTemplate $NumAttr $IsOneline $AllowCommands
        $IsBeginSection $CountName $OmittableEnd $TemplateWithURI $EndTemplateWithURI);

@ISA = qw(HNS::Hnf::Command::Cite);
$NumAttr = 1;
$Template = qq(<blockquote>\n);
$TemplateWithURI = qq(<blockquote cite="%1">\n);
$EndTemplate = "</blockquote>\n";
$EndTemplateWithURI = qq(<p class="cite_source"><cite><a href="%1">%content</a>より</cite></P></blockquote>\n);
$AllowCommands = [$HNS::Hnf::Command::Entities{'Flow'}];

sub AsHTML ($$$){
    my ($self, $start, $params) = @_;
    my $uri = $self->{attr}->[1];
    if ($uri) {
        $Template = $TemplateWithURI;
        $EndTemplate = $EndTemplateWithURI;
    }
    my $uri_title = $self->{attr}->[2];
    if (! $uri_title){
        $self->{attr}->[2] = $uri;
    }
    return $self->SUPER::AsHTML($start, $params);
}

この日記ページは、外部cssファイルを読み込んでるので、下のような指定を追加。
blockquote p.cite_source {
	margin-top:0.5em;
	color:#888;
	text-align:right;
	font-size:small;
	font-weight:normal;
	_font-size:x-small;
}

blockquote p.cite_source cite {
	font-style:normal;
}

blockquote p.cite_source cite a {
	color:#99f;
}
blockquote p.cite_source cite a:link {
	color:#99f;
}
blockquote p.cite_source cite a:visited {
	color:#a6e;
}
blockquote p.cite_source cite a:hover {
	color:red;
}

hnf 中での使い方は、

CITE 引用元URL 引用ページのタイトル
引用部分
/CITE

といった感じ。 *1

ついでに xyzzy 用 インチキ hnf-mode.l も修正 :

hns-mode? hnf-mode? まあいいや。 _色分け表示部分だけ修正 、というか色分けしかしてないけど。

emacs 用の hnf-mode.el ってどのくらい便利なんだろう。カレンダーにマウスカーソルを合わせるとその日の日記の記事タイトルが表示されたり、LINK #{xxxx,xx,xx} 等がクリップボードにコピーされたり、等の機能があったりするのかもしれない、などと夢想。… emacs だからマウスは使わないわな。<そういう問題じゃない。

2005/11/19 追記:期待した動作になってなかったので修正 :


*1: 使い方を記述しようとしたけど、PRE の中に CITE は書けないのか。仕方ないので TAG コマンドで記述。

以上です。

過去ログ表示

Prev - 2005/09 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project