2009-08-22 3 views
7

Le code de formatage L<name> vous permet de définir le texte d'affichage pour le lien si vous liez à d'autres POD, comme dans L<Display Text|link_dest>, mais ce n'est pas autorisé pour L<scheme:...> liens, tels queComment puis-je avoir du texte de lien avec une URL dans le L <> de Pod?

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

Comment Je spécifie un texte d'affichage pour de tels liens? Sinon, comment écrire manuellement un tel lien sans que les chevrons ne soient protégés par le code HTML pod2html?

Répondre

1

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

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

Comme vous le soulignez, il semble que cela devrait fonctionner, mais peut-être que j'ai mal compris votre question?

EDIT: Il semble que pod2html n'aime pas cette approche.
J'ai trouvé une solution un peu plus impliqué dans,

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(); 

Je l'ai testé cela et il semble avoir aucun problème interpoler html générique, de sorte que vous n'avez pas réellement besoin L e < > tag du tout. Cela semble être une solution décente pour moi.

+1

J'ai essayé ceci avec cette construction - L <foo> mais l'exécution de pod2html donne l'erreur suivante:/opt/local/bin/pod2html: debugging.pod: impossible de résoudre L << a href = "http: //perldoc.perl .org/strict.html "> au paragraphe 6. Est-ce que je fais quelque chose de manifestement faux? –

1

Si vous voulez faire quelque chose de spécial avec votre Pod, il est très facile d'écrire un traducteur de Pod. La plupart du travail est déjà fait pour vous dans Pod :: Simple, vous n'avez donc besoin de gérer que les cas pour L<>. Il y a un chapitre dans Mastering Perl à ce sujet.

1

Vous étiez si près! Il vous manque un espace requis entre les deux chevrons et l'URL. Essayez ceci:

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

L'espace supplémentaire est obligatoire selon perldoc perlpod (faire défiler vers le bas de here pour le trouver):

"A more readable, and perhaps more "plain" way is to use an alternate set of delimiters that doesn't require a single ">" to be escaped. With the Pod formatters that are standard starting with perl5.5.660, doubled angle brackets ("<<" and ">>") may be used if and only if there is whitespace right after the opening delimiter and whitespace right before the closing delimiter! For example, the following will do the trick:"

 C<< $a <=> $b >> 
+0

Presque là-utiliser ce style fonctionne dans pod2text (perldoc), mais pod2html étouffe. Le format que j'utilise est L << Strict doc | http: //perldoc.perl.org/strict.html >>. –

Questions connexes