package Kwiki::Search::Spotlight; use Kwiki::Search -Base; our $VERSION = '0.01'; sub register { super; my $reg = shift; $reg->add(hook => 'page:store', post => 'update_index'); } sub update_index { my $search = $self->hub->search; my $page_name = $self->id; my $dir = $search->plugin_directory; io($dir)->mkpath; system "/bin/cp database/${page_name} ${dir}/${page_name}.txt"; } sub perform_search { my $search = $self->cgi->search_term; my $dir = io($self->plugin_directory)->absolute; [ map { s/$dir\///; s/\.txt$//; $self->hub->pages->new_page($_); } split(/\n/,`/usr/bin/mdfind -onlyin $dir "$search"`)]; } __END__ =head1 NAME Kwiki::Search::Spotlight - Use Spotlight as Kwiki search engine =head1 DESCRIPTION This Kwiki plugin requires Mac OS 10.4 (Tiger) to work. It use metadata command line executables to index your Kwiki pages and to performa search. =head1 SEE ALSO Spotlight: http://www.apple.com/macosx/features/spotlight/ mdfind =head1 COPYRIGHT Copyright 2005 by Kang-min Liu . This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See =cut