Drkcore

20 09 2007 perl Vox Tweet

vxでタグが入れられるようにしてみた

Voxクライアントが便利だが、タグ付けできなくてちょっと不便なので入れられるようにしてみた。それぞれのエントリみると

<category term="test" label="test" />

みたいに組めばよさそうだったので、blog.nomadscafe.jpを参考に。

my $entry = XML::Atom::Entry->new;
$entry->title($title);
my $category = XML::Atom::Category->new(Version=>1);
$category->term('life');
$category->label('life');
$entry->category($category);
$entry->content($content);

これだと、なぜかタグが反映されない。なんでかなーと調べてたらSix Apartの野良プラグインにヒントが あった。

<dc:subject xmlns:dc="http://purl.org/dc/elements/1.1/">life</dc:subject>

が正しいらしい。なので修正したら動いた。

use constant NS_DC => 'http://purl.org/dc/elements/1.1/';

...

my $entry = XML::Atom::Entry->new;
$entry->title($title);
$entry->content($content);
my @tags = split /,/, $category;
my $dc = XML::Atom::Namespace->new( dc => NS_DC );
foreach my $tag (@tags) {
  $entry->add( $dc, 'subject', $tag);
}

オプションでタグを選べるようになった

$ vx -t 英語ネタ -c english,life "fortranner の goto は \
ロードランナーの穴掘り。たまに掘った穴に埋まる"

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021