From: Radek Czajka Date: Thu, 19 Dec 2013 11:47:39 +0000 (+0100) Subject: Merge branch 'obrazy' into rwd X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/ab8ffbde2df33d9c699e029ba613d2b014ba44b8?ds=inline;hp=-c Merge branch 'obrazy' into rwd Conflicts: apps/catalogue/locale/pl/LC_MESSAGES/django.mo apps/catalogue/locale/pl/LC_MESSAGES/django.po apps/wolnelektury_core/static/css/base.css apps/wolnelektury_core/static/css/book_box.css apps/wolnelektury_core/static/css/cite.css apps/wolnelektury_core/static/css/header.css apps/wolnelektury_core/static/css/master.book.css apps/wolnelektury_core/static/css/picture_box.css apps/wolnelektury_core/static/css/screen.css wolnelektury/settings/static.py --- ab8ffbde2df33d9c699e029ba613d2b014ba44b8 diff --combined apps/catalogue/locale/pl/LC_MESSAGES/django.mo index 440e48eaf,a8142bbce..d3585a52a Binary files differ diff --combined apps/catalogue/locale/pl/LC_MESSAGES/django.po index de29bb162,76b1aa73c..45c6f0cd4 --- a/apps/catalogue/locale/pl/LC_MESSAGES/django.po +++ b/apps/catalogue/locale/pl/LC_MESSAGES/django.po @@@ -7,9 -7,9 +7,9 @@@ msgid " msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2013-12-03 14:43+0100\n" - "PO-Revision-Date: 2013-12-03 14:44+0100\n" -"POT-Creation-Date: 2013-12-16 09:19+0100\n" -"PO-Revision-Date: 2013-12-16 15:51+0100\n" -"Last-Translator: Marcin Koziej \n" ++"POT-Creation-Date: 2013-12-19 12:45+0100\n" ++"PO-Revision-Date: 2013-12-19 12:46+0100\n" +"Last-Translator: Radek Czajka \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@@ -74,7 -74,7 +74,7 @@@ msgstr "Duży msgid "Queue is full. Please try again later." msgstr "Kolejka jest pełna. Proszę spróbować ponownie później." - #: views.py:522 -#: views.py:585 ++#: views.py:597 #, python-format msgid "" "An error occurred: %(exception)s\n" @@@ -85,21 -85,21 +85,21 @@@ msgstr " "\n" "%(tb)s" - #: views.py:523 -#: views.py:586 ++#: views.py:598 msgid "Book imported successfully" msgstr "Książka zaimportowana" - #: views.py:525 -#: views.py:588 ++#: views.py:600 #, python-format msgid "Error importing file: %r" msgstr "Błąd podczas importowania pliku: %r" - #: views.py:557 -#: views.py:620 ++#: views.py:632 msgid "Download custom PDF" msgstr "Stwórz własny PDF" - #: views.py:558 templates/catalogue/book_short.html:103 -#: views.py:621 templates/catalogue/book_short.html:92 -#: templates/catalogue/book_text.html:27 templates/catalogue/book_wide.html:63 ++#: views.py:633 templates/catalogue/book_short.html:103 +#: templates/catalogue/book_wide.html:63 msgid "Download" msgstr "Pobierz" @@@ -107,60 -107,60 +107,65 @@@ msgid "title" msgstr "tytuł" - #: models/book.py:29 models/tag.py:33 + #: models/book.py:29 models/tag.py:34 msgid "sort key" msgstr "klucz sortowania" --#: models/book.py:30 models/book.py:32 models/collection.py:12 - #: models/collection.py:15 models/tag.py:32 ++#: models/book.py:30 ++#, fuzzy ++msgid "sort key by author" ++msgstr "Znalezieni autorzy" ++ ++#: models/book.py:31 models/book.py:33 models/collection.py:12 + #: models/collection.py:15 models/tag.py:33 msgid "slug" msgstr "slug" --#: models/book.py:33 ++#: models/book.py:34 msgid "language code" msgstr "Kod języka" - #: models/book.py:35 models/book.py:151 models/collection.py:13 - #: models/tag.py:36 models/tag.py:90 -#: models/book.py:35 models/book.py:146 models/collection.py:13 ++#: models/book.py:36 models/book.py:161 models/collection.py:13 + #: models/tag.py:37 models/tag.py:94 msgid "description" msgstr "opis" - #: models/book.py:36 models/book.py:37 models/bookmedia.py:29 models/tag.py:43 - #: models/tag.py:44 -#: models/book.py:36 models/book.py:37 models/bookmedia.py:29 models/tag.py:46 ++#: models/book.py:37 models/book.py:38 models/bookmedia.py:29 models/tag.py:46 + #: models/tag.py:47 msgid "creation date" msgstr "data utworzenia" --#: models/book.py:38 ++#: models/book.py:39 msgid "parent number" msgstr "numer rodzica" --#: models/book.py:39 models/bookmedia.py:30 ++#: models/book.py:40 models/bookmedia.py:30 msgid "extra information" msgstr "dodatkowe informacje" --#: models/book.py:44 ++#: models/book.py:45 msgid "cover" msgstr "okładka" - #: models/book.py:66 models/tag.py:22 -#: models/book.py:66 models/collection.py:18 models/tag.py:22 ++#: models/book.py:67 models/collection.py:18 models/tag.py:22 msgid "book" msgstr "książka" --#: models/book.py:67 ++#: models/book.py:68 msgid "books" msgstr "książki" - #: models/book.py:249 -#: models/book.py:244 ++#: models/book.py:259 #, python-format msgid "Book \"%s\" does not exist." msgstr "Utwór \"%s\" nie istnieje." - #: models/book.py:263 -#: models/book.py:258 ++#: models/book.py:273 #, python-format msgid "Book %s already exists" msgstr "Książka %s już istnieje" - #: models/book.py:608 models/bookmedia.py:23 -#: models/book.py:599 models/bookmedia.py:23 ++#: models/book.py:620 models/bookmedia.py:23 #, python-format msgid "%s file" msgstr "plik %s" @@@ -169,7 -169,7 +174,7 @@@ msgid "type" msgstr "typ" - #: models/bookmedia.py:27 models/tag.py:31 + #: models/bookmedia.py:27 models/tag.py:32 msgid "name" msgstr "nazwa" @@@ -185,11 -185,15 +190,15 @@@ msgstr "media książki msgid "book slugs" msgstr "slugi utworów" - #: models/collection.py:20 + #: models/collection.py:18 models/tag.py:18 + msgid "kind" + msgstr "rodzaj" + + #: models/collection.py:22 msgid "collection" msgstr "kolekcja" - #: models/collection.py:21 + #: models/collection.py:23 msgid "collections" msgstr "kolekcje" @@@ -209,10 -213,6 +218,6 @@@ msgstr "autor msgid "epoch" msgstr "epoka" - #: models/tag.py:18 - msgid "kind" - msgstr "rodzaj" - #: models/tag.py:19 msgid "genre" msgstr "gatunek" @@@ -225,23 -225,31 +230,31 @@@ msgstr "motyw msgid "set" msgstr "półka" - #: models/tag.py:34 + #: models/tag.py:23 + msgid "thing" + msgstr "przedmiot" + + #: models/tag.py:35 msgid "category" msgstr "kategoria" - #: models/tag.py:39 + #: models/tag.py:40 msgid "book count" msgstr "liczba książek" - #: models/tag.py:61 + #: models/tag.py:41 + msgid "picture count" + msgstr "liczba obrazów" + + #: models/tag.py:65 msgid "tag" msgstr "tag" - #: models/tag.py:62 + #: models/tag.py:66 msgid "tags" msgstr "tagi" - #: models/tag.py:79 + #: models/tag.py:83 msgid "" "Book tags can't have attached links. Set them directly on the book instead " "of it's tag." @@@ -272,9 -280,9 +285,9 @@@ msgstr " "Możecie z niej korzystać bezpłatnie i bez ograniczeń.\n" "Audiobooki nagrywają znani aktorzy, wśród nich Danuta Stenka i Jan Peszek." -#: templates/catalogue/book_detail.html:20 +#: templates/catalogue/book_detail.html:21 #: templates/catalogue/tagged_object_list.html:74 - #: templates/catalogue/tagged_object_list.html:104 + #: templates/catalogue/tagged_object_list.html:109 msgid "See also" msgstr "Zobacz też" @@@ -312,8 -320,8 +325,8 @@@ msgstr " "Na tych samych warunkach 3.0." #: templates/catalogue/book_info.html:20 - msgid "Text prepared based on:" - msgstr "Tekst opracowany na podstawie:" + msgid "Resource prepared based on:" + msgstr "Zasób opracowany na podstawie:" #: templates/catalogue/book_info.html:28 msgid "Edited and annotated by:" @@@ -335,117 -343,88 +348,117 @@@ msgstr "Spis wszystkich utworów msgid "Table of Content" msgstr "Spis treści" -#: templates/catalogue/book_list.html:30 +#: templates/catalogue/book_list.html:31 msgid "↑ top ↑" msgstr "↑ góra ↑" -#: templates/catalogue/book_short.html:59 +#: templates/catalogue/book_short.html:61 #: templates/catalogue/picture_detail.html:54 msgid "Epoch" msgstr "Epoka" -#: templates/catalogue/book_short.html:66 +#: templates/catalogue/book_short.html:69 #: templates/catalogue/picture_detail.html:60 msgid "Kind" msgstr "Rodzaj" -#: templates/catalogue/book_short.html:73 +#: templates/catalogue/book_short.html:77 msgid "Genre" msgstr "Gatunek" -#: templates/catalogue/book_short.html:88 +#: templates/catalogue/book_short.html:86 +msgid "Language" +msgstr "Język" + +#: templates/catalogue/book_short.html:99 msgid "Read online" msgstr "Czytaj online" -#: templates/catalogue/book_short.html:95 -#: templates/catalogue/book_text.html:40 +#: templates/catalogue/book_short.html:106 msgid "to print" msgstr "do druku" -#: templates/catalogue/book_short.html:98 +#: templates/catalogue/book_short.html:109 msgid "for an e-book reader" msgstr "na czytnik e-booków" -#: templates/catalogue/book_short.html:101 -#: templates/catalogue/book_text.html:46 +#: templates/catalogue/book_short.html:112 msgid "for Kindle" msgstr "na Kindle" -#: templates/catalogue/book_short.html:104 -#: templates/catalogue/book_text.html:49 +#: templates/catalogue/book_short.html:115 msgid "FictionBook" msgstr "FictionBook" -#: templates/catalogue/book_short.html:107 -#: templates/catalogue/book_text.html:52 +#: templates/catalogue/book_short.html:118 msgid "for advanced usage" msgstr "do zadań specjalnych" -#: templates/catalogue/book_short.html:113 -#: templates/catalogue/book_text.html:30 +#: templates/catalogue/book_short.html:124 msgid "Listen" msgstr "Słuchaj" -#: templates/catalogue/book_text.html:9 templates/catalogue/player.html:11 +#: templates/catalogue/book_text.html:10 templates/catalogue/player.html:11 msgid "Wolne Lektury" msgstr "Wolne Lektury" -#: templates/catalogue/book_text.html:22 +#: templates/catalogue/book_text.html:34 +msgid "Other versions" +msgstr "Inne wersje" + +#: templates/catalogue/book_text.html:40 msgid "Table of contents" msgstr "Spis treści" - #: templates/catalogue/book_text.html:44 templatetags/catalogue_tags.py:423 -#: templates/catalogue/book_text.html:23 templatetags/catalogue_tags.py:420 ++#: templates/catalogue/book_text.html:44 templatetags/catalogue_tags.py:424 msgid "Themes" msgstr "Motywy" -#: templates/catalogue/book_text.html:24 +#: templates/catalogue/book_text.html:48 +#: templates/catalogue/book_text.html:100 +msgid "Settings" +msgstr "Ustawienia" + +#: templates/catalogue/book_text.html:52 msgid "Edit. note" msgstr "Nota red." -#: templates/catalogue/book_text.html:25 +#: templates/catalogue/book_text.html:56 msgid "Infobox" msgstr "Informacje" -#: templates/catalogue/book_text.html:26 templates/catalogue/player.html:34 -msgid "Book's page" -msgstr "Strona utworu" +#: templates/catalogue/book_text.html:68 +#: templates/catalogue/book_text.html:114 +msgid "Close" +msgstr "Zamknij" -#: templates/catalogue/book_text.html:43 -msgid "for a reader" -msgstr "na czytnik" +#: templates/catalogue/book_text.html:69 +msgid "Please wait..." +msgstr "Proszę czekać…" -#: templates/catalogue/book_text.html:56 templates/catalogue/book_wide.html:67 -msgid "Download all audiobooks for this book" -msgstr "Pobierz wszystkie audiobooki tego utworu" +#: templates/catalogue/book_text.html:82 +msgid "Other versions of the book" +msgstr "Inne wersje utworu" + +#: templates/catalogue/book_text.html:83 +msgid "Close the other version" +msgstr "Zamknij drugą wersję" + +#: templates/catalogue/book_text.html:101 +msgid "Display line numbers" +msgstr "Wyświetlaj numerację" + +#: templates/catalogue/book_text.html:102 +msgid "Display themes" +msgstr "Wyświetlaj motywy" + +#: templates/catalogue/book_text.html:103 +msgid "Display footnotes" +msgstr "Wyświetlaj przypisy" + +#: templates/catalogue/book_text.html:116 +msgid "Loading" +msgstr "Ładowanie" #: templates/catalogue/book_wide.html:22 #: templates/catalogue/tagged_object_list.html:60 @@@ -488,12 -467,7 +501,12 @@@ msgstr "Opis lektury w Wikipedii msgid "Mix this book" msgstr "Miksuj treść utworu" +#: templates/catalogue/book_wide.html:67 +msgid "Download all audiobooks for this book" +msgstr "Pobierz wszystkie audiobooki tego utworu" + #: templates/catalogue/catalogue.html:6 templates/catalogue/catalogue.html:11 +#: templates/catalogue/menu.html:5 msgid "Catalogue" msgstr "Katalog" @@@ -504,28 -478,28 +517,28 @@@ msgstr "Pobierz katalog w formacie PDF. #: templates/catalogue/catalogue.html:19 #: templates/catalogue/search_multiple_hits.html:17 #: templates/catalogue/tagged_object_list.html:26 - #: templatetags/catalogue_tags.py:419 -#: templatetags/catalogue_tags.py:416 ++#: templatetags/catalogue_tags.py:420 msgid "Authors" msgstr "Autorzy" #: templates/catalogue/catalogue.html:22 #: templates/catalogue/search_multiple_hits.html:25 #: templates/catalogue/tagged_object_list.html:34 - #: templatetags/catalogue_tags.py:421 -#: templatetags/catalogue_tags.py:418 ++#: templatetags/catalogue_tags.py:422 msgid "Kinds" msgstr "Rodzaje" #: templates/catalogue/catalogue.html:25 #: templates/catalogue/search_multiple_hits.html:33 #: templates/catalogue/tagged_object_list.html:42 - #: templatetags/catalogue_tags.py:420 -#: templatetags/catalogue_tags.py:417 ++#: templatetags/catalogue_tags.py:421 msgid "Genres" msgstr "Gatunki" #: templates/catalogue/catalogue.html:28 #: templates/catalogue/search_multiple_hits.html:41 #: templates/catalogue/tagged_object_list.html:50 - #: templatetags/catalogue_tags.py:422 -#: templatetags/catalogue_tags.py:419 ++#: templatetags/catalogue_tags.py:423 msgid "Epochs" msgstr "Epoki" @@@ -533,7 -507,7 +546,7 @@@ msgid "Themes and topics" msgstr "Motywy i tematy" -#: templates/catalogue/catalogue.html:34 templates/catalogue/menu.html:16 +#: templates/catalogue/catalogue.html:34 templates/catalogue/menu.html:20 msgid "Collections" msgstr "Kolekcje" @@@ -577,26 -551,22 +590,30 @@@ msgstr "Zwiń fragment msgid "See full category" msgstr "Zobacz całą kategorię" -#: templates/catalogue/menu.html:9 templates/catalogue/menu.html.py:18 +#: templates/catalogue/menu.html:4 +msgid "Catalogue of the library" +msgstr "Katalog biblioteki" + +#: templates/catalogue/menu.html:13 templates/catalogue/menu.html.py:22 msgid "Please wait…" msgstr "Proszę czekać…" -#: templates/catalogue/menu.html:24 +#: templates/catalogue/menu.html:28 msgid "All books" msgstr "Wszystkie utwory" -#: templates/catalogue/menu.html:28 +#: templates/catalogue/menu.html:32 msgid "Audiobooks" msgstr "Audiobooki" -#: templates/catalogue/menu.html:32 +#: templates/catalogue/menu.html:36 msgid "DAISY" msgstr "DAISY" ++#: templates/catalogue/menu.html:40 templates/catalogue/tag_list_split.html:14 ++msgid "Gallery" ++msgstr "Galeria" ++ #: templates/catalogue/picture_detail.html:29 msgid "Work is licensed under " msgstr "Utwór jest udostępniony na licencji" @@@ -638,10 -608,6 +655,10 @@@ msgstr "Motywy w utworze msgid "Listing of all pictures" msgstr "Spis wszystkich obrazów" +#: templates/catalogue/player.html:34 +msgid "Book's page" +msgstr "Strona utworu" + #: templates/catalogue/player.html:35 msgid "Download as" msgstr "Pobierz jako" @@@ -733,7 -699,7 +750,7 @@@ msgid "Other results msgstr "Inne wyniki" #: templates/catalogue/search_no_hits.html:19 - #: templates/catalogue/tagged_object_list.html:146 -#: templates/catalogue/tagged_object_list.html:151 ++#: templates/catalogue/tagged_object_list.html:153 msgid "Sorry! Search cirteria did not match any resources." msgstr "Przepraszamy! Brak wyników spełniających kryteria podane w zapytaniu." @@@ -751,13 -717,25 +768,22 @@@ msgstr " msgid "Sorry! Search query must have at least two characters." msgstr "Przepraszamy! Zapytanie musi zawierać co najmniej dwa znaki." + #: templates/catalogue/tag_list_split.html:5 + msgid "Literature" + msgstr "Literatura" + -#: templates/catalogue/tag_list_split.html:14 -msgid "Gallery" -msgstr "Galeria" - #: templates/catalogue/tagged_object_list.html:78 - #: templates/catalogue/tagged_object_list.html:108 - msgid "in Lektury.Gazeta.pl" - msgstr "w serwisie Lektury.Gazeta.pl" ++#: templates/catalogue/tagged_object_list.html:123 + msgid "in Culture.pl" + msgstr "w Culture.pl" #: templates/catalogue/tagged_object_list.html:83 #: templates/catalogue/tagged_object_list.html:113 + msgid "in Lektury.Gazeta.pl" + msgstr "w serwisie Lektury.Gazeta.pl" + + #: templates/catalogue/tagged_object_list.html:88 + #: templates/catalogue/tagged_object_list.html:118 msgid "in Wikipedia" msgstr "w Wikipedii" @@@ -770,9 -748,6 +796,9 @@@ msgstr "Stwórz własny plik PDF msgid "Free license" msgstr "Wolna licencja" +#~ msgid "for a reader" +#~ msgstr "na czytnik" + #~ msgid "Put a book on the shelf!" #~ msgstr "Wrzuć lekturę na półkę!" diff --combined apps/catalogue/models/book.py index b17d29392,9f7803dcd..3c50a964c --- a/apps/catalogue/models/book.py +++ b/apps/catalogue/models/book.py @@@ -27,6 -27,7 +27,7 @@@ class Book(models.Model) """Represents a book imported from WL-XML.""" title = models.CharField(_('title'), max_length=120) sort_key = models.CharField(_('sort key'), max_length=120, db_index=True, editable=False) + sort_key_author = models.CharField(_('sort key by author'), max_length=120, db_index=True, editable=False, default=u'') slug = models.SlugField(_('slug'), max_length=120, db_index=True, unique=True) common_slug = models.SlugField(_('slug'), max_length=120, db_index=True) @@@ -74,6 -75,7 +75,7 @@@ from sortify import sortify self.sort_key = sortify(self.title) + self.title = unicode(self.title) # ??? ret = super(Book, self).save(force_insert, force_update, **kwargs) @@@ -95,12 -97,6 +97,12 @@@ def name(self): return self.title + def language_code(self): + return constants.LANGUAGES_3TO2.get(self.language, self.language) + + def language_name(self): + return dict(settings.LANGUAGES).get(self.language_code(), "") + def book_tag_slug(self): return ('l-' + self.slug)[:120] @@@ -146,6 -142,14 +148,14 @@@ for fragm in self.fragments.all().iterator(): fragm.reset_short_html() + try: + author = self.tags.filter(category='author')[0].sort_key + except IndexError: + author = u'' + type(self).objects.filter(pk=self.pk).update(sort_key_author=author) + + + def has_description(self): return len(self.description) > 0 has_description.short_description = _('description') @@@ -397,10 -401,6 +407,10 @@@ for child in self.children.all(): child.parent_cover_changed() + def other_versions(self): + """Find other versions (i.e. in other languages) of the book.""" + return type(self).objects.filter(common_slug=self.common_slug).exclude(pk=self.pk) + def related_info(self): """Keeps info about related objects (tags, media) in cache field.""" if self._related_info is not None: @@@ -414,7 -414,7 +424,7 @@@ for category in tags: cat = [] for tag in tags[category]: - tag_info = {'slug': tag.slug} + tag_info = {'slug': tag.slug, 'name': tag.name} for lc, ln in settings.LANGUAGES: tag_name = getattr(tag, "name_%s" % lc) if tag_name: @@@ -506,6 -506,8 +516,8 @@@ rel_info = book.related_info() names = [(related_tag_name(tag), Tag.create_url('author', tag['slug'])) for tag in rel_info['tags'].get('author', ())] + import logging + logging.info("%s, %s" % (book.slug, unicode(rel_info['tags'].get('author', ())))) if 'parents' in rel_info: books = [(name, Book.create_url(slug)) for name, slug in rel_info['parents']] diff --combined apps/catalogue/templates/catalogue/menu.html index 2da629d74,55a9e1851..b6bc172a0 --- a/apps/catalogue/templates/catalogue/menu.html +++ b/apps/catalogue/templates/catalogue/menu.html @@@ -1,14 -1,10 +1,14 @@@ {% load i18n static %} + + {% trans "Catalogue of the library" %} + {% trans "Catalogue" %} + diff --combined apps/catalogue/templatetags/catalogue_tags.py index 4df9f7b48,2020d9097..e80a5ffe6 --- a/apps/catalogue/templatetags/catalogue_tags.py +++ b/apps/catalogue/templatetags/catalogue_tags.py @@@ -16,7 -16,7 +16,7 @@@ from django.utils.translation import ug from catalogue.utils import split_tags, related_tag_name as _related_tag_name from catalogue.models import Book, BookMedia, Fragment, Tag -from catalogue.constants import LICENSES +from catalogue.constants import LICENSES, LANGUAGES_3TO2 register = template.Library() @@@ -335,7 -335,6 +335,7 @@@ def book_wide(context, book) 'hide_about': hide_about, 'themes': book_themes, 'request': context.get('request'), + 'show_lang': book.language_code() != settings.LANGUAGE_CODE, } @@@ -346,27 -345,25 +346,28 @@@ def book_short(context, book) 'main_link': book.get_absolute_url(), 'related': book.related_info(), 'request': context.get('request'), + 'show_lang': book.language_code() != settings.LANGUAGE_CODE, } @register.inclusion_tag('catalogue/book_mini_box.html') -def book_mini(book): +def book_mini(book, with_link=True): author_str = ", ".join(related_tag_name(tag) for tag in book.related_info()['tags'].get('author', ())) return { 'book': book, 'author_str': author_str, + 'with_link': with_link, + 'show_lang': book.language_code() != settings.LANGUAGE_CODE, } @register.inclusion_tag('catalogue/work-list.html', takes_context=True) def work_list(context, object_list): request = context.get('request') - if object_list: - object_type = type(object_list[0]).__name__ + for obj in object_list: + obj.object_type = type(object_list[0]).__name__ + return locals() @@@ -472,3 -469,9 +473,9 @@@ def license_icon(license_url) @register.simple_tag def related_tag_name(tag, lang=None): return _related_tag_name(tag, lang) + + + @register.simple_tag + def class_name(obj): + return obj.__class__.__name__ + diff --combined apps/wolnelektury_core/static/css/master.book.css index edea7930c,80cc9788d..29c84765e --- a/apps/wolnelektury_core/static/css/master.book.css +++ b/apps/wolnelektury_core/static/css/master.book.css @@@ -11,14 -11,10 +11,14 @@@ a } #book-text { - margin: 3em; + margin: 0 3em; max-width: 36em; } +#other-text #book-text { + width: 36em; +} + /* ================================== */ /* = Header with logo and menu = */ /* ================================== */ @@@ -93,7 -89,7 +93,7 @@@ img } - #toc, #themes, #nota_red, #info, #other-versions { -#toc, #themes, #nota_red, #info, #objects { ++#toc, #themes, #nota_red, #info, #other-versions, #objects { position: fixed; left: 0em; top: 1.5em; @@@ -126,7 -122,7 +126,7 @@@ z-index: 99; } - #toc ol, #themes ol { + #toc ol, #themes ol, #objects ol { list-style: none; padding: 0; margin: 0; @@@ -167,7 -163,7 +167,7 @@@ /* =================================================== */ h1 { font-size: 3em; - margin: 1.5em 0; + margin: 0 0 1.5em 0; text-align: center; line-height: 1.5em; font-weight: bold; diff --combined apps/wolnelektury_core/static/css/new.book.css index 164051e24,000000000..bff58bc25 mode 100644,000000..100644 --- a/apps/wolnelektury_core/static/css/new.book.css +++ b/apps/wolnelektury_core/static/css/new.book.css @@@ -1,268 -1,0 +1,268 @@@ +body { + font-size: 16px; + font-family: Georgia, "Times New Roman", serif; + line-height: 1.5em; + margin: 0; +} + +a { + color: blue; + text-decoration: none; +} + +/* ================================== */ +/* = Header with logo and menu = */ +/* ================================== */ - #toc ol, #themes ol { ++#toc ol, #themes ol, #objects ol { + list-style: none; + padding: 0; + margin: 0; +} + +#toc ol li { + font-weight: bold; +} + +#toc ol ol { + padding: 0 0 1.5em 1.5em; + margin: 0; +} + +#toc ol ol li { + font-weight: normal; +} + +#toc h2 { + display: none; +} + +#toc .anchor { + float: none; + margin: 0; + color: blue; + font-size: 16px; + position: inherit; +} + +#info p { + margin: 1em 0 0; +} + +/* =================================================== */ +/* = Common elements: headings, paragraphs and lines = */ +/* =================================================== */ +h1 { + font-size: 3em; + margin: 1.5em 0; + text-align: center; + line-height: 1.5em; + font-weight: bold; +} + +h2 { + font-size: 2em; + margin: 1.5em 0 0; + font-weight: bold; + line-height: 1.5em; +} + +h3 { + font-size: 1.5em; + margin: 1.5em 0 0; + font-weight: normal; + line-height: 1.5em; +} + +h4 { + font-size: 1em; + margin: 1.5em 0 0; + line-height: 1.5em; +} + +p { + margin: 0; +} + +/* ======================== */ +/* = Footnotes and themes = */ +/* ======================== */ + +.annotation { + font-style: normal; + font-weight: normal; + font-size: .75em; + padding-left: 2px; + position: relative; + top: -4px; +} + +#footnotes { + margin-top: 3em; +} + +#footnotes .annotation { + display: block; + float: left; + width: 2.5em; + clear: both; +} + +#footnotes div { + margin: 1.5em 0 0 0; +} + +#footnotes p, #footnotes ul { + margin-left: 2.5em; + font-size: 0.875em; +} + +#footnotes .permalink { + font-size: .75em; +} + +blockquote { + font-size: 0.875em; +} + +/* ============= */ +/* = Numbering = */ +/* ============= */ +.verse, .paragraph { + position:relative; +} +/*.anchor { + position: absolute; + margin: -0.25em -0.5em; + color: #777; + font-size: 12px; + text-align: center; + padding: 0.25em 0.5em; + line-height: 1.5em; +}*/ + + +/* =================== */ +/* = Custom elements = */ +/* =================== */ +span.author { + font-size: 0.5em; + display: block; + line-height: 1.5em; + margin-bottom: 0.25em; +} + +span.collection { + font-size: 0.375em; + display: block; + line-height: 1.5em; + margin-bottom: -0.25em; +} + +span.subtitle { + font-size: 0.5em; + display: block; + line-height: 1.5em; + margin-top: -0.25em; +} + +span.translator { + font-size: 0.375em; + display: block; + line-height: 1.5em; + margin-top: 0.25em; +} + +div.didaskalia { + font-style: italic; + margin: 0.5em 0 0 1.5em; +} + +div.kwestia { + margin: 0.5em 0 0; +} + +div.stanza { + margin: 1.5em 0 0; +} + +div.kwestia div.stanza { + margin: 0; +} + +p.paragraph { + text-align: justify; + margin: 1.5em 0 0; +} + +p.motto { + text-align: justify; + font-style: italic; + margin: 1.5em 0 0; +} + +p.motto_podpis { + font-size: 0.875em; + text-align: right; +} + +div.fragment { + border-bottom: 0.1em solid #999; + padding-bottom: 1.5em; +} + +div.note p, div.dedication p, div.note p.paragraph, div.dedication p.paragraph { + text-align: right; + font-style: italic; +} + +hr.spacer { + height: 3em; + visibility: hidden; +} + +hr.spacer-line { + margin: 1.5em 0; + border: none; + border-bottom: 0.1em solid #000; +} + +p.spacer-asterisk { + padding: 0; + margin: 1.5em 0; + text-align: center; +} + +div.person-list ol { + list-style: none; + padding: 0 0 0 1.5em; +} + +p.place-and-time { + font-style: italic; +} + +em.math, em.foreign-word, em.book-title, em.didaskalia { + font-style: italic; +} + +em.author-emphasis { + letter-spacing: 0.1em; +} + +em.person { + font-style: normal; + font-variant: small-caps; +} + +.verse:after { + content: "\feff"; +} + + +/* =================================== */ +/* = Hide some elements for printing = */ +/* =================================== */ + +@media print { + #menu {display: none;} +} diff --combined apps/wolnelektury_core/static/js/base.js index 7db29ab24,4d979af0c..9ba5631fa --- a/apps/wolnelektury_core/static/js/base.js +++ b/apps/wolnelektury_core/static/js/base.js @@@ -85,13 -85,15 +85,15 @@@ } }); }); + /* this kinda breaks the whole page. */ $('body').click(function(e) { if ($current == null) return; var p = $(e.target); while (p.length) { if (p == $current) return; - if (p.hasClass('hidden-box-trigger')) + if (p.hasClass('hidden-box-trigger') + || p.hasClass('simple-toggler')) return; p = p.parent(); } @@@ -101,14 -103,6 +103,14 @@@ })(); +$('#show-menu').click(function(event) { + event.preventDefault(); + $('#menu').toggle('slow'); +}); +$('#book-list-nav h2').click(function(event) { + event.preventDefault(); + $('#book-list-nav-index').toggle(); +}); $('#themes-list-toggle').click(function(event) { @@@ -130,6 -124,19 +132,19 @@@ $(function(){ $("#search").search();}); + $('body').on('click', '.simple-toggler' , function(ev) { + ev.preventDefault(); + var scope = $(this).closest('.simple-toggler-scope'); + scope.find('.simple-hidden-box').each(function(){ + var $this = $(this); + if ($this.is(':hidden')) { + $this.show(); + } else { + $this.hide(); + } + }); + }); + }); })(jQuery); diff --combined apps/wolnelektury_core/static/scss/book_text/box.scss index 4f0976976,000000000..7a0423418 mode 100644,000000..100644 --- a/apps/wolnelektury_core/static/scss/book_text/box.scss +++ b/apps/wolnelektury_core/static/scss/book_text/box.scss @@@ -1,50 -1,0 +1,50 @@@ +/* TODO: +There should be a JS-less way of seeing at least some of +the hidden boxes (TOC and Themes). +*/ + - .box, #toc, #themes, #nota_red { ++.box, #toc, #themes, #nota_red, #objects { + display: none; + + position: fixed; + @include size(left, $W_MENU); + top: 0; + right: 0; + + max-height: 100%; + @include size(max-width, 380px); + @include size(padding, 10px 10px 30px 10px); + margin: 0; + overflow-x: hidden; + overflow-y: auto; + z-index: 100; + + color: black; + background: #fff; + box-shadow: 2px 2px 2px #444; + + @include size(border-width, 0 1px 1px 0); + border-style: solid; + border-color: #444; + + @include size(font-size, 14px); + line-height: 1.2em; + + h2 { + margin-top: 0; + } +} + + + +#box-underlay { + display: none; + position: fixed; + @include size(left, $W_MENU); + top: 0; + bottom: 0; + right: 0; + background:#000; + opacity: .5; + z-index: 99; +} diff --combined apps/wolnelektury_core/static/scss/main/base.scss index 02f02a37e,000000000..d9d523769 mode 100755,000000..100755 --- a/apps/wolnelektury_core/static/scss/main/base.scss +++ b/apps/wolnelektury_core/static/scss/main/base.scss @@@ -1,101 -1,0 +1,105 @@@ +/* Basic layout */ +html, body { + margin: 0; + padding: 0; +} + + +.clearboth { + clear: both; +} + + + +/* Basic colors and fonts */ +body { + font-family: Georgia; + background: #f7f7f7; + color: black; + + @include size(font-size, 13px); +} + +a { + color: #0d7e85; + text-decoration: none; + + img { + border: 0; + } +} + +h1 { + @include size(font-size, 35px); + font-weight: normal; + @include size(margin-top, 14px); + + a { + color: inherit; + } +} + +h2 { + @include size(font-size, 20px); + font-weight: normal; +} + +h3 { + @include size(font-size, 15px); + font-weight: normal; +} + + +.normal-text { + line-height: 1.3em; +} + +.white-box { + @include size(padding, 10px); + @include white-box; +} + + +ul.plain { + list-style:none; + margin: 0; + padding: 0; +} + + +.theme-list-link { + @include mono; + @include size(font-size, 11px); + + &:after { + @include size(padding-left, 11px); + content: url("/static/img/arrow-teal.png"); + vertical-align: middle; + } +} + + +.left-column, .right-column { + @include size(max-width, 600px); +} +@media screen and (min-width: 62.5em) { + .left-column { + @include size(width, 470px); + float: left; + } + .right-column { + @include size(width, 470px); + float:right; + } +} + +.pagination { + display: block; + @include size(font-size, 12px); + @include size(padding, 6px); + text-align:center; +} ++ ++.simple-hidden-initially { ++ display: none; ++} diff --combined apps/wolnelektury_core/static/scss/main/book_box.scss index e8504e5df,000000000..4655a3cd5 mode 100755,000000..100755 --- a/apps/wolnelektury_core/static/scss/main/book_box.scss +++ b/apps/wolnelektury_core/static/scss/main/book_box.scss @@@ -1,496 -1,0 +1,505 @@@ +@mixin inner-box { + display: block; + color: black; + @include size(margin, 1px); + @include size(padding, 8px 10px); + @include white-box; +} + +.book-mini-box img.cover { + @include size(height, 193px); + @include size(width, 139px); +} + + +.cover-area { + float: left; + @include size(margin-right, 15px); + @include size(margin-bottom, 5px); + + @include min-screen($S_BOOK_SHORT_FULL) { + position: absolute; + top: 0; + left: 0; + margin-right: 0; + } + + img.cover { + @include size(height, 193px / 2); + @include size(width, 139px / 2); + + @include min-screen($S_BOOK_SHORT_MEDIUM) { + @include size(height, 193px); + @include size(width, 139px); + } + } +} + +.book-mini-box { + @include size(width, 161.5px); + display: inline-block; + vertical-align: top; + + .book-mini-box-inner { + @include inner-box; + @include size(height, 271px); + @include size(margin, 1px); + overflow: hidden; + a { + display: block; + } + } + img.cover { + @include size(margin-bottom, 18px); + } + .language { + color: #aaa; + float: right; + @include mono; + @include size(font-size, 10px); + text-transform: uppercase; + position: relative; + @include size(top, -20px); + } + .desc { + margin-left: 0; + } + .author { + @include size(font-size, 11px); + @include mono; + color: #6d7877; + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .title { + @include size(font-size, 14px); + color: #242424; + } +} + + + +.work-list { + margin: 0; + padding: 0; + list-style: none; + + .Book-item { + @include min-screen($S_BOOK_SHORT_FULL) { + display: inline-block; + } + vertical-align: top; + } +} + + +.book-box { + margin: 0; + vertical-align: top; + + /* */ + a { + color: #0D7E85; + } + + @include min-screen($S_BOOK_SHORT_FULL) { + @include size(width, $W_BOOK_SHORT_FULL); + } + + .book-box-inner { + position: relative; + @include inner-box; + @include size(min-height, 197.5px); + } +} + + +.book-wide-box { + margin: 0; + vertical-align: top; + + @media screen and (min-width: 62.5em) { + @include size(width, 975px); + } + + .book-box-inner { + position: relative; + @include size(min-height, 244px); + @include inner-box; + @include size(margin-left, 0); + @include size(margin-right, 0); + + .book-left-column { /* FIXME */ + @media screen and (min-width: 62.5em) { + float: left; + @include size(width, 536px); + } + } + + .license-icon { + display: block; + @include size(margin-top, 5px); + } + + .book-box-head, + .tags, + .book-box-tools { + @media screen and (min-width: 62.5em) { + @include size(width, 382px); + } + } + + #theme-list-wrapper { + @include min-screen($S_BOOK_SHORT_MEDIUM) { + @include size(margin-left, 154px); + @include size(width, 300px); + } + margin-bottom: 0; + + p { + @include size(margin-top, 10px); + @include size(margin-bottom, 10px); + } + } + + .right-column { + @include size(margin-top, 16px); + // Eat the padding + @include size(margin-left, -10px); + @include size(margin-right, -10px); + max-width: none; + + @media screen and (min-width: 62.5em) { + @include size(width, 415px); + // Eat the padding + @include size(margin-top, -8px); + } + + .other-tools, + .other-download { + @include size(font-size, 11px); + clear: left; + @include size(margin-top, 25px); + line-height: 1.75em; + @include size(margin-left, 15px); + + h2 { + margin: 0; + @include size(font-size, 11px); + @include mono; + } + + @include min-screen($S_BOOK_SHORT_FULL) { + float: left; + clear: none; + @include size(width, 145px); + @include size(margin-top, 50px); + @include size(margin-right, 0); + @include size(margin-bottom, 0); + @include size(margin-left, 5px); + } + + @include min-screen(1000px) { + @include size(margin-top, 50px); + line-height: 1.2em; + } + } + .other-download { + @include min-screen($S_BOOK_SHORT_FULL) { + @include size(margin-left, 15px); + @include size(width, 220px); + } + } + } + } +} + ++/* FIXME: RWD */ ++.picture.book-wide-box .right-column { ++ float: none; ++ @include size(width, 415px); ++ top: 0; ++ @include size(margin-left, 550px); ++ margin-top: 0em; ++} ++ + +.book-box-body { + @include size(margin-bottom, 10px); + @include min-screen($S_BOOK_SHORT_FULL) { + margin-bottom: 0; + @include size(height, 170px); + } + position: relative; + + .book-box-head, + .tags, + .book-box-tools { + @include min-screen($S_BOOK_SHORT_FULL) { + margin-left: 154px; + } + } + + .book-box-head { + @include size(padding-top, 14px); + @include size(margin-bottom, 10px); + + @include min-screen($S_BOOK_SHORT_FULL) { + @include size(min-height, 70px); + } + + a { + color: black; + } + .author { + @include size(font-size, 11px); + @include mono; + @include size(line-height, 13.2px); + @include size(max-height, 26.4px); + overflow: hidden; + + @include min-screen($S_BOOK_SHORT_FULL) { + @include size(max-width, 264px); + } + } + .title { + @include size(font-size, 24px); + line-height: 1.2em; + @include size(margin-top, 7.2px); + @include size(margin-bottom, 12px); + + @include min-screen($S_BOOK_SHORT_FULL) { + margin-bottom: 0; + @include size(height, 57.6px); + overflow: hidden; + } + } + } + + .tags { + @include size(font-size, 11px); + line-height: 1.2em; + + @include min-screen($S_BOOK_SHORT_FULL) { + clear: right; + @include size(max-height, 57.6px); + overflow: hidden; + } + + .category { + display: block; + @include size(margin-top, 6px); + @include size(margin-bottom, 6px); + + @include min-screen($S_BOOK_SHORT_FULL) { + display: inline; + } + + .mono { + @include mono; + } + + .book-box-tag { + @include size(margin-left, 4.4px); + @include size(margin-right, 5.5px); + } + } + } + +} + + + +.book-box-tools { + @include size(font-size, 11px); + margin: 0; + padding: 0; + list-style: none; + + clear: left; + + @include min-screen($S_BOOK_SHORT_MEDIUM) { + clear: none; + @include size(margin-left, 139px + 15px); + } + + li { + @include mono; + margin-top: 1em; + + @include min-screen($S_BOOK_SHORT_FULL) { + display: inline-block; + margin-top: 0; + } + } + + .book-box-read { + @include min-screen($S_BOOK_SHORT_FULL) { + @include size(width, 126.5px); + } + + a { + @include mono; + } + + a:before { + content: url("/static/img/read.png"); + @include size(font-size, 25px); + @include size(margin-right, 3.71px); + vertical-align: middle; + font-weight: normal; + } + } + + .book-box-download { + position: relative; + + @include min-screen($S_BOOK_SHORT_FULL) { + @include size(width, 93.5px); + } + + a { + position: relative; + z-index: 101; + + &.downarrow { + color: black; + + @include min-screen($S_BOOK_SHORT_FULL) { + color: #0D7E85; + + &:before { + content: url("/static/img/download.png"); + @include size(font-size, 25px); + @include size(margin-right, 3.71px); + vertical-align: middle; + font-weight: normal; + } + } + } + } + + .book-box-formats { + @include size(padding-left, 19px); + + @include min-screen($S_BOOK_SHORT_FULL) { + display: none; + position: absolute; + + @include size(width, 180px); + @include size(padding-top, 38px); + @include size(padding-bottom, 9px); + @include size(padding-left, 19px); + @include size(padding-right, 19px); + + @include white-box; + + z-index: 100; + + @include size(top, -16px); + @include size(left, -19px); + } + + span { + display: block; + @include size(margin-top, 16px); + + a { + &:before { + content: url("/static/img/download.png"); + @include size(font-size, 25px); + @include size(margin-right, 3.71px); + vertical-align: middle; + font-weight: normal; + } + } + + @include min-screen($S_BOOK_SHORT_FULL) { + @include size(margin-top, 0); + + &:first-child { + @include size(margin-top, 16px); + } + a:before { + display:none; + } + } + } + } + + &:hover .book-box-formats, + &.hover .book-box-formats { + display: block; + } + } + + .book-box-audiobook { + @include min-screen($S_BOOK_SHORT_FULL) { + @include size(width, 77px); + } + + a:before { + content: url("/static/img/listen.png"); + @include size(font-size, 25px); + @include size(margin-right, 3.71px); + vertical-align: middle; + font-weight: normal; + } + + } +} + + + + +.star { + @include size(font-size, 22.5px); + @include size(margin-right, 11.25px); + position: absolute; + right: 0; + + button::-moz-focus-inner { + padding: 0; + border: 0 + } + .if-unlike button { + font-size: 1em; + font-family: inherit; + border: 0; + background: none; + margin: 0; + padding: 0; + color: #757575; + } + .if-like a { + display:block; + text-align:right; + padding: 0; + } +} +.like .if-unlike { + display: none; +} +.unlike .if-like { + display: none; +} + + +#book-detail .see-also { + h1 { + @include size(height, 32px); + margin: 0; + @include size(padding-top, 19px); + @include size(padding-left, 10px); + + @include size(font-size, 11px); + @include mono; + font-weight: normal; + + @media screen and (min-width: 33em) { + @include size(padding-left, 19px); + } + } +} diff --combined apps/wolnelektury_core/static/scss/main/fragment.scss index 1eaf61ce9,000000000..4c765f6fe mode 100755,000000..100755 --- a/apps/wolnelektury_core/static/scss/main/fragment.scss +++ b/apps/wolnelektury_core/static/scss/main/fragment.scss @@@ -1,14 -1,0 +1,35 @@@ - .Fragment-item { ++.Fragment-item, .PictureArea-item { + @include size(margin-bottom, 20px); + @include white-box; + + .fragment { + color: black; + display: block; + } + .toggle { + @include size(font-size, 11px); + display: block; + @include size(padding, 5px 0); + } +} ++ ++.area { ++ display: block; ++ color: black; ++ background: white; ++ @include size(padding, 30px 20px 20px 20px); ++ position: relative; ++ clear: both; ++ ++ .area-thumbnail { ++ display:block; ++ @include size(width, 100px); ++ float: left; ++ } ++ ++ .area-description { ++ float: right; ++ @include size(padding, 10px); ++ @include size(width, 256px); ++ } ++} diff --combined apps/wolnelektury_core/static/scss/main/menu.scss index 501b32030,000000000..846e4c88c mode 100755,000000..100755 --- a/apps/wolnelektury_core/static/scss/main/menu.scss +++ b/apps/wolnelektury_core/static/scss/main/menu.scss @@@ -1,177 -1,0 +1,177 @@@ +#nav-line { + background-color: #e2e2e2; + position: relative; + + @media screen and (min-width: 62.5em) { + @include size(width, 975px); + margin: auto; + } + + #show-menu { + display: block; + float: left; + @include size(line-height, 13px); + @include size(padding, 18px 13px); + color: #0c7076; + @include size(font-size, 11px); + @include mono; + + .long { + display: none; + + &:after { + @include size(padding-left, 10px); + content: url("/static/img/arrow-gray.png"); + vertical-align: top; + } + } + + @media screen and (min-width: 20em) { + .long { display: inline; } + .short { display: none; } + } + + @media screen and (min-width: 53em) { + display: none; + } + } + + ul#menu { + list-style: none; + padding: 0; + margin: 0; + + display: none; + position: absolute; + @include size(top, 49px); + left: 0; + @include size(right, 10px); + z-index: 400; + + @media screen and (min-width: 24em) { + right: auto; + } + + @media screen and (min-width: 53em) { + display: block !important; + position: static; + @include size(margin-left, 6px); + } + + li.menu { + background-color: #e2e2e2; + + @media screen and (min-width: 53em) { + float: left; + } + + a.menu { + display: block; + @include size(line-height, 13px); - @include size(padding, 18px 13px 15px); ++ @include size(padding, 18px 12px 15px); + @include size(border-bottom, 3px solid #e2e2e2); + color: #0c7076; + @include size(font-size, 11px); + @include mono; + } + + a.hidden-box-trigger:hover { + border-bottom-color: white; + } + } + } + + #lang-menu { + display: block; + float: right; + + background: #f7f7f7; + @include mono; + + @media screen and (min-width: 15em) { + position: relative; + } + + #lang-button { + @include size(padding-left, 25px); + @include size(padding-right, 20px); + + display:block; + @include size(line-height, 17px); + @include size(padding-top, 16px); + @include size(padding-bottom, 16px); + + @include size(font-size, 10px); + color: #717171; + + .label { + display: none; + + @media screen and (min-width: 62.5em) { + display: inline; + } + + &:after { + @include size(padding-left, 10px); + content: url("/static/img/arrow-gray.png"); + vertical-align: top; + } + } + + .lang-flag { + @include size(font-size, 13px); + @include size(line-height, 15px); + } + } + + #lang-menu-items { + z-index: 9999; + + button { + @include mono; + display: none; + background: #f7f7f7; + color: #6f6f6f; + cursor: pointer; + width: 100%; + margin: 0; + @include size(padding, 10px 0); + + @media screen and (min-width: 62.5em) { + @include size(padding, 5px 0); + } + + border-width: 0; + @include size(border-bottom, 1px solid #ddd); + + @include size(font-size, 13px); + + &.active { + color: #000; + } + } + } + + &:hover, &.hover { + #lang-menu-items { + position: absolute; + padding: 0; + left: 0; + right: 0; + + @media screen and (min-width: 15em) { + left: auto; + @include size(width, 180px); + @include size(top, 49px); + } + @media screen and (min-width: 62.5em) { + width: 100%; + } + + button { + display: block; + } + } + } + } +} diff --combined wolnelektury/settings/static.py index fd99d38b7,1e8bd9628..a6f5d1b98 --- a/wolnelektury/settings/static.py +++ b/wolnelektury/settings/static.py @@@ -14,25 -14,36 +14,25 @@@ MEDIA_URL = '/media/ STATIC_URL = '/static/' # CSS and JavaScript file groups + + PIPELINE_CSS = { - 'all': { + 'main': { # styles both for mobile and for big screen 'source_filenames': [ 'css/jquery.countdown.css', - 'css/base.css', - 'css/cite.css', - 'css/header.css', - 'css/main_page.css', - 'css/dialogs.css', - 'css/picture_box.css', - 'css/book_box.css', - 'css/catalogue.css', 'sponsors/css/sponsors.css', - 'css/auth.css', - 'funding/funding.scss', - 'polls/polls.scss', - 'css/form.scss', - 'css/social/shelf_tags.css', + + 'uni_form/uni-form.css', + 'uni_form/default.uni-form.css', + 'css/ui-lightness/jquery-ui-1.8.16.custom.css', + + 'scss/main.scss', ], - 'output_filename': 'css/compressed/all.css', - }, - 'ie': { - 'source_filenames': [ - 'css/ie.css', - ], - 'output_filename': 'css/compressed/ie.css', + 'output_filename': 'css/compressed/main.css', }, 'book': { 'source_filenames': [ @@@ -40,13 -51,13 +40,20 @@@ ], 'output_filename': 'css/compressed/book.css', }, + 'book_text': { + 'source_filenames': [ + 'scss/book_text.scss', + 'css/new.book.css', + ], + 'output_filename': 'css/compressed/book_text.css', + }, + 'picture': { + 'source_filenames': [ + 'css/master.book.css', + 'css/master.picture.css', + ], + 'output_filename': 'css/compressed/picture.css', + }, 'player': { 'source_filenames': [ 'jplayer/jplayer.blue.monday.css', @@@ -81,8 -92,6 +88,8 @@@ PIPELINE_JS = 'player/openplayer.js', 'js/search.js', 'funding/funding.js', + + 'uni_form/uni-form.js', ), 'output_filename': 'js/base.min.js', }, @@@ -99,22 -108,14 +106,25 @@@ 'js/jquery.eventdelegation.js', 'js/jquery.scrollto.js', 'js/jquery.highlightfade.js', + 'js/book_text/other.js', 'js/book.js', + 'js/picture.js', + 'js/raphael-min.js', 'player/openplayer.js', + 'js/progressSpin.min.js', ], 'output_filename': 'js/book.min.js', }, + 'book_text': { + 'source_filenames': [ + 'js/jquery.form.js', + 'js/jquery.jqmodal.js', + 'js/book_text/*.js', + 'js/locale.js', + 'js/dialogs.js', + ], + 'output_filename': 'js/book_text.js', + }, 'book_ie': { 'source_filenames': ('js/ierange-m2.js',), 'output_filename': 'js/book_ie.min.js', @@@ -127,12 -128,7 +137,12 @@@ PIPELINE_CSS_COMPRESSOR = Non PIPELINE_JS_COMPRESSOR = None PIPELINE_COMPILERS = ( - 'pyscss_compiler.PySCSSCompiler', + 'pipeline.compilers.sass.SASSCompiler', + # We could probably use PySCSS instead, + # but they have some serious problems, like: + # https://github.com/Kronuz/pyScss/issues/166 (empty list syntax) + # https://github.com/Kronuz/pyScss/issues/258 (bad @media order) + #'pyscss_compiler.PySCSSCompiler', ) -PIPELINE_PYSCSS_BINARY = '/usr/bin/env /home/staging/wolnelektury.pl/ve/bin/pyscss' -PIPELINE_PYSCSS_ARGUMENTS = '' +#PIPELINE_PYSCSS_BINARY = '/usr/bin/env pyscss' +#PIPELINE_PYSCSS_ARGUMENTS = ''