##########################################################################
# Benutzte Software und Hinweise                                         #
##########################################################################

- Html Help Workshop von Microsoft. Ein funktionierender Download-Link ist auf der MS-Webseite 
  derzeit nicht auffindbar. Die Suche fhrt entweder auf 404-Seiten oder andere allgemeine 
  Downloadseiten.  
  
- Eclipse IDE zum Bearbeiten des Quelltextes <https://www.eclipse.org/>.

- Die installierbare Version von draw.io <https://www.diagrams.net/>. Weiter 
  Hinweise weiter unten zum Thema svg beachten.

- Angepates ActivePerl-Paket fr die Skripte, Download des von mir genutzten Paketes 
  ist wahrscheinlich nur mit Account mglich. Bei anderen Perl-Distributionen mssen 
  ggf. noch Module aus dem CPAN bzw. dem Paketmanager nachinstalliert werden.
  <https://platform.activestate.com/Renton60/ActivePerl-5.36>

- Gimp Portable <https://portableapps.com/apps/graphics_pictures/gimp_portable>

Die Perlskripte *nicht* einfach so ausfhren. Am Anfang jedes Skriptes
steht ein Kommentar und Block mit "my <varname>=...", letzterer mu an die 
eigene Verzeichnisstruktur angepat werden. Die Skripte enthalten zwar 
Tests, ob alles korrekt ist, erfahrungsgem knnen aber Fehlersituationen 
auftreten, die beim Schreiben bersehen wurden. Deshalb *keine* Garantie, 
da sie unter allen Umstnden korrekt arbeiten.

##########################################################################
# Allgemein zum Hilfesystem                                              #
##########################################################################
Map:
#define IDH_FOO 10
#define IDH_BAR 20

Alias:
IDH_FOO=html\foo.html
IDH_BAR=html\bar.html

<https://files.gunsmoker.ru/files/downloads/delphi_chandler.pdf>
---------------------------------------------------------------------------
In importierten Hilfeseiten alle 

<object classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" type="application/x-oleobject">
        <param name="Keyword" value="AAAA" />
        <param name="Keyword" value="BBBB" />
</object>
 
entfernen, werden fr die Autoindex-Funktion benutzt. Beim Import wurde bereits eine 
Index-Datei erstellt, so da die Funktion ersteinmal unntig ist. Es gibt eine fatale Neben-
wirkung mit der Einstellung von Binary Index=<x>

No: Object wird nicht ausgewertet, 
Yes: Bei mehreren Ergebnissen innerhalb des Indexes wird im Auswahlfenster der Titel bei
     Verweisen auf Anker nicht angezeigt
Wahl: Yes, also fehlerhafte Verweise per Hand korrigieren
---------------------------------------------------------------------------
html-Anker:
Selbst vergebene Namen nach Schema

a_\w+_a

benennen und jeden Namen einmalig fr alle Seiten benutzten. Andernfalls gibt es evtl.
Probleme mit Suchen & Ersetzen, falls spter nderungen ntig sind. Der Konverter aus
dem alten Hilfesystem hat dafr das eigentlich veraltete name="" - Attribut benutzt,
sollte vorsichtshalber so belassen werden.  
---------------------------------------------------------------------------
Alle html-Dateien mit

<head>
  <meta http-equiv="X-UA-Compatible" content="IE=9">

als IE9-kompatibel markieren, es gibt sonst leichte Unterschiede in der Darstellung zu 
Standard-Seiten
---------------------------------------------------------------------------
Als Krcke fr Verweise auf Anker beim Aufruf von Hilfeseiten aus dem Hamster heraus
mittels der Id: 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head>
<meta http-equiv="X-UA-Compatible" content="IE=9">
<meta http-equiv="refresh" content="0; URL='foo.html#bar'" /> 
</head><body><a name="4711"></a></body></html>
---------------------------------------------------------------------------
VORSICHT BEIM BEARBEITEN DES INDEX IM HTML WORKSHOP!

