Thread Modul für Anzeige des Perl-Codes gesucht: mit farbiger Syntaxdarstellung (9 answers)
Opened by GwenDragon at 2005-02-13 13:41

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/

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