# =============================================================================
# Focus one – Importvorlage für Projekte und Aufgaben
# Stand: Oktober 2026
# =============================================================================
#
# Mit dieser Datei kannst du Projekte samt Aufgaben in Focus one importieren,
# zum Beispiel aus eigenen Vorlagen oder aus einer anderen App.
# Die Datei zeigt jede Möglichkeit an einem Beispiel und lässt sich selbst
# importieren, um alles auszuprobieren. Beim Test entstehen der Bereich
# "Beispiel" und mehrere Beispielprojekte, die du danach wieder löschen kannst.
#
# Der Projekt-Export von Focus one (Teilen, Pro) erzeugt genau dieses Format.
# Du kannst exportierte Projekte also bearbeiten und erneut importieren.
#
# -----------------------------------------------------------------------------
# AUFBAU
# -----------------------------------------------------------------------------
#   Eine Datei kann beliebig viele Projekte enthalten. Jedes Projekt beginnt mit
#   einer Zeile "project:" ganz links am Zeilenanfang. Danach folgen die
#   Projektfelder und unter "tasks:" die Aufgaben.
#   Schreibe in Notizen keine Zeile, die ganz links mit "project:" beginnt
#   (eingerückt ist in Ordnung), sonst wird dort ein neues Projekt erkannt.
#
#   Alternativ lassen sich mehrere Projekte als Liste unter "projects:" angeben
#   (siehe Beispiel 8 am Ende). Verwende dann nur diese Form in der Datei.
#
# -----------------------------------------------------------------------------
# PROJEKT-FELDER
# -----------------------------------------------------------------------------
#   title     Pflichtfeld. Bleibt der Titel leer (""), wird kein Projekt
#             angelegt. Die Aufgaben landen dann ohne Projekt im Bereich
#             (siehe Beispiel 6).
#   note      Optional. Notiz zum Projekt, auch mehrzeilig ("\n" oder
#             Block-Schreibweise mit "|").
#   area      Optional. Bereich, in den das Projekt kommt. Der Name wird exakt
#             verglichen, ein fehlender Bereich wird neu angelegt. Ohne Angabe
#             bleibt das Projekt ohne Bereich.
#   format    Optional. "s", "serial" oder "seriell" => serielles Projekt (Pro).
#             Ohne Pro wird das Projekt als paralleles importiert.
#             "p", "parallel", "f", "free", "frei" oder jeder andere Wert
#             => paralleles Projekt.
#   deadline  Optional. Deadline des Projekts. Datumsformate siehe unten.
#
# -----------------------------------------------------------------------------
# AUFGABEN-FELDER
# -----------------------------------------------------------------------------
#   title      Pflichtfeld. Eine Aufgabe ohne Titel bricht den gesamten Import
#              ab. Nur Überschriften (header: true) dürfen einen leeren Titel
#              haben.
#   note       Optional. Notiz, unterstützt **fett**.
#   list       Optional. Liste, in der die Aufgabe landet. Alles klein schreiben:
#                inbox     = Eingang
#                next      = Als Nächstes
#                planned   = Geplant
#                waiting   = Warten auf
#                anytime   = Jederzeit
#                deferred  = Später
#              Fehlt "list" oder ist der Wert unbekannt (zum Beispiel "focus"
#              oder "done"), kommt die Aufgabe nach "Jederzeit".
#   header     Optional. "true" macht aus dem Eintrag eine Überschrift statt
#              einer Aufgabe.
#   duedate    Optional. Geplantes Erledigungsdatum.
#   deadline   Optional. Harte Deadline, unabhängig vom Erledigungsdatum.
#   checklist  Optional. Checkliste in Kurz- oder Langform (siehe Beispiel 4).
#
#   Nicht importierbar: Tags, Erinnerungen, Wiederholungen, Anhänge, Fokus
#   und der Status "erledigt".
#
# -----------------------------------------------------------------------------
# DATUMSFORMATE (für duedate, deadline und die Projekt-Deadline)
# -----------------------------------------------------------------------------
#   Datumsangaben immer in Anführungszeichen schreiben.
#     "2026-12-24"                  Datum
#     "2026-12-24T18:30"            Datum und Uhrzeit (auch mit Sekunden :00)
#     "2026-12-24T18:30:00.000Z"    ISO 8601 mit Zeitzone (nur mit Millisekunden)
#     "d10"                         heute + 10 Tage ("d0" = heute, "d-1" = gestern)
#                                   immer ohne Uhrzeit
#     "m1"                          heute + 1 Monat
#   Nicht lesbare Datumsangaben werden ohne Fehlermeldung ignoriert, das Feld
#   bleibt dann leer.
#
# -----------------------------------------------------------------------------
# WAS BEIM IMPORT MIT DEN LISTEN PASSIERT
# -----------------------------------------------------------------------------
#   - Aufgabe mit duedate            => landet in "Geplant". Ausnahme: "waiting"
#                                       bleibt in "Warten auf" (das Datum dient
#                                       dort als Nachfasstermin).
#   - list: deferred                 => ein vorhandenes Datum wird entfernt,
#                                       "Später" ist immer ohne Datum.
#   - list: inbox mit Projekt        => landet in "Jederzeit". Aufgaben mit
#                                       Projekt gehören nicht in den Eingang.
#   - list: planned ohne duedate     => landet in "Jederzeit".
#
# -----------------------------------------------------------------------------
# WEITERE HINWEISE
# -----------------------------------------------------------------------------
#   - Die Reihenfolge der Aufgaben entspricht der Reihenfolge in der Datei.
#   - Erlaubt sind Kommentare (#), einfache und doppelte Anführungszeichen
#     sowie Block-Schreibweisen für mehrzeilige Texte.
#   - Speichere die Datei als UTF-8 (Umlaute und Sonderzeichen).
#   - Rücke mit Leerzeichen ein, nicht mit Tabs.
# =============================================================================


