diff --git a/.kakrc b/.kakrc index 688bcbe..7a60b1f 100644 --- a/.kakrc +++ b/.kakrc @@ -15,10 +15,6 @@ define-command readme %{ root-edit README.md } -define-command kakrc %{ - root-edit .kakrc -} - # change working directory to the package hook global -once BufCreate .* %{ change-directory %exp{%opt{project_root}/src/zona} diff --git a/src/zona/builder.py b/src/zona/builder.py index 416edc8..5c8af6b 100644 --- a/src/zona/builder.py +++ b/src/zona/builder.py @@ -99,8 +99,6 @@ class ZonaBuilder: def _build(self): assert self.items - # sort according to date - # descending order post_list: list[Item] = sorted( [item for item in self.items if item.post], key=lambda item: item.metadata.date @@ -108,16 +106,12 @@ class ZonaBuilder: else date.min, reverse=True, ) - # number of posts posts = len(post_list) - # link post chronology for i, item in enumerate(post_list): - # prev: older post - older = post_list[i + 1] if i + 1 < posts else None - # next: newer post - newer = post_list[i - 1] if i > 0 else None - item.older = older - item.newer = newer + prev = post_list[i - 1] if i > 0 else None + next = post_list[i + 1] if i < posts - 2 else None + item.previous = prev + item.next = next templater = Templater( config=self.config, diff --git a/src/zona/data/templates/post_nav.html b/src/zona/data/templates/post_nav.html index 1e96ff5..86ac330 100644 --- a/src/zona/data/templates/post_nav.html +++ b/src/zona/data/templates/post_nav.html @@ -1,11 +1,9 @@
diff --git a/src/zona/models.py b/src/zona/models.py index 7f67015..d009476 100644 --- a/src/zona/models.py +++ b/src/zona/models.py @@ -23,8 +23,8 @@ class Item: type: ItemType | None = None copy: bool = True post: bool = False - newer: Item | None = None - older: Item | None = None + next: Item | None = None + previous: Item | None = None # @dataclass diff --git a/src/zona/templates.py b/src/zona/templates.py index 4529143..d5e0f22 100644 --- a/src/zona/templates.py +++ b/src/zona/templates.py @@ -27,6 +27,7 @@ def get_footer(template_dir: Path) -> str | None: return html_footer.read_text() +# TODO: add next/prev post button logic to posts # TODO: add a recent posts element that can be included elsewhere? class Templater: def __init__( @@ -78,11 +79,11 @@ class Templater: header=header, footer=footer, is_post=item.post, - newer=util.normalize_url(item.newer.url) - if item.newer + next=util.normalize_url(item.next.url) + if item.next else None, - older=util.normalize_url(item.older.url) - if item.older + previous=util.normalize_url(item.previous.url) + if item.previous else None, post_list=self.post_list, )