Revision 5ada8632
Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt
SL/Template.pm | ||
---|---|---|
return 1;
|
||
}
|
||
|
||
sub _parse_config_option {
|
||
my $self = shift;
|
||
my $line = shift;
|
||
|
||
$line =~ s/^\s*//;
|
||
$line =~ s/\s*$//;
|
||
|
||
my ($key, $value) = split m/\s*=\s*/, $line, 2;
|
||
|
||
if ($key eq 'tag-style') {
|
||
$self->set_tag_style(split(m/\s+/, $value, 2));
|
||
}
|
||
}
|
||
|
||
sub _parse_config_lines {
|
||
my $self = shift;
|
||
my $lines = shift;
|
||
|
||
my ($comment_start, $comment_end) = ("", "");
|
||
|
||
if (ref $self eq 'LaTeXTemplate') {
|
||
$comment_start = '\s*%';
|
||
} elsif (ref $self eq 'HTMLTemplate') {
|
||
$comment_start = '\s*<!--';
|
||
$comment_end = '>\s*';
|
||
} else {
|
||
$comment_start = '\s*\#';
|
||
}
|
||
|
||
my $num_lines = scalar @{ $lines };
|
||
my $i = 0;
|
||
|
||
while ($i < $num_lines) {
|
||
my $line = $lines->[$i];
|
||
|
||
if ($line !~ m/^${comment_start}\s*config\s*:(.*)${comment_end}$/i) {
|
||
$i++;
|
||
next;
|
||
}
|
||
|
||
$self->_parse_config_option($1);
|
||
splice @{ $lines }, $i, 1;
|
||
$num_lines--;
|
||
}
|
||
}
|
||
|
||
sub parse {
|
||
my $self = $_[0];
|
||
local *OUT = $_[1];
|
||
... | ... | |
my @lines = <IN>;
|
||
close(IN);
|
||
|
||
return 0 if (!$self->parse_first_line($lines[0]));
|
||
$self->_parse_config_lines(\@lines);
|
||
|
||
my $contents = join("", @lines);
|
||
|
doc/dokumentenvorlagen-und-variablen.html | ||
---|---|---|
<li><a href="dokumentenvorlagen-und-variablen.html#zuordnung_dateinamen">
|
||
Zuordnung von Dateinamen zu den Funktionen</a></li>
|
||
|
||
<li><a href="dokumentenvorlagen-und-variablen.html#tag_style">
|
||
Anfang und Ende der Tags verändern</a></li>
|
||
|
||
<li><a href="dokumentenvorlagen-und-variablen.html#allgemeine_variablen">
|
||
Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a><br>
|
||
|
||
... | ... | |
<p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
|
||
zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
|
||
einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
|
||
<code><%variablenname%></code> verwendet wird.</p>
|
||
<code><%variablenname%></code> verwendet wird. Für LaTeX-
|
||
und HTML-Vorlagen kann man die Form dieser Tags auch
|
||
<a href="dokumentenvorlagen-und-variablen.html#tag_style">
|
||
verändern</a>.
|
||
</p>
|
||
|
||
<p>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
|
||
unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
|
||
... | ... | |
zum Inhaltsverzeichnis</a></small><br>
|
||
<hr>
|
||
|
||
<h2><a name="tag_style">
|
||
Anfang und Ende der Tags verändern</a></h2>
|
||
|
||
<p>Der Standardstil für Tags sieht vor, dass ein Tag mit dem
|
||
Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
|
||
Prozentzeichen und dem Größerzeichen endet,
|
||
beispielsweise <code><%customer%></code>. Da diese Form aber
|
||
z.B. in LaTeX zu Problemen führen kann, weil das Prozentzeichen
|
||
dort Kommentare einleitet, kann pro HTML- oder
|
||
LaTeX-Dokumentenvorlage der Stil umgestellt werden.</p>
|
||
|
||
<p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für
|
||
das Format gültigen Kommentarzeichen anfangen,
|
||
dann <code>config:</code> enthalten, die entsprechende Option setzen
|
||
und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
|
||
enden. Beispiel für LaTeX:</p>
|
||
|
||
<p><code>% config: tag-style=($ $)</code></p>
|
||
|
||
<p>Dies würde Lx-Office dazu veranlassen, Variablen zu ersetzen,
|
||
wenn sie wie folgt aussehen: <code>($customer$)</code>. Das
|
||
?quivalente Beispiel für HTML-Dokumentenvorlagen sieht so
|
||
aus:</p>
|
||
|
||
<p><code><!-- config: tag-stye=($ $)></code></p>
|
||
|
||
<small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
|
||
zum Inhaltsverzeichnis</a></small><br>
|
||
<hr>
|
||
|
||
<h2><a name="zuordnung_dateinamen">
|
||
Zuordnung von den Dateinamen zu den Funktionen</a></h2>
|
||
|
Auch abrufbar als: Unified diff
Die Option zum Setzen des Tag-Stils etwas verallgemeinert und dokumentiert.