Как я могу получить текст ссылки с URL в Pod's L <>? - PullRequest
7 голосов
/ 22 августа 2009

Код форматирования L<name> позволяет вам установить отображаемый текст для ссылки, если вы ссылаетесь на другой POD, как в L<Display Text|link_dest>, но это не разрешено для L<scheme:...> ссылок, таких как

L<http://perldoc.perl.org/strict.html>

Как указать отображаемый текст для таких ссылок? В качестве альтернативы, как мне вручную написать такую ​​ссылку, чтобы в угловых скобках не было HTML с правами pod2html?

Ответы [ 4 ]

4 голосов
/ 29 марта 2013

Правильный формат такой:

L<strict|http://perldoc.perl.org/strict.html>

См. Также http://justatheory.com/computers/programming/perl/sane-pod-links.html

1 голос
/ 23 августа 2009

Если вы хотите сделать что-то необычное с вашим Pod, действительно легко написать переводчик Pod. Большая часть работы уже выполнена для вас в Pod :: Simple, поэтому вам нужно обрабатывать только случаи для L<>. Об этом есть глава в Мастеринг Perl .

1 голос
/ 02 октября 2010

Вы были ТАК близко! Вам не хватает необходимого пробела между угловыми скобками и URL. Попробуйте это:

I think L<< http://example.com >> is the best site on the web!

Дополнительный пробел является обязательным в соответствии с perldoc perlpod (прокрутите вниз от здесь , чтобы найти его):

"Более читаемый и, возможно, более" простой "способ заключается в использовании альтернативного набора разделителей, для которого не требуется экранировать ни одного"> ". Стандартные средства форматирования Pod, начиная с perl5 .5.660, двойные угловые скобки ("<<" и ">>") могут использоваться тогда и только тогда, когда есть пробел сразу после открывающего разделителя и пробел непосредственно перед закрывающим разделителем! Например, следующие действия помогут: «

       C<< $a <=> $b >>
1 голос
/ 23 августа 2009

http://perldoc.perl.org/perlpod.html#Formatting-Codes

L<<a href="http://www.perl.org/">http://www.perl.org/</a>>

Как вы указали, похоже, это должно сработать, но, возможно, я неправильно понял ваш вопрос?

EDIT: Похоже, что pod2html не нравится такой подход.
Я нашел немного более сложное решение в,

https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/howdoi/?p=114


#!/usr/bin/perl                                                                                                              
use strict;
use warnings;
use Pod::2::html;


my $pod_file =  $ARGV[0];
my $template =  $ARGV[1];

# Create pod2html object                                                                                                    
my $pod = Pod::2::html->new($pod_file);

# The path to the HTML template                                                                                             
$pod->template($template);

# The formatted HTML will go to STDOUT                                                                                      
$pod->readpod();

Я проверил это, и, похоже, нет проблем с интерполяцией универсального html, так что вам вообще не нужен тег L <>. Мне кажется, это достойное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...