# -----------------------------------------------------------------------------
# Beispiel 1: Projekt mit allen Projektfeldern (paralleles Projekt)
# -----------------------------------------------------------------------------
project:
  title: "Beispiel 1 – Alle Projektfelder"
  note: "Projektnotiz mit **fett**.\n\nZweiter Absatz mit \\n\\n."
  area: "Beispiel"
  format: "p"          # p / parallel
  deadline: "2026-12-31"

tasks:
  - title: "Überschrift (header: true)"
    list: "anytime"
    header: true

  - title: "Aufgabe nur mit Titel (Liste = Jederzeit)"

  - title: "Aufgabe mit allen Feldern"
    note: "Notiz mit **fett**\nzweite Zeile"
    list: "anytime"
    duedate: "2026-12-01"        # => Aufgabe landet automatisch in "Geplant"
    deadline: "2026-12-15"
    checklist:
      - "Kurzform (offen)"
      - title: "Langform (offen)"
      - title: "Langform (erledigt)"
        done: true


# -----------------------------------------------------------------------------
# Beispiel 2: Alle Listen, je ein Beispiel (serielles Projekt, Pro)
# -----------------------------------------------------------------------------
project:
  title: "Beispiel 2 – Alle Listen"
  note: "Zeigt jede Liste einmal."
  area: "Beispiel"
  format: "s"          # s / serial / seriell

tasks:
  - title: "inbox (wird mit Projekt zu Jederzeit)"
    list: "inbox"

  - title: "next"
    list: "next"

  - title: "planned (mit Datum)"
    list: "planned"
    duedate: "d7"

  - title: "planned ohne Datum (wird zu Jederzeit)"
    list: "planned"

  - title: "waiting"
    list: "waiting"

  - title: "waiting mit Nachfasstermin (bleibt in Warten auf)"
    list: "waiting"
    duedate: "d3"

  - title: "anytime"
    list: "anytime"

  - title: "deferred (Datum wird entfernt)"
    list: "deferred"
    duedate: "m1"

  - title: "Unbekannte Liste 'focus' (wird Jederzeit)"
    list: "focus"


