Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]432[/thread]

Modul für Anzeige des Perl-Codes gesucht: mit farbiger Syntaxdarstellung

Leser: 1


<< >> 10 Einträge, 1 Seite
GwenDragon
 2005-02-13 13:41
#4372 #4372
User since
2005-01-17
14757 Artikel
Admin1
[Homepage]
user image
Gibt es eigentlich für Perl ein Modul, das ,wie bei PHP, die Source farbig darstellt?
Anwendungsgebiet: Codebeispiele für Newbies farbig darstellen u. ä.



//Edit: Arggh, das sollte Modul im Titel heißen!\n\n

<!--EDIT|GwenDragon|1108295086-->
format_c
 2005-02-13 14:56
#4373 #4373
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Also ein modul kenn ich nicht. Aber du kannst ein externes Programm dafür verwenden auf Command Prompt bzw. STDIN und STDOUT.

Die Seite war gar nicht so leicht zu finden: src-highlight

Gruß Alex\n\n

<!--EDIT|format_c|1108299400-->
esskar
 2005-02-13 15:00
#4374 #4374
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich hab auch mal sowas geschrieben; aber nicht wirklich gut:

Wiki:Darstellung der Perl Syntax als HTML

benutzen wir auch so hier im forum!\n\n

<!--EDIT|esskar|1108299662-->
format_c
 2005-02-13 15:03
#4375 #4375
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Hehe. Aber nur für Perl oder?

Im PBoard wird aller dings das programm src-highlight verwendet.

gruß alex
esskar
 2005-02-13 15:08
#4376 #4376
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
jep;nur für perl
GwenDragon
 2005-02-13 15:09
#4377 #4377
User since
2005-01-17
14757 Artikel
Admin1
[Homepage]
user image
Nein ein Binary suche ich nicht. Nur für eine Webseite.
Ich dachte, es würde wohl ein Modul existieren.

Auf meiner Entwicklungsmaschine habe ich sowieso alles, was ich brauche.

Und ich habe keine Zeit, um einen Perl-Parser zu schreiben, der alles "schön bunt" macht. :(
esskar
 2005-02-13 15:12
#4378 #4378
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=GwenDragon,13.02.2005, 14:09]Und ich habe keine Zeit, um einen Perl-Parser zu schreiben, der alles "schön bunt" macht. :([/quote]
dann schau dir doch einfach mal mein modul an

Code (perl): (dl )
1
2
my $text = "Ein wenig funzt es ja";
print $text;
\n\n

<!--EDIT|esskar|1108300386-->
GwenDragon
 2005-02-13 15:20
#4379 #4379
User since
2005-01-17
14757 Artikel
Admin1
[Homepage]
user image
Oha, ich Dussel hab nicht daran gedacht, dass es hier ja noch ein Perl-Wiki gibt.

Sorry. Bin doch noch zu neu ;)
Und Danke an alle.

//Edit: Warum steht das Modul denn nicht im Wiki unter
PerlCommunityWiki » Wissensbasis » PerlModule ?\n\n

<!--EDIT|GwenDragon|1108301150-->
esskar
 2005-02-13 15:26
#4380 #4380
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=GwenDragon,13.02.2005, 14:20]
//Edit: Warum steht das Modul denn nicht im Wiki unter
PerlCommunityWiki » Wissensbasis » PerlModule ?[/quote]
tja... Geheimnis! :)\n\n

<!--EDIT|esskar|1108301236-->
Strat
 2005-02-13 16:32
#4381 #4381
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
es gibt ein paar perl-module fuer sowas auf CPAN, aber die habe ich nicht wirklich kapiert. deshalb verwende ich das syntaxhighlightning fuer meine vortraege (und - wie oben schon gesagt - das pboard) src-highlight (irgendwo von sourceforge) via server side includes...
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /usr/bin/perl
use warnings;
use strict;
use FindBin ();
use CGI ();

my $bin = 'd:\Programme\gnu\src-highlight\bin\source-highlight.exe';

my $cgi = CGI::->new();
my $code = $cgi->param('code') || '';
my $infile = "$FindBin::Bin/../codes/$code";

print "Content-type: text/html\n\n";

-f $infile or print("Error: $infile not existing\n"), exit;

#my $command = "$bin -i $infile -f xhtml -s perl -n";
my $command = "$bin -i $infile -f xhtml -s perl -n --css xhtml.css --no-doc";
unless (open (CMD, "$command 2>&1 |")) {
print "Error: $!\n";
} # unless
else {
print "<i>Code: $code</i><br>\n";
print qq~<div class="codeTable">\n~;
print while <CMD>;
close (CMD);
print "</div>";
} # else

und als css:
[html]
.codeTable {
width: 640px;
border: 1px solid black;
background-color : #dddddd;
}

/* highlight options */
.comment {
color: #9A1900;
font-style: italic;
}

.keyword {
color: #0000FF;
font-weight: bold;
}

.string {
color: 󱬰
}

.type {
color: ⚬
}

.symbol {
color: 󱬰
}

.cbracket {
color: #9A1900;
font-style: italic;
}

.function {
color:
font-style: bold;
}

.normal {
color: 𶐎
}

.number {
color: 󲡷
}

.preproc {
color:
font-style: bold;
}

[/html]
und binde codes folgendermaszen ein (z.B. seite.shtml):
[html]
<!--#include virtual="/cgi-bin/fc2.cgi?code=map_1.pl" -->
[/html]
das hat auch den vorteil, dass man die codes nur einmal liegen hat, und nicht einmal und ein zweites mal in html...\n\n

<!--EDIT|Strat|1108305378-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 10 Einträge, 1 Seite



View all threads created 2005-02-13 13:41.