Neue Projekt-Konfiguration…
Auf dieser Seite
Die Projekt-Konfiguration ist unverschlüsselt. Zum Schutz sensibler Daten (FTP-Zugang) müssen geeignete Datenschutz-Maßnahmen getroffen werden.
Für die Projektorganisation sind Konfigurationsdateien erforderlich. Diese müssen im Projektverzeichnis von
Fehlende Einträge werden - soweit möglich – mit Vorgaben besetzt. An einigen Stellen sind Prüfungen vorhanden, die unerwünschtes Verhalten verhindern sollen. Diese Datei sollte sorgfältig erstellt werden.
Bei Unklarheit eines Parameters vorzugsweise (vorerst) den Vorschlag dafür stehen lassen (wenn es einen gibt). Einige Einstellungen sind technisch sinnvoll (im Sinne von „richtig“), im weiteren Verlauf dennoch womöglich unerwünscht. Das lässt sich jederzeit ändern.
Die Reihenfolge der Sektionen (eingeleitet mit [Sektionsname]) ist beliebig. Eine Sektion wird mit der nächsten oder dem Dateiende begrenzt, Leerzeilen werden ebenso ignoriert, wie Zeilen mit ;
am Anfang.
Die Angabe von Einstellungen erfolgt durch Zuweisung auf Parameternamen:
Parametername=Parameterwert
Parameter müssen in eine Zeile passen.
Verfügbare Parameter
Eintrag | Funktion | ||||||
---|---|---|---|---|---|---|---|
[Set] | Gruppe Projekt-Einstellungen (s. Set-Einstellungen) | ||||||
backup |
| ||||||
autoopen | Nach dem manuellen Export wird dieser direkt angezeigt, (s. Set-Einstellungen) | ||||||
stdin | Ermöglicht die Definition einer beliebigen Default-Editor-Extension, (s. Set-Einstellungen) | ||||||
stdout | Ermöglicht die Definition einer beliebigen Default-Export-Endung, (s. Set-Einstellungen) | ||||||
environment | Es wird eine aktive Umgebung, z.B. für PHP, vorausgesetzt, (s. Set-Einstellungen) | ||||||
keywords | eine manuell einzufügende Liste von Schlüsselworten | ||||||
target | Root der Projektdomäne (z.B. „https://nosi.de/“) → Slash am Ende relevant! | ||||||
targetuse | Aktuelle Einstellung von Datei→FTP-Ziel anzeigen | ||||||
[StdYaml] | Gruppe Standard-Yaml-Variablen | ||||||
Var= … | In allen exportierten Dateien verfügbare Yaml-Variable | ||||||
[header] | Gruppe Header | ||||||
Project=… | ↓ Der Yaml-Header-Standard für neu erzeugte Dateien | ||||||
in=… | ↓ und dem Yaml-Header-Check beim beim Öffnen von Projektdateien | ||||||
out=… | ↓ Die Einträge erfolgen wie im Yaml-Header, | ||||||
media=… | ↓ statt : als Trennstelle muss ein = verwendet werden. | ||||||
… | ↓ Es wird ein frei bearbeitbares Grundgerüst generiert. | ||||||
… | ↓ Datumsvariablen (s. Textbausteine) werden ersetzt | ||||||
… | ↓ Mit dem Eintrag #in# kann für neue Dateien die Cursorposition bei öffnen festgelegt werden. | ||||||
[Path] | Gruppe Projektpfade (s. Pfade) | ||||||
in | Basis-Pfad zu den Quelldateien (Markdown) | ||||||
out | Basis-Pfad für den generierten lokalen Export | ||||||
media | Basis-Pfad für im Editor eingefügte Medien-Dateien | ||||||
layout | Basis-Pfad zu den Layout-Dateien des Projekts | ||||||
backups | Basis-Pfad für die beim Öffnen von Dateien automatisch angelegten Backups und erzeugte Projektarchive. | ||||||
[ftp] | Serverkonfiguration für Upload | ||||||
user | FTP-Benutzername | ||||||
pass | Passwort des FTP-Benutzers | ||||||
host | der FTP-Host (typischerweise ohne ftp:// ) | ||||||
root | Der Basispfad des Projekts, ohne Angabe ist das / = „root“ | ||||||
timeout | optional: Legt die Dauer fest, in der eine Verbindung zustande kommen muss. Vorgabe sind 5 Sekunden. Je nach Verbindungen kann der Wert in Millisekunden größer oder kleiner gewählt werden (10s = 10000) | ||||||
passivemode | optional: Default ist (ab Version 4.3.2, vorher unbestimmt) „passiv“1 (1), optional kann „aktiv“ gewählt werden (0) | ||||||
xchange | Legt den relativen Pfad zur root für die Datensynchronisation fest. | ||||||
upload | Legt fest, welche referenzierten, relativ verknüpften Medien (src="…" , href="…" ohne :// ) automatisch mit hochgeladen werden. Die Dateiendungen in der Liste müssen mit einem . beginnen. | ||||||
[pack] | Konfiguration der Archivierung (Datei-Menü, Hilfe-Menü) | ||||||
type |
| ||||||
pass | Passwort für Archive | ||||||
update |
| ||||||
[styles] | Optionale Gruppe für Wrapper-Definitionen. (s. Stilvorlagen) | ||||||
… | Stilvorlagen für Pandoc-Blöcke, die mit einer Beschreibung versehen werden können. |
Projekt-Pfade und Dateien
- Beim Upload der Daten gibt
[FTP] root
den Basispfad für[path] out
vor. - Der FTP-Upload spiegelt die lokale Struktur des
out
-Pfads auf dem Server in des Verzeichnis „ftp-root+path-root“.
Deshalb mussmedia
innerhalb desout
-Pfades liegen. - Relative Pfade (ohne
:
) haben als Basis das Projektverzeichnis von OffSiteEdit (/Projekte/
). - Pfade bilden sich aus »Pfad Projektdatei« + »out-Pfad« der Markdown-Datei. Pfadseparatoren (
/
,\
) werden fallgerecht umgewandelt, „doppelte“ entfernt. - Ohne Projektkonfiguration wird ein angegebener Projektname als Projektverzeichnis unterhalb des Programmverzeichnisses angenommen und gegebenenfalls angelegt (nach Rückfrage). Darin wird die Pfadstruktur der Yaml-Header angelegt.
- Die FTP-Funktion setzt die Konfigurationsdatei eines Projektes voraus.
- Bei passwortgeschützten Projektarchiven wird zum Entpacken das Passwort abgefragt.
- Bei passwortgeschützten Arbeitsdaten wird das gespeicherte Passwort der Projektkonfiguration zum Entpacken verwendet.
Für Änderungen der Archiv-Struktur (Kompressionstyp, Passwort) muss grundsätzlich ein neues Archiv angelegt, ein bestehendes vorher gelöscht werden.
Der Menübefehl Projekte
→ Neue Projektkonfiguration…
generiert standardmäßig ein Projektverzeichnis innerhalb des Programm-Verzeichnisses. Das ist ein funktionierender Vorschlag, der an die eigenen Anforderungen angepasst werden kann.
Eine neu erzeugte Projektkonfiguration wird automatisch der Liste im Menü Projekte
hinzugefügt.
Projektvorlage.zip
Wenn im Programmverzeichnis ein Archiv mit dem Namen projektvorlage.zip
gefunden wird, entpackt
Die „Set“-Parameter
In diesem Parameterblock können optionale Angaben gemacht werden. Fehlende Parameter haben den Wert, der nachfolgend angegeben ist.
stdin=md
-
Setzt den Dateityp für die Quell-Dateien. Der Dateityp kann (ohne Punkt!) an die Projekt-Anforderungen angepasst werden.
Der hier festgelegte Dateityp bestimmt die Suche der Dateien für die Funktion Projekt neu generieren und wird als Standard beim Laden und Speichern von Projektdateien im Dialog eingestellt.
stdout=php
-
Setzt den Dateityp für die Ziel-Dateien. Der Dateityp kann (ohne Punkt!) an die Projekt-Anforderungen angepasst werden.
Die „Standard-Dateitypen“ werden nur verwendet, wenn für die jeweilige Datei kein Dateityp vorgeben ist.
environment=1
-
zeigt an, dass eine „aktive Umgebung“ vorhanden ist, in der z.B. PHP-Dateien im Browser angezeigt werden können. Einem Relative Exportziel (ohne „:“) wird
http://localhost
vorangestellt und das ans Betriebssystem übergeben. Mit dem registrierten Standardbrowser wird mit Drücken vonF5
(bzw. beioutoopen
, s.u.) ein neues Fenster/neuer Tab geöffnet.environment=0
übergibt den absoluten Pfad an das Betriebssystem, das die Datei mit dem für den verwendeten Dateityp registrierten Programm öffnet. So können z.B. generierte PHP-Dateien nach dem Erzeugen mitF5
(bzw.autoopen
) direkt im Editor oder HTML-Dateien im Browser angezeigt werden.
autoopen=0
-
Ausgaben werden mit
F5
gemäß derenvironment
-Einstellungen geöffnetautoopen=1
öffnet nach dem manuellen Export diese Datei automatisch, gemäßenvironment
.HTML-Dateien erzeugen im Browser ein neues Fenster/Tab, Editoren erkennen (Programm-abhängig) eine Dateiänderung und laden neu.
StdYaml
In diesem Abschnitt können wie im Header, Yaml-Variablen definiert werden, allerdings muss hier der Wert mit „=“ statt „:“ zugewiesen werden.
- Yaml-Werte aus der Projektkonfiguration …
-
- … „sind immer da“, sie werden nirgends angezeigt oder geprüft
- … können mit einem gültigen Yaml-Eintrag (≠ auskommentiert) in einer Datei überschrieben werden
- … unterliegen den gleichen Regeln und Möglichkeiten wie Yaml-Variablen, die im Header stehen.
Es gibt jedoch keine Unterstützung für Editor-Variablen; diese müssen „Header-Yaml-Variablen“ zugewiesen werden.
Es findet jedoch keine automatische Ersetzung von Steuerzeichen statt.
Zur Entlastung des Yaml-Headers in Projektdateien kann hier beispielsweise der übliche Seitenautor, das Layout, eine Variable mit der Lesezeit (→ Lesezeit=%%%READ%%%
), eine „Minimal-Description“, etc. hinterlegt werden. Variablen mit dem identischen Namen (Groß/Klein egal) können bedarfsweise, im Datei-Yaml-Header eingefügt, die Standardwerte überschreiben.
Zum Entfernen einer Standard-Yaml-Variable mit führendem „!“ muss sie „sich selbst“ zugewiesen werden. Das ersetzt die Variable mit der Variablen, weshalb gemäß der Regeln für „!“-Variablen, die Zeile, in der sie steht, entfernt wird.
- In der Projektkonfiguration:
-
!Mustervar=Das soll gelegentlich weg
- In der Datei
-
!Muster:%%%!Muster%%%
Header
Der hier definierte „Yaml-Header“ wird für neue Dateien verwendet und ist die Grundlage für den Yaml-Header-Check.
- Bitte beachten
-
In der Projektkonfiguration muss der Standardwert mit „=“ zugewiesen werden, wogegen er im richtigen Yaml-Header mit „:“ vom Namen der Yaml-Variable getrennt wird.
Stilvorlagen für Wrapper
Dieser Abschnitt kann optional manuell eingefügt werden. Er füllt die Liste für die Funktion Wrapper, mit der formatierte Bereiche eingefügt werden können.
Die Reihenfolge in der Liste ist unerheblich, die Liste wird beim Einlesen alphabetisch sortiert.. Die „Zuweisung“ hat kommentierende Funktion, maßgeblich ist der Parametername, der als Stilname in die Bearbeitung übernommen wird.
Der Parametername muss einer Stil-Klasse aus dem verwendeten Stylesheet (ohne Punkt) entsprechen.
Mustereintrag „styles“
[styles] info=Umrahmter Block gap=Abstand, max im verfügbaren Platz gapx=Abstand ohne Umfluss max Breite einzug1=1 Level einzug2=2 Level einzug3=3 Level left=Float links center=Zentriert right=Float rechts
Die Auswahl von „info=Umrahmter Block“ erzeugt diesen Eintrag (kein Text ausgewählt):
(( gbox ← hier steht der Cursor )) gbox
Ist ein markierter Text umschlossen, steht der Cursor hinter dem eingefügten Block.
Ein „ausgiebiger“ Standard-Yaml-Header
Nachfolgend ein „aufgebohrter“ Yaml-Header, der diverse Funktionen erüllt:
[Header]
// zwingend erforderlich:
project=%projekt%
in=
media=
// „optional“ → an die eigenen Anforderungen anpassen 〈 → ; … entfernen!〉:
//out= ; entspricht 〈Pfad, Name〉 von „in“, wenn es fehlt, mit »stdout«
//layout= ; ermöglicht das überschreiben des Eintrags in [StdYaml]
//author= ; dito.
//lang:de ; für mehrsprachige Webseiten, automatischer „Sprachordner“
//stage= ; optionaler Ausgabepfad
//upload= ; opitonales Hochladen von Daten, mehrfach zulässig
//delete= ; Schalter: Entfernt ggf. Zieldaten und löscht auf dem Server
//ignore= ; Verhindert das Erzeugen und Hochladen aus einer Quelle
title= ; Meta-Eintrag
//Ersatztitel= ; Ersatztitel im Textkörper, keiner, wenn hier „-“
//!Menu= ; ggf. kürzerer Menü-Eintrag
//canonical= ; für canonical-link-Eintrag
//!robots=noindex ; Crawler-Anweisung
!Lesezeit=%%%READ%%% ; Lesezeit via Editorvariable
!published=y-m-d ; Erstellungsdatum
//!modified=%%%SORTDATE%%% ; Automatisiertes Änderungsdatum via Editorvariable
//!Image= ; Bildpfad für X, Bluesky,Mastodon,…
//!ImageAlt= ; Bildtitel dazu
//twitter-card=summary ; für großes Bidl: summary_large_image
//!submenu=%%%CURRPATH%%% ; Startpfad für OSE-Funktionen
//Gruppe=1 ; Zuordnung für Menüsteuerung
//!Rang=1 ; Reihenfolge in der Menüsteuerung
//!keywords= ; Meta-Eintrag
//description= ; Meta-Eintrag
//!summary= ; „lange“ Beschreibung für eigene Listen