gallery.njk 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ---
  2. layout: main_layout.njk
  3. pagination:
  4. data: collections.miniImages
  5. size: 1
  6. alias: albumName
  7. reverse: true
  8. permalink: "/gallery/{{ albumName | slugify }}/index.html"
  9. ---
  10. <nav class="breadcrumbs">
  11. <a href="/gallery">Gallery</a>
  12. {% set pathAccu = "" %}
  13. {% for part in albumName.split('/') %}
  14. {% if part %}
  15. {% set pathAccu = (pathAccu + "/" + part) if pathAccu else part %}
  16. <span> / </span>
  17. <a href="/gallery/{{ pathAccu | slugify }}/">{{ part | capitalize }}</a>
  18. {% endif %}
  19. {% endfor %}
  20. {# 1. List Subfolders #}
  21. {% set currentData = collections.miniImages[albumName] %}
  22. {% if currentData.subfolders.length > 0 %}
  23. <ul class="subfolder-list">
  24. {% for sub in currentData.subfolders %}
  25. <li>
  26. <a href="/gallery/{{ sub | slugify }}/">📁 {{ sub }}</a>
  27. </li>
  28. {% endfor %}
  29. </ul>
  30. {% endif %}
  31. </nav>
  32. {# 2. List Images #}
  33. <div class="gallery-grid">
  34. {% for photo in currentData.images | sort(attribute='date') | reverse %}
  35. <img src="{{ photo.path }}" alt="photo_{{ loop.index }}" loading="lazy">
  36. <div class="meta">
  37. <span>{{ photo.date | date('YYYY-MM-DD') }}</span>
  38. </div>
  39. {% else %}
  40. <p>No photos found in this album.</p>
  41. {% endfor %}
  42. </div>
  43. <p class="pagination">
  44. {% if page.url != pagination.href.last %}
  45. <a href="{{ pagination.href.next }}">⬅️ Prev Page</a>
  46. {% endif %} -
  47. {% if page.url != pagination.href.first %}
  48. <a href="{{ pagination.href.previous }}">Next Page ➡️</a>
  49. {% endif %}
  50. </p>