Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5ada8632

Von Moritz Bunkus vor etwa 17 Jahren hinzugefügt

  • ID 5ada8632263f93bfaa78d9136cc815fbeee95ead
  • Vorgänger e032c24a
  • Nachfolger 6555d5f7

Die Option zum Setzen des Tag-Stils etwas verallgemeinert und dokumentiert.

Unterschiede anzeigen:

SL/Template.pm
400 400
  return 1;
401 401
}
402 402

  
403
sub _parse_config_option {
404
  my $self = shift;
405
  my $line = shift;
406

  
407
  $line =~ s/^\s*//;
408
  $line =~ s/\s*$//;
409

  
410
  my ($key, $value) = split m/\s*=\s*/, $line, 2;
411

  
412
  if ($key eq 'tag-style') {
413
    $self->set_tag_style(split(m/\s+/, $value, 2));
414
  }
415
}
416

  
417
sub _parse_config_lines {
418
  my $self  = shift;
419
  my $lines = shift;
420

  
421
  my ($comment_start, $comment_end) = ("", "");
422

  
423
  if (ref $self eq 'LaTeXTemplate') {
424
    $comment_start = '\s*%';
425
  } elsif (ref $self eq 'HTMLTemplate') {
426
    $comment_start = '\s*<!--';
427
    $comment_end   = '>\s*';
428
  } else {
429
    $comment_start = '\s*\#';
430
  }
431

  
432
  my $num_lines = scalar @{ $lines };
433
  my $i         = 0;
434

  
435
  while ($i < $num_lines) {
436
    my $line = $lines->[$i];
437

  
438
    if ($line !~ m/^${comment_start}\s*config\s*:(.*)${comment_end}$/i) {
439
      $i++;
440
      next;
441
    }
442

  
443
    $self->_parse_config_option($1);
444
    splice @{ $lines }, $i, 1;
445
    $num_lines--;
446
  }
447
}
448

  
403 449
sub parse {
404 450
  my $self = $_[0];
405 451
  local *OUT = $_[1];
......
412 458
  my @lines = <IN>;
413 459
  close(IN);
414 460

  
415
  return 0 if (!$self->parse_first_line($lines[0]));
461
  $self->_parse_config_lines(\@lines);
416 462

  
417 463
  my $contents = join("", @lines);
418 464

  
doc/dokumentenvorlagen-und-variablen.html
48 48
  <li><a href="dokumentenvorlagen-und-variablen.html#zuordnung_dateinamen">
49 49
    Zuordnung von Dateinamen zu den Funktionen</a></li>
50 50

  
51
  <li><a href="dokumentenvorlagen-und-variablen.html#tag_style">
52
    Anfang und Ende der Tags ver&auml;ndern</a></li>
53

  
51 54
  <li><a href="dokumentenvorlagen-und-variablen.html#allgemeine_variablen">
52 55
    Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a><br>
53 56

  
......
133 136
 <p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
134 137
  zur Bearbeitung verf&uuml;gbaren Variablen. Eine Variable wird in
135 138
  einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
136
  <code>&lt;%variablenname%&gt;</code> verwendet wird.</p>
139
  <code>&lt;%variablenname%&gt;</code> verwendet wird. F&uuml;r LaTeX-
140
  und HTML-Vorlagen kann man die Form dieser Tags auch
141
  <a href="dokumentenvorlagen-und-variablen.html#tag_style">
142
   ver&auml;ndern</a>.
143
 </p>
137 144

  
138 145
 <p>Fr&uuml;her wurde hier nur &uuml;ber LaTeX gesprochen. Inzwischen
139 146
  unterst&uuml;tzt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
......
168 175
   zum Inhaltsverzeichnis</a></small><br>
169 176
 <hr>
170 177

  
178
 <h2><a name="tag_style">
179
   Anfang und Ende der Tags ver&auml;ndern</a></h2>
180

  
181
 <p>Der Standardstil f&uuml;r Tags sieht vor, dass ein Tag mit dem
182
  Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
183
  Prozentzeichen und dem Gr&ouml;&szlig;erzeichen endet,
184
  beispielsweise <code>&lt;%customer%&gt;</code>. Da diese Form aber
185
  z.B. in LaTeX zu Problemen f&uuml;hren kann, weil das Prozentzeichen
186
  dort Kommentare einleitet, kann pro HTML- oder
187
  LaTeX-Dokumentenvorlage der Stil umgestellt werden.</p>
188

  
189
 <p>Dazu werden in die Datei Zeilen geschrieben, die mit dem f&uuml;r
190
  das Format g&uuml;ltigen Kommentarzeichen anfangen,
191
  dann <code>config:</code> enthalten, die entsprechende Option setzen
192
  und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
193
  enden. Beispiel f&uuml;r LaTeX:</p>
194

  
195
 <p><code>% config: tag-style=($ $)</code></p>
196

  
197
 <p>Dies w&uuml;rde Lx-Office dazu veranlassen, Variablen zu ersetzen,
198
  wenn sie wie folgt aussehen: <code>($customer$)</code>. Das
199
  ?quivalente Beispiel f&uuml;r HTML-Dokumentenvorlagen sieht so
200
  aus:</p>
201

  
202
 <p><code>&lt;!-- config: tag-stye=($ $)&gt;</code></p>
203

  
204
 <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
205
   zum Inhaltsverzeichnis</a></small><br>
206
 <hr>
207

  
171 208
 <h2><a name="zuordnung_dateinamen">
172 209
   Zuordnung von den Dateinamen zu den Funktionen</a></h2>
173 210

  

Auch abrufbar als: Unified diff