Convert to Newsletter Builder From Markdown
Zuletzt geändert: 14.03.2026 05:56

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:

  1. Ü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
  1. Inhalt
  • Leerzeile -> beendet aktuellen Absatz und/oder Liste
  • “- " oder “* " -> Bullet-Liste
  • “1. " -> Number-Liste
  • “—” -> Divider
  1. Bilder
  • Alt” -> Bildblock Optional kann im Alt-Text eine Breite angegeben werden: “Teaser|552” -> 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