# RapidWeaver

RapidWeaver ist eine vorlagenbasierende Web-Engineering-Software von RealMacSoftware, die es ausschließlich für macOS gibt.
Zum Zeitpunkt seiner Veröffentlichung in 2004 war RapidWeaver das erste Programm, das zum Erstellen von Websites vom Nutzer wählbare und editierbare Vorlagen („Themes“) verwendete, sodass auch Nutzern ohne Programmierkenntnisse die einfache Erstellung optisch ansprechender Internetseiten möglich wurde. Das Programm erstellt mit integrierten Plug-ins verschiedene Seitentypen, welche in die Layout-Vorlagen eingebunden werden und mit deren Hilfe u. a. HTML-Dokumente und CSS exportiert werden können. Darüber hinaus sind ergänzende Plug-ins von Drittanbietern verfügbar. Beim Erstellen einer Seite kann RapidWeaver direkt auf die Bilder der Fotos.app von Apple zugreifen.
Die Websites werden lokal in einem proprietären Dokumenten-Paket gespeichert. Die eigentlichen Webseiten werden erst beim lokalen Export oder bei der Veröffentlichung mit Hilfe eines programminternen FTP-Uploads auf einen Server erstellt.

## Arbeitsweise

Das Programm erstellt eine rw-Datei, in der alle Inhalte (Texte, Bilder, Videos und Fotos) der Website gespeichert werden. Davon unabhängig liegen die zugekauften Designvorlagen als rwtheme-Datei in einem Benutzerverzeichnis, die mit RapidWeaver mitgelieferten Vorlagen liegen in der Programmdatei. Die rw-Dateien enthalten Informationen über den zugeordneten Seitentyp, den Inhalt, die Navigationsstruktur und die Designvorlagen. Die in einem Arbeitsmodus erstellte Website kann vom Nutzer in einer Vorschaufunktion betrachtet werden, die vom Webbrowser Apple Safari gerendert wird. Die Vorschaufunktion simuliert die Darstellung der Webseite auf verschiedenen Geräteklassen. Darüber hinaus kann eine Einzelseite direkt aus RapidWeaver in einem auf dem jeweiligen Rechner installierten Browser ausgegeben werden.
Die Website kann in ein lokales Verzeichnis exportiert oder auf einen FTP-Server hochgeladen werden. Beim lokalen Export oder dem Upload auf einen Server werden die für die Darstellung der Webseiten nötigen HTML-, CSS- und Javascript-Dateien und auch die Verzeichnisstrukturen der Website erstellt. Eingebundene Assets (Bilder, Videos, PDF-Dateien usw.) werden entweder zentral in einem eigenen Ordner „resources“ oder seitenbezogen in einem Ordner „files“ abgelegt.
Das Design aller Seiten eines Projektes wird von einem oder mehreren CSS-Styleheets definiert. Diese legt RapidWeaver beim Export zusammen mit anderen Dateien, welche bestimmte Funktionen steuern, in einem Verzeichnis „rw_commons“ ab. Stylesheets und Funktionen sind von der jeweils ausgewählten Designvorlage, aber auch von den jeweils gewählten Plugins abhängig. Das grundlegende Aussehen einer Seite kann nur durch den Wechsel zu einer anderen Designvorlage geändert werden. Für Detailänderungen bieten die meisten Vorlagen eine begrenzte Auswahl an Stiloptionen, Detailänderungen sind aber auch durch die Nutzung von benutzerdefiniertem Code (CSS, Javascript, PHP) möglich.
Eine von Designvorlagen unabhängigere Seitengestaltung ist durch Lösungen möglich, die auf dem Stacks-Plugin basieren. Diese Lösungen bauen auf bestimmten Frameworks auf und nutzen Designvorlagen nur noch zur Verknüpfung der einzelnen Elemente:
* FreeStacks
* BootSnap
* Foundation
* Pure

## Designvorlagen/„Themes“

RapidWeaver ermöglicht die Erstellung von Webseiten auf der Grundlage von Designvorlagen. Mit dem Programm mitgeliefert werden 52 Vorlagen, darüber hinaus können zahlreiche Vorlagen von Drittanbietern genutzt werden. Die Vorlagen sind in einer Vorlagenbibliothek organisiert und über einen programminternen Addon-Manager zugänglich. Die Vorlagen sind als Dateipakete mit der Endung .rwtheme aufgebaut und beinhalten folgende Dokumente bzw. Verzeichnisse:
* colour_tags.css: Ein Stylesheets, welches die index.html mit den Farbvorgaben der Vorlage verknüpft (dieses Dokument ist nicht in allen Vorlagen vorhanden)
* index.html: Variablen als Platzhalter für den einzubindenden Seiteninhalt sowie Informationen über verwendete externe Dateien (z. B. JavaScript)
* info.plist: Eine Voreinstellungsdatei, die Informationen über Themeversion und -entwickler bereitstellt
* javascript.js: zentral definierte JavaScript-Programmroutinen für verschiedene Teile der Website, (z. B. Fotoslideshows); spezifische Javascript-Dokumente für die browser- oder gerätespezifische Ausgabe der Webseite können auf der Root-Ebene des Vorlagen-Pakets abgelegt sein
* styles.css: zentrale CSS-Layout-Formatierungen; in der Vorlage können weitere Stylesheets definiert sein, zum Beispiel für optionale Farbeinstellungen oder die browser- oder gerätespezifische Ausgabe der Webseite usw.
* Theme.plist: Diese Voreinstellungsdatei verknüpft die in der Vorlage vorhandenen Dokumente und Elemente und ist für die Erstellung einer uploadfähigen Webseite verantwortlich
* in einem optionalen Ordner „css“ liegen die von der Vorlage genutzten und teilweise in Unterordnern eingeordneten Stylesheets: Diese Stylesheet sind mit einem Konfigurationsbereich in der Programmoberfläche („Style Options“) verknüpft und werden je nach benutzerdefinierter Konfiguration beim Export zusammengefasst
* in einem optionalen Ordner „Javascript“ oder „js“ können sich ergänzende Scripte für unterschiedliche Funktionen der Webseite befinden
* in einem Ordner „Resources“ liegen Bilddateien für die Anzeige der Vorlage in der Vorlagenbibliothek. Die Bilddateien „preview_large.jpg“ und „preview.png“ auf der Root-Ebene des Vorlagen-Pakets dienen der Anzeige in der Vorlagenbibliothek von älteren RapidWeaver-Versionen
* in einem optionalen Ordner „images“ werden Bilddateien abgelegt, auf welche die Vorlage z. B. für die Anzeige von Kopfgrafiken oder Seitenhintergründen zurückgreift. Diese Bilddateien können vom Benutzer ausgetauscht werden.
* in einigen Vorlagen ist ein Ordner „fonts“ zu finden, hier liegen die in die Vorlage eingebundenen Webfonts.