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...
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-->