diff options
author | Christian Cleberg <hello@cleberg.net> | 2025-07-07 09:42:46 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-07 09:42:46 -0500 |
commit | e41732049217099644482e89ea5d3bc83eac63c7 (patch) | |
tree | b014c037e61b1c16eef2efab01e7bde9f16d5b21 /build.py | |
parent | 1716be666d7b8f19f3f4fdf345c42a997cc176bd (diff) | |
parent | 444ec6a63a1ffe94c6ffb5e6aa7fc8cdcc81dbb9 (diff) | |
download | cleberg.net-e41732049217099644482e89ea5d3bc83eac63c7.tar.gz cleberg.net-e41732049217099644482e89ea5d3bc83eac63c7.tar.bz2 cleberg.net-e41732049217099644482e89ea5d3bc83eac63c7.zip |
Merge pull request #1 from ccleberg/theme-enhancements
Theme enhancements
Diffstat (limited to 'build.py')
-rw-r--r-- | build.py | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -115,6 +115,7 @@ def get_recent_posts_html(content_dir="./content/blog", num_posts=3): "date": re.compile(r"^#\+date:\s*<(\d{4}-\d{2}-\d{2})"), "slug": re.compile(r"^#\+slug:\s*(.+)$", re.IGNORECASE), "filetags": re.compile(r"^#\+filetags:\s*(.+)$", re.IGNORECASE), + "draft": re.compile(r"^#\+draft:\s*(.+)$", re.IGNORECASE), } for org_path in Path(content_dir).glob("*.org"): @@ -122,6 +123,7 @@ def get_recent_posts_html(content_dir="./content/blog", num_posts=3): date_str = None slug = None tags = [] + is_draft = False with org_path.open("r", encoding="utf-8") as f: for line in f: @@ -153,10 +155,21 @@ def get_recent_posts_html(content_dir="./content/blog", num_posts=3): tags = [t for t in raw.split(":") if t] continue + m = header_patterns["draft"].match(line) + if m: + draft_value = m.group(1).strip().lower() + if draft_value != "nil": + is_draft = True + break + continue + # Stop scanning once we have all required fields if title and date_str and slug and tags: break + if is_draft: + continue + if title and date_str and slug: try: date_obj = datetime.strptime(date_str, "%Y-%m-%d") |