Compare commits

..

No commits in common. "bafe70ed3728682af41597e908b7b5ad97ef496b" and "c6dd2785af8b7b68b50cb6e9f245b660e3258e99" have entirely different histories.

5 changed files with 16 additions and 27 deletions

4
.kakrc
View file

@ -15,10 +15,6 @@ define-command readme %{
root-edit README.md root-edit README.md
} }
define-command kakrc %{
root-edit .kakrc
}
# change working directory to the package # change working directory to the package
hook global -once BufCreate .* %{ hook global -once BufCreate .* %{
change-directory %exp{%opt{project_root}/src/zona} change-directory %exp{%opt{project_root}/src/zona}

View file

@ -99,8 +99,6 @@ class ZonaBuilder:
def _build(self): def _build(self):
assert self.items assert self.items
# sort according to date
# descending order
post_list: list[Item] = sorted( post_list: list[Item] = sorted(
[item for item in self.items if item.post], [item for item in self.items if item.post],
key=lambda item: item.metadata.date key=lambda item: item.metadata.date
@ -108,16 +106,12 @@ class ZonaBuilder:
else date.min, else date.min,
reverse=True, reverse=True,
) )
# number of posts
posts = len(post_list) posts = len(post_list)
# link post chronology
for i, item in enumerate(post_list): for i, item in enumerate(post_list):
# prev: older post prev = post_list[i - 1] if i > 0 else None
older = post_list[i + 1] if i + 1 < posts else None next = post_list[i + 1] if i < posts - 2 else None
# next: newer post item.previous = prev
newer = post_list[i - 1] if i > 0 else None item.next = next
item.older = older
item.newer = newer
templater = Templater( templater = Templater(
config=self.config, config=self.config,

View file

@ -1,11 +1,9 @@
<div class="post-nav"> <div class="post-nav">
<center> <center>
<span class="symbol">&lt;</span>{% if newer %}<a href="{{ newer }}">newr</a>{% <span class="symbol">&lt;</span>{% if previous %}<a
else %}<span class="placeholder">null</span>{% endif %}<span href="{{ previous }}"
class="symbol" >prev</a>{% endif %}{% if previous and next %}<span class="symbol"
><span class="bar"></span></span>{% if older %}<a href="{{ older }}" >|</span>{% endif %}{% if next %}<a href="{{ next }}">next</a>{% endif
>oldr</a>{% else %}<span class="placeholder">null</span>{% endif %}<span %}<span class="symbol">&gt;</span>
class="symbol"
>&gt;</span>
</center> </center>
</div> </div>

View file

@ -23,8 +23,8 @@ class Item:
type: ItemType | None = None type: ItemType | None = None
copy: bool = True copy: bool = True
post: bool = False post: bool = False
newer: Item | None = None next: Item | None = None
older: Item | None = None previous: Item | None = None
# @dataclass # @dataclass

View file

@ -27,6 +27,7 @@ def get_footer(template_dir: Path) -> str | None:
return html_footer.read_text() 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? # TODO: add a recent posts element that can be included elsewhere?
class Templater: class Templater:
def __init__( def __init__(
@ -78,11 +79,11 @@ class Templater:
header=header, header=header,
footer=footer, footer=footer,
is_post=item.post, is_post=item.post,
newer=util.normalize_url(item.newer.url) next=util.normalize_url(item.next.url)
if item.newer if item.next
else None, else None,
older=util.normalize_url(item.older.url) previous=util.normalize_url(item.previous.url)
if item.older if item.previous
else None, else None,
post_list=self.post_list, post_list=self.post_list,
) )