Compare commits

...

2 Commits

Author SHA1 Message Date
c92fc36b40 add: prev and next button template 2025-04-14 20:02:45 +02:00
a106770769 add: prev and next button 2025-04-14 20:02:05 +02:00
3 changed files with 39 additions and 10 deletions

View File

@ -19,18 +19,25 @@ def scan_pages(folders: list[Path]) -> list[Page]:
for folder in folders: for folder in folders:
files: list[Path] = folder.get_files() files: list[Path] = folder.get_files()
prev: Page = Page(folder.get_absolute_path(), folder.get_name(), None, None, None) page: Page = Page(folder.get_absolute_path(), folder.get_name(), None, prev, None)
raw: Path = Path(folder.get_absolute_path(), folder.get_name() + ".NEF") raw: Path = Path(folder.get_absolute_path(), folder.get_name() + ".NEF")
images: list[Path] = [Picture(file, page=prev, raw=raw) for file in files if file.get_name().endswith(".png")] images: list[Path] = [Picture(file, page=prev, raw=raw) for file in files if file.get_name().endswith(".png")]
prev.images = images page.images = images
if len(images) == 0: if len(images) == 0:
bar.next() bar.next()
continue continue
pages.append(prev)
pages.append(page)
if prev is not None:
prev.next = page
prev = page
bar.next() bar.next()
pages[-1].next = pages[0]
pages[0].prev = pages[-1]
return pages return pages
def create_pages(pages: list[Page]) -> None: def create_pages(pages: list[Page]) -> None:

View File

@ -24,19 +24,31 @@ class Page():
self._exif: Path = Path(self.path, "exif.txt") self._exif: Path = Path(self.path, "exif.txt")
self._readme: Path = Path(self.path, "readme.md") self._readme: Path = Path(self.path, "readme.md")
self._raw: Path = Path(self.path, name + ".NEF") self._raw: Path = Path(self.path, name + ".NEF")
self._html: Path = Path(self.path, "page.html") self.html: Path = Path(self.path, "page.html")
self.prev: Page = prev
self.next: Page = next
def _render_raw(self): def _render_raw(self):
if not self._raw.exist(): if not self._raw.exist():
return None return None
return self._raw.get_name() return self._raw.get_name()
def _render_prev(self):
if self.prev is None:
return None
return f"../{self.prev.name}/{self.prev.html.get_name()}"
def _render_next(self):
if self.next is None:
return None
return f"../{self.next.name}/{self.next.html.get_name()}"
def _to_html(self) -> str|None: def _to_html(self) -> str|None:
html_rendered = page_template.render(exif=self._render_exif(), raw=self._render_raw(), images=self._render_images(), readme=self._render_readme()) html_rendered = page_template.render(exif=self._render_exif(), raw=self._render_raw(), images=self._render_images(), readme=self._render_readme(), prev=self._render_prev(), next=self._render_next())
return html_rendered return html_rendered
def create(self) -> Path: def create(self) -> Path:
with open(self._html.get_absolute_path(), "w") as f: with open(self.html.get_absolute_path(), "w") as f:
f.write(self._to_html()) f.write(self._to_html())
self.created = True self.created = True

View File

@ -4,6 +4,14 @@
<link rel="stylesheet" href="../page.css"> <link rel="stylesheet" href="../page.css">
</head> </head>
<body> <body>
<div class="navigation">
{% if prev %}
<a href={{ prev }}>Prev</a>
{% endif %}
{% if next %}
<a class="next" href={{ next }}>Next</a>
{% endif %}
</div>
{% if readme %} {% if readme %}
<div class="readme"> <div class="readme">
<div class="readme-content"> <div class="readme-content">
@ -15,12 +23,14 @@
<div class="image-container"> <div class="image-container">
<div class="image-container-element"> <div class="image-container-element">
<img src='{{ image[1] }}'> <img src='{{ image[1] }}'>
<div class="meta-image">
<a href="{{ image[0] }}">Large</a> <a href="{{ image[0] }}">Large</a>
{% if image|length > 2 %} {% if image|length > 2 %}
<a class="export" href="{{ image[2] }}">export file</a> <a class="export" href="{{ image[2] }}">export file</a>
{% endif %} {% endif %}
</div> </div>
</div> </div>
</div>
{% endfor %} {% endfor %}
{% if raw or exif %} {% if raw or exif %}
<div class="download"> <div class="download">