Simplify transitional files a bit.
authorRadek Czajka <rczajka@rczajka.pl>
Tue, 15 Mar 2022 12:44:36 +0000 (13:44 +0100)
committerRadek Czajka <rczajka@rczajka.pl>
Tue, 15 Mar 2022 12:44:36 +0000 (13:44 +0100)
src/catalogue/templates/catalogue/2021/book_detail.html [deleted file]
src/catalogue/templates/catalogue/2022/book_detail.html [new file with mode: 0644]
src/catalogue/templatetags/catalogue_tags.py
src/catalogue/views.py

diff --git a/src/catalogue/templates/catalogue/2021/book_detail.html b/src/catalogue/templates/catalogue/2021/book_detail.html
deleted file mode 100644 (file)
index 8c9beb3..0000000
+++ /dev/null
@@ -1,494 +0,0 @@
-<!doctype html>
-{% load pipeline %}
-{% load static %}
-{% load choose_cites from social_tags %}
-{% load choose_fragment license_icon from catalogue_tags %}
-{% load catalogue_tags %}
-
-
-<html class="no-js">
-  <head>
-    <meta charset="utf-8">
-    <meta name="description" content="">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>WolneLektury.pl</title>
-    <link rel="apple-touch-icon" href="apple-touch-icon.png">
-
-    {% stylesheet '2022' %}
-      <script src="scripts/modernizr.js"></script>
-
-      <link rel="preconnect" href="https://fonts.googleapis.com">
-      <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
-      <link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&display=swap" rel="stylesheet">
-  </head>
-  <body>
-
-    <nav class="l-navigation">
-      <div class="l-change-pop">
-        <h3>Zmieniamy się!</h3>
-        <p>
-          Jeżeli to czytasz jesteś jedną z osób, której prezentujemy nowy wygląd strony książki.
-          Będziemy bardzo! wdzięczni za Twoją opinię – w prawym dolnym rogu znajdziesz przycisk oceny.
-          Jeżeli wolisz klasyczny wygląd - wystarczy, że <a class="quit-experiment" href="#">klikniesz tutaj</a>
-        </p>
-        <button class="l-change-pop__close">
-          <i class="icon icon-close"></i>
-        </button>
-      </div>
-      <div class="l-container">
-        <a href="/" class="l-navigation__logo">
-          <img src="{% static "2022/images/logo.png" %}" alt="WolneLektury.pl">
-        </a>
-        <div class="l-naviagion__search">
-          <form action="/szukaj/">
-            <input id="search" name="q" type="text" placeholder="szukaj tytułu, autora, motywów…" autocomplete="off" data-source="/szukaj/hint/?max=10">
-          </form>
-        </div>
-        <div class="l-navigation__actions">
-          <a href="/ludzie/polka/"><i class="icon icon-liked"></i></a>
-          <button class="l-navigation__button js-menu" aria-label="Menu">
-            <span class="c-hamburger">
-              <span class="bar"></span>
-            </span>
-          </button>
-        </div>
-      </div>
-    </nav>
-
-
-    {# TODO: BREADCRUMBS #}
-    <div class="l-container">
-      <div class="l-breadcrumb">
-        <a href="/"><span>Strona główna</span></a>
-        <a href="/katalog/lektury/"><span>Literatura</span></a>
-        {% for ancestor in book.ancestors %}
-          <a href="{{ ancestor.get_absolute_url }}">{{ ancestor.title }}</a>
-        {% endfor %}
-      </div>
-    </div>
-
-
-    <main class="l-main">
-      <section class="l-section">
-        <aside class="l-aside">
-          <figure>
-            <img src="{% if book.cover_clean %}{{ book.cover_clean.url }}{% endif %}" alt="{{ book.pretty_title }}" width="240">
-          </figure>
-          <ul class="l-aside__info">
-            <li><span>Epoka:</span> {% for tag in book.epochs %}<a href="{{ tag.get_absolute_url }}">{{ tag.name|lower }}</a> {% endfor %}</li>
-            <li><span>Rodzaj:</span> {% for tag in book.kinds %}<a href="{{ tag.get_absolute_url }}">{{ tag.name|lower }}</a> {% endfor %}</li>
-            <li><span>Gatunek:</span> {% for tag in book.genres %}<a href="{{ tag.get_absolute_url }}">{{ tag.name|lower }}</a> {% endfor %}</li>
-          </ul>
-          {% if book.parent or book.get_children %}
-            <ul class="l-aside__zbiory">
-              {% if book.parent %}
-                {% for b in book.ancestors %}
-                  <li>
-                    <a href="{{ b.get_absolute_url }}">{{ b.title }}</a>
-                    <ul>
-                {% endfor %}
-                {% for b in book.get_siblings %}
-                  <li>
-                    {% if b == book %}
-                      <strong>{{ b.title }}</strong>
-                      <ul>
-                        {% for c in book.get_children %}
-                          <li>
-                            <a href="{{ c.get_absolute_url }}">{{ c.title }}</a>
-                          </li>
-                        {% endfor %}
-                      </ul>
-                    {% else %}
-                      <a href="{{ b.get_absolute_url }}">{{ b.title }}</a>
-                    {% endif %}
-                  </li>
-                {% endfor %}
-
-                {% for b in book.ancestor.all %}
-                    </ul>
-                  </li>
-                {% endfor %}
-              {% else %}
-                <li>
-                  <strong>{{ book.title }}</strong>
-                  <ul>
-                    {% for c in book.get_children %}
-                      <li>
-                        <a href="{{ c.get_absolute_url }}">{{ c.title }}</a>
-                      </li>
-                    {% endfor %}
-                  </ul>
-                </li>
-              {% endif %}
-            </ul>
-          {% endif  %}
-        </aside>
-        <div class="l-content">
-          <header class="l-header">
-            <div class="l-header__content">
-              <p>{% for author in book.authors %}<a href="{{ author.get_absolute_url }}">{{ author.name }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}
-                {% if book.translators %}
-                  (tłum. {% for translator in book.translators %}{{ translator }}{% endfor %})
-                {% endif %}
-              </p>
-              <h1>{{ book.title }}</h1>
-            </div>
-            <!-- div class="l-header__actions">
-              <button class="l-button l-button--fav">
-                <img src="{% static '2022/images/fav.svg' %}" alt="Dodaj do ulubionych">
-              </button>
-            </div-->
-          </header>
-          <article class="l-article">
-            <div class="c-media">
-              <div class="c-media__actions">
-                <div class="c-media__btn">
-                  {% if book.has_mp3_file %}
-                    <button class="l-button l-button--media" id="audiobook"><i class="icon icon-audio"></i> pobierz audiobook</button>
-                  {% endif %}
-                </div>
-                <div class="c-media__btn">
-                  <button class="l-button l-button--media" id="ebook"><i class="icon icon-book"></i> pobierz książkę</button>
-                </div>
-                <div class="c-media__btn">
-                  {% with t=book.get_first_text %}
-                    {% if t %}
-                      <a href="{% url 'book_text' t.slug %}" class="l-button l-button--media l-button--media--full"><i class="icon icon-eye"></i> czytaj online</a>
-                    {% endif %}
-                  {% endwith %}
-                </div>
-              </div>
-
-
-
-              {% if book.has_mp3_file %}
-                {% include 'catalogue/snippets/2022_jplayer.html' %}
-              {% else %}
-                {% with ch=book.get_child_audiobook %}
-                  {% if ch %}
-                    {% include 'catalogue/snippets/2022_jplayer_link.html' with book=ch %}
-                  {% endif %}
-                {% endwith %}
-
-              {% endif %}
-
-
-
-
-              <div class="c-media__popup" data-popup="ebook">
-                <div class="c-media__popup__box">
-                  <div class="c-media__popup__box__lead">
-                    <h2>Pobieranie e-booka</h2>
-                    <p>Wybierz wersję dla siebie:</p>
-                  </div>
-                  <div class="c-media__popup__box__items">
-                    {% if book.pdf_file %}
-                      <div class="c-media__popup__box__item">
-                        <div>
-                          <h3>.pdf</h3>
-                          <p>Jeśli planujesz wydruk albo lekturę na urządzeniu mobilnym bez dodatkowych aplikacji.</p>
-                        </div>
-                        <div>
-                          <a href="{{ book.pdf_url }}" class="l-button l-button--media l-button--media--full">.pdf</a>
-                        </div>
-                      </div>
-                    {% endif %}
-                    {% if book.epub_file %}
-                      <div class="c-media__popup__box__item">
-                        <div>
-                          <h3>.epub</h3>
-                          <p>Uniwersalny format e-booków, obsługiwany przez większość czytników sprzętowych i aplikacji na urządzenia mobilne.</p>
-                        </div>
-                        <div>
-                          <a href="{{ book.epub_url }}" class="l-button l-button--media l-button--media--full">.epub</a>
-                        </div>
-                      </div>
-                    {% endif %}
-                    {% if book.mobi_file %}
-                      <div class="c-media__popup__box__item">
-                        <div>
-                          <h3>.mobi</h3>
-                          <p>Natywny format dla czytnika Amazon Kindle.</p>
-                        </div>
-                        <div>
-                          <a href="{{ book.mobi_url }}" class="l-button l-button--media l-button--media--full">.mobi</a>
-                        </div>
-                      </div>
-                    {% endif %}
-                    {% if book.synchro_file %}
-                      <div class="c-media__popup__box__item">
-                        <div>
-                          <h3>synchrobook (epub3)</h3>
-                          <p>Książka elektroniczna i audiobook w jednym. Wymaga aplikacji obsługującej format (np. ..., ..., ...).</p>
-                        </div>
-                        <div>
-                          <a href="#" class="l-button l-button--media l-button--media--full">synchrobook</a>
-                        </div>
-                      </div>
-                    {% endif %}
-                    {% if book.txt_file or book.fb2_file %}
-                      <div class="c-media__popup__box__item">
-                        <div>
-                          <h3>inne formaty</h3>
-                          <ul>
-                            {% if book.txt_file %}<li><a href="{{ book.txt_url }}">plik tekstowy (.txt)</a></li>{% endif %}
-                            {% if book.fb2_file %}<li><a href="{{ book.fb2_url }}">FictionBook</a></li>{% endif %}
-                          </ul>
-                        </div>
-                      </div>
-                    {% endif %}
-                  </div>
-                  <button class="c-media__popup__close">
-                    <img src="{% static '2022/images/close.svg' %}" alt="Zamknij">
-                  </button>
-                </div>
-              </div>
-              {% if book.has_mp3_file %}
-                <div class="c-media__popup" data-popup="audiobook">
-                  <div class="c-media__popup__box">
-                    <div class="c-media__popup__box__lead">
-                      <h2>Pobieranie audiobooka</h2>
-                      <p>Wybierz wersję dla siebie:</p>
-                    </div>
-                    <div class="c-media__popup__box__items">
-                      <div class="c-media__popup__box__item">
-                        <div>
-                          <h3>.mp3</h3>
-                          <p>Uniwersalny format, obsługiwany przez wszystkie urządzenia.</p>
-                        </div>
-                        <div>
-                          <a href="{% url 'download_zip_mp3' book.slug %}" class="l-button l-button--media l-button--media--full">.mp3</a>
-                        </div>
-                      </div>
-                      {% if book.has_ogg_file %}
-                        <div class="c-media__popup__box__item">
-                          <div>
-                            <h3>OggVorbis</h3>
-                            <p>Otwarty format plików audio, oferujący nagranie w najwyższej jakości dźwiękowej.</p>
-                          </div>
-                          <div>
-                            <a href="{% url 'download_zip_ogg' book.slug %}" class="l-button l-button--media l-button--media--full">.ogg</a>
-                          </div>
-                        </div>
-                      {% endif %}
-                      {% if book.has_daisy_file %}
-                        <div class="c-media__popup__box__item">
-                          <div>
-                            <h3>DAISY</h3>
-                            <p>Format dla osób z dysfunkcjami czytania.</p>
-                          </div>
-                          <div>
-                            {% for dsy in book.media_daisy %}
-                              <a href="{{ dsy.file.url }}" class="l-button l-button--media l-button--media--full">DAISY</a>
-                            {% endfor %}
-                          </div>
-                        </div>
-                      {% endif %}
-                      {% if book.has_synchro_file %}
-                        <div class="c-media__popup__box__item">
-                          <div>
-                            <h3>synchrobook</h3>
-                            <p>Książka elektroniczna i audiobook w jednym. Wymaga aplikacji obsługującej format.</p>
-                          </div>
-                          <div>
-                            <a href="#" class="l-button l-button--media l-button--media--full">synchrobook</a>
-                          </div>
-                        </div>
-                      {% endif %}
-                    </div>
-                    <button class="c-media__popup__close">
-                      <img src="{% static '2022/images/close.svg' %}" alt="Zamknij">
-                    </button>
-                  </div>
-                </div>
-              {% endif %}
-            </div>
-
-            <div class="l-article__overlay" data-max-height="327">
-              <h3>Opis</h3>
-              {{ book.abstract|safe }}
-
-              {% if book.toc %}
-                <h4>Spis treści:</h4>
-                {{ book.toc|safe }}
-              {% endif %}
-            </div>
-            <button class="l-article__read-more" aria-label="Kliknij aby rozwinąć" data-label="Czytaj więcej" data-action="Zwiń tekst">Czytaj więcej</button>
-          </article>
-          <div class="c-support">
-            <div>
-              <h2>Ta książka jest dostępna dla tysięcy dzieciaków dzięki <span>darowiznom</span> od osób takich jak <span>Ty</span>!</h2>
-              <a href="/towarzystwo/">Dorzuć się!</a>
-            </div>
-            <figure>
-              <img src="{% static '2022/images/img-1.jpg' %}" alt="Dorzuć się!">
-            </figure>
-          </div>
-        </div>
-      </section>
-
-      {% for author in book.authors %}
-        <section class="l-section">
-          <div class="l-author">
-            <div class="row">
-              <h2>O autorze</h2>
-              <div>
-                {% if author.photo %}
-                  <figure class="l-author__photo">
-                    <img src="{{ author.photo.url }}" alt="{{ author.name }}" style="width: 238px;">
-                    <figcaption>
-                      {{ author.photo_attribution|safe }}
-                    </figcaption>
-                  </figure>
-                {% endif %}
-                <article class="l-author__info">
-                  <h3>{{ author.name }}</h3>
-                  <div class="l-article__overlay" data-max-height="327">
-                    {{ author.description|safe }}
-                  </div>
-                  <button class="l-article__read-more" aria-label="Kliknij aby rozwinąć" data-label="Czytaj więcej" data-action="Zwiń tekst">Czytaj więcej</button>
-                </article>
-              </div>
-            </div>
-
-            {% choose_cites book 3 as cites %}
-            {% if cites %}
-              <div class="row">
-                <div class="l-author__quotes">
-                  <div class="l-author__quotes__slider">
-                    {% for fragment in cites %}
-                      <div class="l-author__quotes__slider__item">
-                        <em>
-                          {{ fragment.short_text|safe }}
-                        </em>
-                        <p>{{ fragment.book.pretty_title }}</p>
-                      </div>
-                    {% endfor %}
-                  </div>
-                </div>
-              </div>
-            {% endif %}
-          </div>
-      </section>
-      {% endfor %}
-
-      <section class="l-section">
-        <div class="l-themes__wrapper">
-          {% with book.related_themes as themes %}
-            {% if themes %}
-              <h2>Motywy występujące w tym utworze <a href="/katalog/motyw/"><span>Wszystkie motywy</span> <i class="icon icon-arrow-right"></i></a></h2>
-              <div class="l-themes">
-                <ul>
-                  {% for item in themes %}
-                    <li><a href="{% url 'book_fragments' book.slug item.slug %}">{{ item|lower }}&nbsp;({{ item.count}})</a></li>
-                  {% endfor %}
-                </ul>
-              </div>
-            {% endif %}
-          {% endwith %}
-          <ul class="links">
-            <li>
-              <a href="{{ book.xml_url }}">źródłowy plik XML</a>
-            </li>
-            <li>
-              <a target="_blank" href="{% url 'poem_from_book' book.slug %}">miksuj treść utworu</a>
-            </li>
-            <li>
-              <a target="_blank" href="{{ book.get_extra_info_json.about }}">utwór na Platformie Redakcyjnej</a>
-            </li>
-          </ul>
-        </div>
-      </section>
-    </main>
-
-
-
-
-
-    <section class="l-section">
-      <div class="l-books__wrapper">
-        <div class="l-container">
-          <h2>Tytuły powiązane</h2>
-          <div class="l-books">
-            {% if book.other_versions %}
-              {% for rel in book.other_versions %}
-                <article class="l-books__item">
-                  <figure class="l-books__item__img">
-                    <a href="{{ rel.get_absolute_url }}">
-                      <img src="{% if rel.cover %}{{ rel.cover.url }}{% endif %}" alt="{{ rel.pretty_title }}">
-                    </a>
-                  </figure>
-                  <h3>
-                    {% for author in rel.authors %}
-                      <a href="{{ author.get_absolute_url }}">{{ author }}</a>
-                    {% endfor %}
-                  </h3>
-                  <h2><a href="{{ rel.get_absolute_url }}">{{ rel.title }}</a></h2>
-                </article>
-              {% endfor %}
-            {% endif %}
-
-
-            {% related_books_2021 book taken=book.other_versions|length as related_books %}
-            {% for rel in related_books %}
-              <article class="l-books__item">
-                <figure class="l-books__item__img">
-                  <a href="{{ rel.get_absolute_url }}">
-                    <img src="{% if rel.cover %}{{ rel.cover.url }}{% endif %}" alt="{{ rel.pretty_title }}">
-                  </a>
-                </figure>
-                <h3>
-                  {% for author in rel.authors %}
-                    <a href="{{ author.get_absolute_url }}">{{ author|upper }}</a>
-                  {% endfor %}
-                </h3>
-                <h2><a href="{{ rel.get_absolute_url }}">{{ rel.title }}</a></h2>
-              </article>
-            {% endfor %}
-
-            <article class="l-books__item l-books__item--link">
-              <a href="/katalog/kolekcje/">i wiele innych książek, wierszy, obrazów, audiobooków…</a>
-              <a href="/katalog/kolekcje/" class="icon-link"><i class="icon icon-all"></i></a>
-            </article>
-
-          </div>
-        </div>
-      </div>
-    </section>
-
-    <div class="l-footer">
-      <div class="l-container">
-        <div class="l-footer__row">
-          <a href="#"><img src="{% static '2022/images/FNP-logo.png' %}" alt="FUNDACJA Nowoczesna Polska"></a>
-          <ul>
-            <li>ul. Marszałkowska 84/92 lok. 125</li>
-            <li>00-514 Warszawa</li>
-          </ul>
-          <ul class="teal">
-            <li>tel. <a href="#">(22) 621 30 17</a></li>
-            <li>email <a href="#">fundacja@nowoczesnapolska.org.pl</a></li>
-          </ul>
-        </div>
-        <div class="l-footer__row">
-          <div>
-            Wolne Lektury to projekt prowadzony przez fundację <a href="#">Nowoczesna Polska</a>. <br>
-            Hosting: <a href="#">ICM</a>.
-          </div>
-          <div>
-            <a href="#"><img src="{% static '2022/images/MKiDN.png' %}" alt="MKiDN"></a>
-          </div>
-          <div>
-            Strona biblioteki Wolne Lektury powstała dzięki dofinansowaniu ze środków Ministra <a href="#">Kultury i Dziedzictwa Narodowego</a>
-            pochodzących z <a href="#">Funduszu Promocji Kultury</a> – państwowego funduszu celowego.
-          </div>
-        </div>
-      </div>
-    </div>
-
-    <script src="{% static '2022/scripts/vendor.js' %}"></script>
-    <script src="{% static '2022/scripts/main.js' %}"></script>
-
-    {% javascript '2022' %}
-    {% javascript '2022_player' %}
-  </body>
-</html>
diff --git a/src/catalogue/templates/catalogue/2022/book_detail.html b/src/catalogue/templates/catalogue/2022/book_detail.html
new file mode 100644 (file)
index 0000000..149be12
--- /dev/null
@@ -0,0 +1,494 @@
+<!doctype html>
+{% load pipeline %}
+{% load static %}
+{% load choose_cites from social_tags %}
+{% load choose_fragment license_icon from catalogue_tags %}
+{% load catalogue_tags %}
+
+
+<html class="no-js">
+  <head>
+    <meta charset="utf-8">
+    <meta name="description" content="">
+    <meta name="viewport" content="width=device-width,initial-scale=1">
+    <title>WolneLektury.pl</title>
+    <link rel="apple-touch-icon" href="apple-touch-icon.png">
+
+    {% stylesheet '2022' %}
+      <script src="scripts/modernizr.js"></script>
+
+      <link rel="preconnect" href="https://fonts.googleapis.com">
+      <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+      <link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&display=swap" rel="stylesheet">
+  </head>
+  <body>
+
+    <nav class="l-navigation">
+      <div class="l-change-pop">
+        <h3>Zmieniamy się!</h3>
+        <p>
+          Jeżeli to czytasz jesteś jedną z osób, której prezentujemy nowy wygląd strony książki.
+          Będziemy bardzo! wdzięczni za Twoją opinię – w prawym dolnym rogu znajdziesz przycisk oceny.
+          Jeżeli wolisz klasyczny wygląd - wystarczy, że <a class="quit-experiment" href="#">klikniesz tutaj</a>
+        </p>
+        <button class="l-change-pop__close">
+          <i class="icon icon-close"></i>
+        </button>
+      </div>
+      <div class="l-container">
+        <a href="/" class="l-navigation__logo">
+          <img src="{% static "2022/images/logo.png" %}" alt="WolneLektury.pl">
+        </a>
+        <div class="l-naviagion__search">
+          <form action="/szukaj/">
+            <input id="search" name="q" type="text" placeholder="szukaj tytułu, autora, motywów…" autocomplete="off" data-source="/szukaj/hint/?max=10">
+          </form>
+        </div>
+        <div class="l-navigation__actions">
+          <a href="/ludzie/polka/"><i class="icon icon-liked"></i></a>
+          <button class="l-navigation__button js-menu" aria-label="Menu">
+            <span class="c-hamburger">
+              <span class="bar"></span>
+            </span>
+          </button>
+        </div>
+      </div>
+    </nav>
+
+
+    {# TODO: BREADCRUMBS #}
+    <div class="l-container">
+      <div class="l-breadcrumb">
+        <a href="/"><span>Strona główna</span></a>
+        <a href="/katalog/lektury/"><span>Literatura</span></a>
+        {% for ancestor in book.ancestors %}
+          <a href="{{ ancestor.get_absolute_url }}">{{ ancestor.title }}</a>
+        {% endfor %}
+      </div>
+    </div>
+
+
+    <main class="l-main">
+      <section class="l-section">
+        <aside class="l-aside">
+          <figure>
+            <img src="{% if book.cover_clean %}{{ book.cover_clean.url }}{% endif %}" alt="{{ book.pretty_title }}" width="240">
+          </figure>
+          <ul class="l-aside__info">
+            <li><span>Epoka:</span> {% for tag in book.epochs %}<a href="{{ tag.get_absolute_url }}">{{ tag.name|lower }}</a> {% endfor %}</li>
+            <li><span>Rodzaj:</span> {% for tag in book.kinds %}<a href="{{ tag.get_absolute_url }}">{{ tag.name|lower }}</a> {% endfor %}</li>
+            <li><span>Gatunek:</span> {% for tag in book.genres %}<a href="{{ tag.get_absolute_url }}">{{ tag.name|lower }}</a> {% endfor %}</li>
+          </ul>
+          {% if book.parent or book.get_children %}
+            <ul class="l-aside__zbiory">
+              {% if book.parent %}
+                {% for b in book.ancestors %}
+                  <li>
+                    <a href="{{ b.get_absolute_url }}">{{ b.title }}</a>
+                    <ul>
+                {% endfor %}
+                {% for b in book.get_siblings %}
+                  <li>
+                    {% if b == book %}
+                      <strong>{{ b.title }}</strong>
+                      <ul>
+                        {% for c in book.get_children %}
+                          <li>
+                            <a href="{{ c.get_absolute_url }}">{{ c.title }}</a>
+                          </li>
+                        {% endfor %}
+                      </ul>
+                    {% else %}
+                      <a href="{{ b.get_absolute_url }}">{{ b.title }}</a>
+                    {% endif %}
+                  </li>
+                {% endfor %}
+
+                {% for b in book.ancestor.all %}
+                    </ul>
+                  </li>
+                {% endfor %}
+              {% else %}
+                <li>
+                  <strong>{{ book.title }}</strong>
+                  <ul>
+                    {% for c in book.get_children %}
+                      <li>
+                        <a href="{{ c.get_absolute_url }}">{{ c.title }}</a>
+                      </li>
+                    {% endfor %}
+                  </ul>
+                </li>
+              {% endif %}
+            </ul>
+          {% endif  %}
+        </aside>
+        <div class="l-content">
+          <header class="l-header">
+            <div class="l-header__content">
+              <p>{% for author in book.authors %}<a href="{{ author.get_absolute_url }}">{{ author.name }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}
+                {% if book.translators %}
+                  (tłum. {% for translator in book.translators %}{{ translator }}{% endfor %})
+                {% endif %}
+              </p>
+              <h1>{{ book.title }}</h1>
+            </div>
+            <!-- div class="l-header__actions">
+              <button class="l-button l-button--fav">
+                <img src="{% static '2022/images/fav.svg' %}" alt="Dodaj do ulubionych">
+              </button>
+            </div-->
+          </header>
+          <article class="l-article">
+            <div class="c-media">
+              <div class="c-media__actions">
+                <div class="c-media__btn">
+                  {% if book.has_mp3_file %}
+                    <button class="l-button l-button--media" id="audiobook"><i class="icon icon-audio"></i> pobierz audiobook</button>
+                  {% endif %}
+                </div>
+                <div class="c-media__btn">
+                  <button class="l-button l-button--media" id="ebook"><i class="icon icon-book"></i> pobierz książkę</button>
+                </div>
+                <div class="c-media__btn">
+                  {% with t=book.get_first_text %}
+                    {% if t %}
+                      <a href="{% url 'book_text' t.slug %}" class="l-button l-button--media l-button--media--full"><i class="icon icon-eye"></i> czytaj online</a>
+                    {% endif %}
+                  {% endwith %}
+                </div>
+              </div>
+
+
+
+              {% if book.has_mp3_file %}
+                {% include 'catalogue/snippets/2022_jplayer.html' %}
+              {% else %}
+                {% with ch=book.get_child_audiobook %}
+                  {% if ch %}
+                    {% include 'catalogue/snippets/2022_jplayer_link.html' with book=ch %}
+                  {% endif %}
+                {% endwith %}
+
+              {% endif %}
+
+
+
+
+              <div class="c-media__popup" data-popup="ebook">
+                <div class="c-media__popup__box">
+                  <div class="c-media__popup__box__lead">
+                    <h2>Pobieranie e-booka</h2>
+                    <p>Wybierz wersję dla siebie:</p>
+                  </div>
+                  <div class="c-media__popup__box__items">
+                    {% if book.pdf_file %}
+                      <div class="c-media__popup__box__item">
+                        <div>
+                          <h3>.pdf</h3>
+                          <p>Jeśli planujesz wydruk albo lekturę na urządzeniu mobilnym bez dodatkowych aplikacji.</p>
+                        </div>
+                        <div>
+                          <a href="{{ book.pdf_url }}" class="l-button l-button--media l-button--media--full">.pdf</a>
+                        </div>
+                      </div>
+                    {% endif %}
+                    {% if book.epub_file %}
+                      <div class="c-media__popup__box__item">
+                        <div>
+                          <h3>.epub</h3>
+                          <p>Uniwersalny format e-booków, obsługiwany przez większość czytników sprzętowych i aplikacji na urządzenia mobilne.</p>
+                        </div>
+                        <div>
+                          <a href="{{ book.epub_url }}" class="l-button l-button--media l-button--media--full">.epub</a>
+                        </div>
+                      </div>
+                    {% endif %}
+                    {% if book.mobi_file %}
+                      <div class="c-media__popup__box__item">
+                        <div>
+                          <h3>.mobi</h3>
+                          <p>Natywny format dla czytnika Amazon Kindle.</p>
+                        </div>
+                        <div>
+                          <a href="{{ book.mobi_url }}" class="l-button l-button--media l-button--media--full">.mobi</a>
+                        </div>
+                      </div>
+                    {% endif %}
+                    {% if book.synchro_file %}
+                      <div class="c-media__popup__box__item">
+                        <div>
+                          <h3>synchrobook (epub3)</h3>
+                          <p>Książka elektroniczna i audiobook w jednym. Wymaga aplikacji obsługującej format (np. ..., ..., ...).</p>
+                        </div>
+                        <div>
+                          <a href="#" class="l-button l-button--media l-button--media--full">synchrobook</a>
+                        </div>
+                      </div>
+                    {% endif %}
+                    {% if book.txt_file or book.fb2_file %}
+                      <div class="c-media__popup__box__item">
+                        <div>
+                          <h3>inne formaty</h3>
+                          <ul>
+                            {% if book.txt_file %}<li><a href="{{ book.txt_url }}">plik tekstowy (.txt)</a></li>{% endif %}
+                            {% if book.fb2_file %}<li><a href="{{ book.fb2_url }}">FictionBook</a></li>{% endif %}
+                          </ul>
+                        </div>
+                      </div>
+                    {% endif %}
+                  </div>
+                  <button class="c-media__popup__close">
+                    <img src="{% static '2022/images/close.svg' %}" alt="Zamknij">
+                  </button>
+                </div>
+              </div>
+              {% if book.has_mp3_file %}
+                <div class="c-media__popup" data-popup="audiobook">
+                  <div class="c-media__popup__box">
+                    <div class="c-media__popup__box__lead">
+                      <h2>Pobieranie audiobooka</h2>
+                      <p>Wybierz wersję dla siebie:</p>
+                    </div>
+                    <div class="c-media__popup__box__items">
+                      <div class="c-media__popup__box__item">
+                        <div>
+                          <h3>.mp3</h3>
+                          <p>Uniwersalny format, obsługiwany przez wszystkie urządzenia.</p>
+                        </div>
+                        <div>
+                          <a href="{% url 'download_zip_mp3' book.slug %}" class="l-button l-button--media l-button--media--full">.mp3</a>
+                        </div>
+                      </div>
+                      {% if book.has_ogg_file %}
+                        <div class="c-media__popup__box__item">
+                          <div>
+                            <h3>OggVorbis</h3>
+                            <p>Otwarty format plików audio, oferujący nagranie w najwyższej jakości dźwiękowej.</p>
+                          </div>
+                          <div>
+                            <a href="{% url 'download_zip_ogg' book.slug %}" class="l-button l-button--media l-button--media--full">.ogg</a>
+                          </div>
+                        </div>
+                      {% endif %}
+                      {% if book.has_daisy_file %}
+                        <div class="c-media__popup__box__item">
+                          <div>
+                            <h3>DAISY</h3>
+                            <p>Format dla osób z dysfunkcjami czytania.</p>
+                          </div>
+                          <div>
+                            {% for dsy in book.media_daisy %}
+                              <a href="{{ dsy.file.url }}" class="l-button l-button--media l-button--media--full">DAISY</a>
+                            {% endfor %}
+                          </div>
+                        </div>
+                      {% endif %}
+                      {% if book.has_synchro_file %}
+                        <div class="c-media__popup__box__item">
+                          <div>
+                            <h3>synchrobook</h3>
+                            <p>Książka elektroniczna i audiobook w jednym. Wymaga aplikacji obsługującej format.</p>
+                          </div>
+                          <div>
+                            <a href="#" class="l-button l-button--media l-button--media--full">synchrobook</a>
+                          </div>
+                        </div>
+                      {% endif %}
+                    </div>
+                    <button class="c-media__popup__close">
+                      <img src="{% static '2022/images/close.svg' %}" alt="Zamknij">
+                    </button>
+                  </div>
+                </div>
+              {% endif %}
+            </div>
+
+            <div class="l-article__overlay" data-max-height="327">
+              <h3>Opis</h3>
+              {{ book.abstract|safe }}
+
+              {% if book.toc %}
+                <h4>Spis treści:</h4>
+                {{ book.toc|safe }}
+              {% endif %}
+            </div>
+            <button class="l-article__read-more" aria-label="Kliknij aby rozwinąć" data-label="Czytaj więcej" data-action="Zwiń tekst">Czytaj więcej</button>
+          </article>
+          <div class="c-support">
+            <div>
+              <h2>Ta książka jest dostępna dla tysięcy dzieciaków dzięki <span>darowiznom</span> od osób takich jak <span>Ty</span>!</h2>
+              <a href="/towarzystwo/">Dorzuć się!</a>
+            </div>
+            <figure>
+              <img src="{% static '2022/images/img-1.jpg' %}" alt="Dorzuć się!">
+            </figure>
+          </div>
+        </div>
+      </section>
+
+      {% for author in book.authors %}
+        <section class="l-section">
+          <div class="l-author">
+            <div class="row">
+              <h2>O autorze</h2>
+              <div>
+                {% if author.photo %}
+                  <figure class="l-author__photo">
+                    <img src="{{ author.photo.url }}" alt="{{ author.name }}" style="width: 238px;">
+                    <figcaption>
+                      {{ author.photo_attribution|safe }}
+                    </figcaption>
+                  </figure>
+                {% endif %}
+                <article class="l-author__info">
+                  <h3>{{ author.name }}</h3>
+                  <div class="l-article__overlay" data-max-height="327">
+                    {{ author.description|safe }}
+                  </div>
+                  <button class="l-article__read-more" aria-label="Kliknij aby rozwinąć" data-label="Czytaj więcej" data-action="Zwiń tekst">Czytaj więcej</button>
+                </article>
+              </div>
+            </div>
+
+            {% choose_cites book 3 as cites %}
+            {% if cites %}
+              <div class="row">
+                <div class="l-author__quotes">
+                  <div class="l-author__quotes__slider">
+                    {% for fragment in cites %}
+                      <div class="l-author__quotes__slider__item">
+                        <em>
+                          {{ fragment.short_text|safe }}
+                        </em>
+                        <p>{{ fragment.book.pretty_title }}</p>
+                      </div>
+                    {% endfor %}
+                  </div>
+                </div>
+              </div>
+            {% endif %}
+          </div>
+      </section>
+      {% endfor %}
+
+      <section class="l-section">
+        <div class="l-themes__wrapper">
+          {% with book.related_themes as themes %}
+            {% if themes %}
+              <h2>Motywy występujące w tym utworze <a href="/katalog/motyw/"><span>Wszystkie motywy</span> <i class="icon icon-arrow-right"></i></a></h2>
+              <div class="l-themes">
+                <ul>
+                  {% for item in themes %}
+                    <li><a href="{% url 'book_fragments' book.slug item.slug %}">{{ item|lower }}&nbsp;({{ item.count}})</a></li>
+                  {% endfor %}
+                </ul>
+              </div>
+            {% endif %}
+          {% endwith %}
+          <ul class="links">
+            <li>
+              <a href="{{ book.xml_url }}">źródłowy plik XML</a>
+            </li>
+            <li>
+              <a target="_blank" href="{% url 'poem_from_book' book.slug %}">miksuj treść utworu</a>
+            </li>
+            <li>
+              <a target="_blank" href="{{ book.get_extra_info_json.about }}">utwór na Platformie Redakcyjnej</a>
+            </li>
+          </ul>
+        </div>
+      </section>
+    </main>
+
+
+
+
+
+    <section class="l-section">
+      <div class="l-books__wrapper">
+        <div class="l-container">
+          <h2>Tytuły powiązane</h2>
+          <div class="l-books">
+            {% if book.other_versions %}
+              {% for rel in book.other_versions %}
+                <article class="l-books__item">
+                  <figure class="l-books__item__img">
+                    <a href="{{ rel.get_absolute_url }}">
+                      <img src="{% if rel.cover %}{{ rel.cover.url }}{% endif %}" alt="{{ rel.pretty_title }}">
+                    </a>
+                  </figure>
+                  <h3>
+                    {% for author in rel.authors %}
+                      <a href="{{ author.get_absolute_url }}">{{ author }}</a>
+                    {% endfor %}
+                  </h3>
+                  <h2><a href="{{ rel.get_absolute_url }}">{{ rel.title }}</a></h2>
+                </article>
+              {% endfor %}
+            {% endif %}
+
+
+            {% related_books_2022 book taken=book.other_versions|length as related_books %}
+            {% for rel in related_books %}
+              <article class="l-books__item">
+                <figure class="l-books__item__img">
+                  <a href="{{ rel.get_absolute_url }}">
+                    <img src="{% if rel.cover %}{{ rel.cover.url }}{% endif %}" alt="{{ rel.pretty_title }}">
+                  </a>
+                </figure>
+                <h3>
+                  {% for author in rel.authors %}
+                    <a href="{{ author.get_absolute_url }}">{{ author|upper }}</a>
+                  {% endfor %}
+                </h3>
+                <h2><a href="{{ rel.get_absolute_url }}">{{ rel.title }}</a></h2>
+              </article>
+            {% endfor %}
+
+            <article class="l-books__item l-books__item--link">
+              <a href="/katalog/kolekcje/">i wiele innych książek, wierszy, obrazów, audiobooków…</a>
+              <a href="/katalog/kolekcje/" class="icon-link"><i class="icon icon-all"></i></a>
+            </article>
+
+          </div>
+        </div>
+      </div>
+    </section>
+
+    <div class="l-footer">
+      <div class="l-container">
+        <div class="l-footer__row">
+          <a href="#"><img src="{% static '2022/images/FNP-logo.png' %}" alt="FUNDACJA Nowoczesna Polska"></a>
+          <ul>
+            <li>ul. Marszałkowska 84/92 lok. 125</li>
+            <li>00-514 Warszawa</li>
+          </ul>
+          <ul class="teal">
+            <li>tel. <a href="#">(22) 621 30 17</a></li>
+            <li>email <a href="#">fundacja@nowoczesnapolska.org.pl</a></li>
+          </ul>
+        </div>
+        <div class="l-footer__row">
+          <div>
+            Wolne Lektury to projekt prowadzony przez fundację <a href="#">Nowoczesna Polska</a>. <br>
+            Hosting: <a href="#">ICM</a>.
+          </div>
+          <div>
+            <a href="#"><img src="{% static '2022/images/MKiDN.png' %}" alt="MKiDN"></a>
+          </div>
+          <div>
+            Strona biblioteki Wolne Lektury powstała dzięki dofinansowaniu ze środków Ministra <a href="#">Kultury i Dziedzictwa Narodowego</a>
+            pochodzących z <a href="#">Funduszu Promocji Kultury</a> – państwowego funduszu celowego.
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <script src="{% static '2022/scripts/vendor.js' %}"></script>
+    <script src="{% static '2022/scripts/main.js' %}"></script>
+
+    {% javascript '2022' %}
+    {% javascript '2022_player' %}
+  </body>
+</html>
index 8915807..8124b34 100644 (file)
@@ -401,7 +401,7 @@ def related_books(context, instance, limit=6, random=1, taken=0):
 
 
 @register.simple_tag
 
 
 @register.simple_tag
-def related_books_2021(instance, limit=4, taken=0):
+def related_books_2022(instance, limit=4, taken=0):
     limit -= taken
     max_books = limit
 
     limit -= taken
     max_books = limit
 
index 9da3ebb..e83b18c 100644 (file)
@@ -294,7 +294,7 @@ def book_detail(request, slug):
     
     return render(
         request,
     
     return render(
         request,
-        'catalogue/2021/book_detail.html' if new_layout.value else 'catalogue/book_detail.html',
+        'catalogue/2022/book_detail.html' if new_layout.value else 'catalogue/book_detail.html',
         {
             'book': book,
             'book_children': book.children.all().order_by('parent_number', 'sort_key'),
         {
             'book': book,
             'book_children': book.children.all().order_by('parent_number', 'sort_key'),