2009-08-22 5 views
7

Il codice di formattazione L<name> consente di impostare il testo visualizzato per il link, se si sta collegando ad altri POD, come in L<Display Text|link_dest>, ma questo non è consentito per L<scheme:...> i collegamenti, come ad esempioCome posso avere il testo del collegamento con un URL in L <> del pod?

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

Come fare Specifico un testo di visualizzazione per tali collegamenti? In alternativa, come posso scrivere manualmente un tale collegamento senza che le parentesi angolari vengano abilitate in HTML da pod2html?

risposta

1

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

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

Come fai notare, sembra che questo dovrebbe funzionare, ma forse ho frainteso la tua domanda?

MODIFICA: Sembra che a pod2html non piaccia questo approccio.
Ho trovato una soluzione un po 'più coinvolti in,

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

ho provato questo fuori e sembra avere alcun problema di interpolazione html generica, in modo che in realtà non c'è bisogno ° L < > tag a tutti. Questa mi sembra una soluzione decente.

+1

Ho provato questo con questo costrutto - L <foo> ma l'esecuzione di pod2html restituisce il seguente errore:/opt/local/bin/pod2html: debugging.pod: impossibile risolvere L << a href = "http: //perldoc.perl .org/strict.html "> nel paragrafo 6. Sto facendo qualcosa di sfacciato? –

1

Se vuoi fare qualcosa di elegante con il Pod, è davvero facile scrivere un traduttore Pod. Gran parte del lavoro è già stato fatto per te in Pod :: Simple, quindi devi solo gestire le custodie per L<>. C'è un capitolo in Mastering Perl a riguardo.

1

Eri così vicino! Ti manca uno spazio richiesto tra entrambe le parentesi angolari e l'URL. Prova questo:

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

Lo spazio aggiuntivo è obbligatoria in base alla perldoc perlpod (scorrere verso il basso da here per trovarlo):

"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

Quasi ci-usando quello stile funziona in pod2text (perldoc), ma si strozzano i pod2html. Il formato che sto usando è L << Strict doc | http: //perldoc.perl.org/strict.html >>. –