# -----------------------------------------------------------------------------
# Beispiel 3: Datumsformate (paralleles Projekt, Schreibweise "free")
# -----------------------------------------------------------------------------
project:
  title: "Beispiel 3 – Datumsformate"
  area: "Beispiel"
  format: "f"          # f / free / frei
  deadline: "m3"       # relativ: in 3 Monaten

tasks:
  - title: "Datum: yyyy-MM-dd"
    duedate: "2026-12-24"

  - title: "Datum und Uhrzeit"
    duedate: "2026-12-24T18:30"

  - title: "Datum, Uhrzeit und Sekunden"
    duedate: "2026-12-24T18:30:00"

  - title: "ISO 8601 mit Zeitzone (nur mit Millisekunden)"
    duedate: "2026-12-24T17:30:00.000Z"

  - title: "Relativ: heute + 10 Tage (d10)"
    duedate: "d10"

  - title: "Relativ: heute (d0)"
    duedate: "d0"

  - title: "Relativ: in 1 Monat (m1)"
    duedate: "m1"

  - title: "Deadline relativ, ohne Erledigungsdatum"
    deadline: "d14"

  - title: "Erledigungsdatum und Deadline"
    duedate: "d5"
    deadline: "d14"


# -----------------------------------------------------------------------------
# Beispiel 4: Checklisten in allen Schreibweisen
# -----------------------------------------------------------------------------
project:
  title: "Beispiel 4 – Checklisten"
  area: "Beispiel"

tasks:
  - title: "Checkliste in Kurzform"
    checklist:
      - "Eintrag eins"
      - "Eintrag zwei"

  - title: "Checkliste in Langform mit done"
    checklist:
      - title: "offen (done fehlt)"
      - title: "offen (done: false)"
        done: false
      - title: "erledigt (done: true)"
        done: true
      - title: "erledigt (done: ja)"      # true / yes / ja / x zählen als erledigt
        done: "ja"

  - title: "Checkliste gemischt"
    checklist:
      - "Kurzform"
      - title: "Langform"
        done: true
      - ""                                # leere Einträge werden verworfen


# -----------------------------------------------------------------------------
# Beispiel 5: Minimalprojekt (ohne format, Notiz und Deadline)
# -----------------------------------------------------------------------------
project:
  title: "Beispiel 5 – Minimalprojekt"
  area: "Beispiel"

tasks:
  - title: "Einzige Aufgabe"


# -----------------------------------------------------------------------------
# Beispiel 6: Aufgaben OHNE Projekt (title leer)
# Die Aufgaben landen im Bereich, die angegebene Liste wird beachtet.
# -----------------------------------------------------------------------------
project:
  title: ""
  area: "Beispiel"

tasks:
  - title: "Lose Aufgabe im Eingang (bleibt dort, da ohne Projekt)"
    list: "inbox"

  - title: "Lose Aufgabe in Als Nächstes"
    list: "next"

  - title: "Lose Aufgabe mit Datum"
    duedate: "d2"


# -----------------------------------------------------------------------------
# Beispiel 7: Projekt ganz ohne Aufgaben (tasks fehlt oder ist leer)
# -----------------------------------------------------------------------------
project:
  title: "Beispiel 7 – Projekt ohne Aufgaben"
  area: "Beispiel"

tasks: []


# -----------------------------------------------------------------------------
# Beispiel 8: Alternative Schreibweise als Liste (hier nur als Kommentar)
# Diese Form ersetzt die Blöcke oben. Verwende in einer Datei nicht beide
# Schreibweisen gleichzeitig: Sobald eine Zeile "projects:" ganz links
# vorkommt, wird nur die Listenform gelesen.
#
# projects:
#   - project:
#       title: "Projekt A"
#       area: "Beispiel"
#       format: "p"
#     tasks:
#       - title: "Aufgabe A1"
#   - project:
#       title: "Projekt B"
#       area: "Beispiel"
#     tasks:
#       - title: "Aufgabe B1"
#         list: "next"
# -----------------------------------------------------------------------------