Bei Verweisen auf Anker in den HTML-Dateien (foo.html#table) den Doppelklick auf den 
Eintrag vermeiden. Anschlieend fehlt bei dem Verweis der Anker, obwohl der Workshop
beim Beenden nicht fragt, ob die genderte Datei gespeichert werden sollen. Deshalb 
vorsichtshalber in so einem Fall das Speichern vermeiden. Problem bisher nur beim 
Index bemerkt, manuelles Bearbeiten ist wahrscheinlich am sichersten.   

*.hhc - Inhalt
*.hhk - Index

##########################################################################
# Hinweise zur Form, siehe auch Kommentare in styles.css                 #
##########################################################################

--> evtl. hilfreich fr c&p: https://www.webatic.com/html-entities-convertor 

--> FAQs je nach Aufbau des Textes in der Form
    <h1>berschrift  
    <b>Q: ...</b>
    <b>A:</b> ...
    oder wie andere Texte kapitelweise mit <h1>,<h2>,<h3>,<p> ... gegliedert

--> bei Links auf verschachtelte Menpunkte "a -> b -> c" immer die ganze Kette im <a>-Tag 

--> alle externen Links mit target="_blank" 

--> Links auf Skriptbefehle o.  mit <font class="..."><a>...</a></font>, damit die 
    Links die im css eingestellte Linkfarbe behalten, aber trotzdem die Festbreitenschrift
    bekommen

--> bei Links auf Skriptbefehle, Dateiname, ini-Sektionen und hnliches mglichst die 
    Anfhrungszeichen um das <a>..</a> herum, nicht innerhalb 

--> bei mit "hs2","list","code" markierten <font>...</font> mglichst die Anfhrungszeichen
    auch auerhalb des font-Tags

--> mehrzeilige Skripte mit <pre>, Einzge in Skripten bei Verschachtelungen 2 Zeichen, bei 
    mehrzeiligen Befehlen ja nach Optik

--> mglichst keine Syntaxhervorhebungen in <pre> durch <b> oder <i>

--> alles Programmlistingartiges mit <pre> (Wichtig: keine Leerzeichen hinter dem <pre> und vor 
    dem </pre>, sonst falsche Zeilenabstnde) vorformatieren, dabei den zugehrigen class-Style 
    fr die Farben auswhlen (derzeit hs2, code, list, doku).
       
--> Sortierte/Unsortierte Listen
    <li> immer abschlieen
    Listen <ul> <li> Text ... </li> </ul>
           <ol> <li> Text ... </li> </ol>
       
--> Fr spaltenweisen Text  Tabellen benutzen, auch bei sehr kurzen Texten, keine Formatierungen 
    zum Tabellenlayout im Quelltext, Benutzen von <thead> (falls Tabelle eine berschriftszeile 
    besitzt) und <tbody>. Bei greren Tabellen ggf. die Klassen "zebra" oder "verz"/"hoch" benutzen. 

--> Listenartige Einzge als Flietext mit p."einzugX", Abstnde zum vorherigen Punkt zustzlich 
    Klasse "abstand", z. B. in der hs2-bersicht benutzt

###################################################################################
# SVG                                                                             #
###################################################################################

- Erstellt mit der installierten Version von draw.io <https://www.diagrams.net/>.

- Bei Grafiken mit Links erst allen verlinkten Dateien den endgltigen Namen geben.
  Bisher keine brauchtbare Methode gefunden, die Links in den Grafiken automatisch 
  zu ndern. Umbenennen innerhalb der svg-Datei fhrt zu seltsamen Effekten beim
  Reimport nach draw.io, teilweise lassen sich die Dateien gar nicht importieren.
  <https://github.com/jgraph/drawio-desktop/issues/407>

- Vor dem svg-Export alles markieren und kontrollieren, ob bei den Texten die 
  Optionen "[ ] Automatischer Zeilenumbruch" und "[ ] Formatierter Text" deaktiviert
  sind, sonst Fehler bei der Anzeige des Textes in der chm-Datei

- Beim svg-Export "Gre: Diagramm", "[x] Transparenter Hintergrund" aktivieren, andere
  Optionen deaktivieren, Links als "Im neuen Fenster" 

- In den html-Quelltext in der Form
        <object data="../images/grafikname.svg"
                type="image/svg+xml"
        ></object>
  einfgen, Grenangaben wahrscheinlich eher strend (Object wird dann manchmal in
  einer Scrollbox angezeigt), A4 oder A5 als Vorlage in draw.io erzeugt in etwa
  eine fr die html-Hilfe passende Gre.

- Links in der Form "..\html\datei.html" angeben, dabei "[X] Im neuen Fenster ffnen"
  markieren, wird im Buildscript zu target="_parent" gepatcht (bisher reine s///-Ersetzung, 
  *kein* Parsen des svg-Quelltextes)
  