Schrift
[thread]4553[/thread]

Pod::2::html: Templatebasierte Umwandlung von POD



<< |< 1 2 >| >> 13 Einträge, 2 Seiten
esskar
 2005-11-02 22:32
#40742 #40742
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
gibts doch schon: CPAN:Pod::Html
Dubu
 2005-11-02 23:12
#40743 #40743
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Pod::Html und das zugehoerige Binary pod2html gehoeren sogar zum Standardumfang von Perl.
Dubu
 2005-11-03 00:23
#40744 #40744
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Pod::2::html (etwas komischer Modulname, oder?) ist auf jeden Fall noch etwas Arbeit.

Links (L<...>), Codeformatierung (C<...>) und Escapecodes (E<...>) werden wohl noch nicht unterstuetzt.
Alles wird in <pre> gesetzt, was weder schoen noch sinnvoll ist (Umbrueche aus dem POD-Quellen tauchen im HTML auf).
"=item *" wird falshc gesetzt (Umbruch hinter dem Item-Zeichen).
Dafuer werden die Formatierungscodes i<...>, b<...> und u<...> interpretiert, die es gar nicht gibt.

Im Modulcode tauchen unnoetig komplizierte Regexes auf (m/^=.*/, m/^=end\s+.*/ - was soll da jeweils das ".*"?).
Das Modul benutzt den Exporter, funktioniert aber trotzdem nur objekt-orientiert.
Zustandsvariablen fuer den Parser werden als Klassenvariablen statt Instanzvariablen angelegt. Das sollte zwar kein Problem bereiten, wirkt aber unschoen.
Es besteht soweit ich sehe keine Moeglichkeit, das Ergebnis nach STDOUT auszugeben.
Wenn die Methode template() nicht benutzt wird, gibt es keinen Fehler, aber eine leere Ausgabe.
Man hat im Template nur eine Variable fuer den gesamten POD-Text (<main>), aber nichts fuer den Dokumenttitel z.B.
Dubu
 2005-11-03 10:01
#40745 #40745
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=J-jayz-Z,03.11.2005, 02:34]Das mit =item ist mir noch gar nicht aufgefallen, dank dir.
[/quote]
An den Items habe ich auch etwas geknabbert, als ich das Perldoc-Plugin fuer unser Wiki ueberarbeitet habe. :)

Quote
Und das mit STDOUT geht, wenn man -output weglässt.

Ups, stimmt.
Als ich das ausprobiert habe, da hatte ich wohl noch den template()-Aufruf nicht drin und deshalb gar keine Ausgabe.
ptk
 2005-11-06 22:24
#40746 #40746
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Bevor du deinen eigenen Perl-Parser schreibst, solltest du lieber etwas Solides wie Pod::Simple verwenden.
ptk
 2005-11-09 19:44
#40747 #40747
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wenn du was lernen willst --- OK. Wenn du etwas veröffentlichen willst, dann solltest du auf bewährte Module zurückgreifen. Diese sind meistens wesentlich besser getestet, als wenn man es selbst macht. Und sieht Pod auch so einfach aus, es gibt genug Fallstricke, die andere Leute schon gelöst haben.
J-jayz-Z
 2005-11-02 22:06
#40748 #40748
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich habe ein kleines Modul geschrieben, mit dem man POD in HTML umwandeln kann. Und das mit der Nutzung einer HTML Templates.
Ich hab ein CPAN konformes Archiv gepackt, das man sich hier runterladen kann. Die Sourcen findet man im HTML Format nochmal hier. Über ein kleines Statement würde ich mich freuen !
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
J-jayz-Z
 2005-11-02 22:54
#40749 #40749
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Okay, hab ich wohl weniger gelesen, wie programmiert.
Das ist dann aber mal meine Version, über Statements würde ich mich trotzdem freuen !
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
J-jayz-Z
 2005-11-02 23:16
#40750 #40750
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
jo, wobei ich sagen muss, das es mich mit pod2html ziemlich geärgert hat, das man (oder ich ?) keine Möglichkeit hat, es in ein Template einzubetten
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
J-jayz-Z
 2005-11-03 03:34
#40751 #40751
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
An das mit den links, Codeformatierung und Escapes setze ich mich noch.
Das mit =item ist mir noch gar nicht aufgefallen, dank dir.

Und das mit STDOUT geht, wenn man -output weglässt.
Ich muss sagen, feine Kritik werde noch etwas basteln und deine Kommentare mit einbauen, melde mich dann wieder hier :)
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2005-11-02 22:32.