From 51a171118e77fc61eb609dc3bc5c62293de87370 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 15 Jun 2015 21:49:46 +0200 Subject: [PATCH] add end image on last page --- .../static/telemeta/css/telemeta_epub.css | 20 +++++++++++++----- .../telemeta/images/cul-de-lampe_fin-page.jpg | Bin 45614 -> 0 bytes .../telemeta/inc/epub_collection.html | 14 ++++++++---- telemeta/views/epub.py | 17 ++++++++++++--- 4 files changed, 39 insertions(+), 12 deletions(-) delete mode 100644 telemeta/static/telemeta/images/cul-de-lampe_fin-page.jpg diff --git a/telemeta/static/telemeta/css/telemeta_epub.css b/telemeta/static/telemeta/css/telemeta_epub.css index e2a9a788..389365c7 100644 --- a/telemeta/static/telemeta/css/telemeta_epub.css +++ b/telemeta/static/telemeta/css/telemeta_epub.css @@ -4,18 +4,24 @@ body { font-family: Cambria, Liberation Serif, Bitstream Vera Serif, Georgia, Times, Times New Roman, serif; } +.title { + padding-top : 18%; + page-break-after:always; +} + h2 { - text-align: left; - font-size: 1.5em; text-transform: uppercase; - font-weight: 200; + font-family : sans-serif; + text-align: left; + font-size:110%; + font-weight: bold; } h3 { text-align: left; - font-size: 1.25em; + font-size: 140%; margin-top: 0px; - font-weight: normal; + font-weight: bold; color: #2B90AB; } @@ -60,3 +66,7 @@ img { width: 50%; height: auto; } + +.last-page { + page-break-before: always; +} \ No newline at end of file diff --git a/telemeta/static/telemeta/images/cul-de-lampe_fin-page.jpg b/telemeta/static/telemeta/images/cul-de-lampe_fin-page.jpg deleted file mode 100644 index b4910f70405abc4373a431be9adb57f254cad5a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45614 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 diff --git a/telemeta/templates/telemeta/inc/epub_collection.html b/telemeta/templates/telemeta/inc/epub_collection.html index 19719e0a..b9f9bbac 100644 --- a/telemeta/templates/telemeta/inc/epub_collection.html +++ b/telemeta/templates/telemeta/inc/epub_collection.html @@ -1,9 +1,9 @@ -{% if not mode_single %} -

{{ title }}

-

{{ subtitle }}

-{% endif %} +
+

{{ title }}

+

{{ subtitle }}

+
{% for item in items %}
@@ -30,3 +30,9 @@ {% endif %}
{% endfor %} + +{% if last_collection %} +
+ +
+{% endif %} diff --git a/telemeta/views/epub.py b/telemeta/views/epub.py index 3e6f28ef..f2541622 100644 --- a/telemeta/views/epub.py +++ b/telemeta/views/epub.py @@ -46,6 +46,7 @@ class BaseEpubMixin(TelemetaBaseMixin): local_path = os.path.dirname(__file__) css = os.sep.join([local_path, '..', 'static', 'telemeta', 'css', 'telemeta_epub.css']) default_image = os.sep.join([local_path, '..', 'static', 'telemeta', 'images', 'cul_de_lampe.jpg']) + default_image_end = os.sep.join([local_path, '..', 'static', 'telemeta', 'images', 'cul_de_lampe-fin_page.jpg']) template = os.sep.join([local_path, '..', 'templates', 'telemeta', 'inc', 'epub_collection.html']) template_preamble = os.sep.join([local_path, '..', 'templates', 'telemeta', 'inc', 'epub_preamble.html']) template_cover = os.sep.join([local_path, '..', 'templates', 'telemeta', 'inc', 'epub_cover.html']) @@ -112,6 +113,8 @@ class BaseEpubMixin(TelemetaBaseMixin): default_image_relative_path = '' self.book.add_item(preamble) self.chapters.append(preamble) + default_image_end_relative_path = 'images' + os.sep + os.path.split(self.default_image_end)[-1] + i = 1 for collection in self.collections: items = {} @@ -163,12 +166,18 @@ class BaseEpubMixin(TelemetaBaseMixin): subtitle = '' chapter_title = title + last_collection = False + if i == len(self.collections): + last_collection = True + context = {'collection': collection, 'title': title, 'subtitle': subtitle, 'mode_single': mode_single, - 'site': site, 'items': items, 'default_image': default_image_relative_path} + 'site': site, 'items': items, 'default_image': default_image_relative_path, + 'default_image_end': default_image_end_relative_path, 'last_collection': last_collection} c = epub.EpubHtml(title=chapter_title, file_name=collection.code + '.xhtml', lang='fr') c.content = render_to_string(self.template, context) self.book.add_item(c) self.chapters.append(c) + i += 1 # create table of contents # - add manual link @@ -178,9 +187,11 @@ class BaseEpubMixin(TelemetaBaseMixin): self.book.spine = self.chapters # add navigation files - self.book.add_item(epub.EpubNcx()) + ncx = epub.EpubNcx() + self.book.add_item(ncx) if not mode_single: - self.book.add_item(epub.EpubNav()) + nav = epub.EpubNav() + self.book.add_item(nav) self.book.spine.insert(0,'nav') # create spin, add cover page as first page -- 2.39.5