diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/models.py | 29 |
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" |
