summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-05-03 12:56:09 +0200
committerDanilo M. <danix@danix.xyz>2026-05-03 12:56:09 +0200
commit220b9e054424569afc3298be04eeff6d7fa18381 (patch)
tree62cdb045252692301a3c27cb0492705e25eeb2d6 /core
parentd821a186b485f395d83ab76ee73e4c21e7441a66 (diff)
downloadpublisher-220b9e054424569afc3298be04eeff6d7fa18381.tar.gz
publisher-220b9e054424569afc3298be04eeff6d7fa18381.zip
feat: add meta_type, meta_tags, meta_categories, meta_date properties to Article
Diffstat (limited to 'core')
-rw-r--r--core/models.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/core/models.py b/core/models.py
index 3df2088..9a7cff5 100644
--- a/core/models.py
+++ b/core/models.py
@@ -13,3 +13,32 @@ class Article:
frontmatter: dict
has_translation: bool
translation_path: Path | None
+
+ @property
+ def draft(self) -> bool:
+ return bool(self.frontmatter.get("draft", False))
+
+ @property
+ def meta_type(self) -> str:
+ return str(self.frontmatter.get("type", ""))
+
+ @property
+ def meta_tags(self) -> str:
+ tags = self.frontmatter.get("tags", [])
+ if isinstance(tags, list):
+ return ", ".join(str(t) for t in tags)
+ return str(tags) if tags else ""
+
+ @property
+ def meta_categories(self) -> str:
+ cats = self.frontmatter.get("categories", [])
+ if isinstance(cats, list):
+ return ", ".join(str(c) for c in cats)
+ return str(cats) if cats else ""
+
+ @property
+ def meta_date(self) -> str:
+ raw = self.frontmatter.get("date", "")
+ if not raw:
+ return ""
+ return str(raw)[:10] # ISO date → "YYYY-MM-DD"