From: Danilo M. Date: Sun, 3 May 2026 14:14:09 +0000 (+0200) Subject: fix: preserve article body when saving frontmatter X-Git-Tag: v1.3~1 X-Git-Url: https://git.danix.xyz/?a=commitdiff_plain;h=fb2aa9b6520eebba00f8da88a37ce5723a5c887f;p=publisher.git fix: preserve article body when saving frontmatter FrontmatterEditor._save was passing empty string as body to write_frontmatter, erasing all content below the +++ delimiter. Now reads body via parse_frontmatter before writing back. Co-Authored-By: Claude Sonnet 4.6 --- diff --git a/ui/frontmatter_editor.py b/ui/frontmatter_editor.py index ce70355..6c53ac3 100644 --- a/ui/frontmatter_editor.py +++ b/ui/frontmatter_editor.py @@ -7,7 +7,7 @@ from PyQt6.QtWidgets import ( from PyQt6.QtCore import Qt from pathlib import Path from core.models import Article, ARTICLE_TYPES -from core.frontmatter import write_frontmatter +from core.frontmatter import parse_frontmatter, write_frontmatter from core.taxonomy import load_taxonomy class MultiTokenCompleter(QCompleter): @@ -109,7 +109,8 @@ class FrontmatterEditor(QDialog): else: updated[key] = val try: - write_frontmatter(self._article.path, updated, "") + _, body = parse_frontmatter(self._article.path) + write_frontmatter(self._article.path, updated, body) self._article.frontmatter.update(updated) self.accept() except Exception as e: