# Example definition of tags that can be used in the coversheets # when using potential utf-8 strings, use the encode() method on the string: $c->{coversheet}->{tags} = { 'title' => sub { my ($eprint) = @_; return EPrints::Utils::tree_to_utf8($eprint->render_value('title')) ; }, 'type' => sub { my ($eprint) = @_; return EPrints::Utils::tree_to_utf8($eprint->render_value('type')); }, 'url' => sub { my ($eprint) = @_; return $eprint->get_url; }, 'date' => sub { my( $eprint ) = @_; if( $eprint->is_set( "date" ) ) { my $date = $eprint->get_value( "date" ); $date =~ /^([0-9]{4})/; return $1 if defined $1; } return ''; }, 'citation' => sub { my ($eprint) = @_; my $cit_str = EPrints::Utils::tree_to_utf8($eprint->render_citation,undef,undef,undef,1 ); return $cit_str; }, 'creators' => sub { my ($eprint) = @_; my $field = $eprint->dataset->field("creators_name"); if ($eprint->is_set( "creators_name" ) ) { return EPrints::Utils::tree_to_utf8($field->render_value($eprint->repository, $eprint->get_value("creators_name"), 0, 1) ); } elsif ($eprint->is_set( "editors_name" ) ) { $field = $eprint->dataset->field("editors_name"); return "Edited by: " . EPrints::Utils::tree_to_utf8($field->render_value($eprint->repository,$eprint->get_value("editors_name"), 0, 1) ); } else { return ''; } }, }; 1;