ConvertTo-NewsletterBuilderFromMarkdown #
Intern – Diese Funktion ist nicht exportiert und nur modulintern verfügbar.
ÜBERSICHT #
Erstellt aus einem Newsletter-Markdown-Dokument einen Newsletter-Builder.
SYNTAX #
ConvertTo-NewsletterBuilderFromMarkdown [-Document] <psobject> [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion liest ein Dokumentobjekt (aus ConvertFrom-NewsletterMarkdown) und erzeugt daraus einen Builder (aus New-Newsletter), der anschließend über Get-NewsletterHtml zu E-Mail-HTML gerendert wird.
Body-Mapping ohne RegEx:
- Überschriften
- “# " -> Headline (Hauptüberschrift im Builder)
- “## " -> SubHeadline für den nächsten Block Besonderheit: Wenn mehrere “##” direkt hintereinander kommen, wird die vorherige SubHeadline als eigener Abschnitt ohne Text ausgegeben, damit sie nicht überschrieben wird.
- “### " -> Zwischenüberschrift im Absatz: wird als fett formatierte Zeile in den aktuellen Absatz geschrieben
- Inhalt
- Leerzeile -> beendet aktuellen Absatz und/oder Liste
- “- " oder “* " -> Bullet-Liste
- “1. " -> Number-Liste
- “—” -> Divider
- Bilder
- “
” -> Bildblock Optional kann im Alt-Text eine Breite angegeben werden: “
” -> Breite 552
Pfadauflösung
- Environment-Variablen in %VAR% werden expandiert
- Relative Pfade werden gegen Document.BaseDirectory aufgelöst
- Wenn %VAR% nicht auflösbar ist, wird ein Fehler geworfen
PARAMETER #
-Document #
Type: psobject
Objekt aus ConvertFrom-NewsletterMarkdown mit Meta, BodyLines und BaseDirectory.
AUSGABEN #
System.Object
Builder-Objekt (Eulanda.NewsletterBuilder).
BEISPIELE #
# Builder aus Markdown-Datei erzeugen
$doc = ConvertFrom-NewsletterMarkdown -Path '.\Januar-2025.newsletter.md'
$builder = ConvertTo-NewsletterBuilderFromMarkdown -Document $doc
# Mehrere ## hintereinander: beide erscheinen (erste als Heading-only Abschnitt)
$md = @"
---
BrandName: EULANDA
---
# Titel
## AN: {{ADRESSE.IDENT}}
## Gemailt an: {{NEWSLETTER.TO}}
Text
"@
$doc = ConvertFrom-NewsletterMarkdown -Text $md
$builder = ConvertTo-NewsletterBuilderFromMarkdown -Document $doc