From 19fc20b624ec617ea9db237972fbf9b16da0eefd Mon Sep 17 00:00:00 2001 From: relikd Date: Tue, 28 Feb 2023 20:53:15 +0100 Subject: [PATCH] feat: cov.jpg cover image + retina thumbnails --- data/development/brownies-raw/cov.jpg | Bin 0 -> 20610 bytes data/development/gluten-free-flour/cov.jpg | Bin 0 -> 29906 bytes .../vanilla-cut-out-cookies/cov.jpg | Bin 0 -> 21149 bytes src/packages/main/lektor_main/plugin.py | 7 +- src/packages/main/lektor_main/utils.py | 71 ++++++++++++++---- src/templates/all-recipes-pdf.tex | 4 +- src/templates/layout.html | 4 +- src/templates/macros/recipes.html | 12 ++- src/templates/recipe.html | 3 +- src/templates/recipes.html | 4 +- src/templates/root.html | 4 +- src/templates/tag.html | 4 +- 12 files changed, 76 insertions(+), 37 deletions(-) create mode 100644 data/development/brownies-raw/cov.jpg create mode 100644 data/development/gluten-free-flour/cov.jpg create mode 100644 data/development/vanilla-cut-out-cookies/cov.jpg diff --git a/data/development/brownies-raw/cov.jpg b/data/development/brownies-raw/cov.jpg new file mode 100644 index 0000000000000000000000000000000000000000..48337dd8e648a4628c498a52386a306030a86d52 GIT binary patch literal 20610 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 literal 0 HcmV?d00001 diff --git a/data/development/vanilla-cut-out-cookies/cov.jpg b/data/development/vanilla-cut-out-cookies/cov.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff1b6288ae6fd046a2246ab10cc93795a1f3f8c2 GIT binary patch literal 21149 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 Q7q#ks`g6v7&h!5_0UQWH{{R30 literal 0 HcmV?d00001 diff --git a/src/packages/main/lektor_main/plugin.py b/src/packages/main/lektor_main/plugin.py index f1730d7..d27d6c2 100644 --- a/src/packages/main/lektor_main/plugin.py +++ b/src/packages/main/lektor_main/plugin.py @@ -14,9 +14,7 @@ from .durationcluster import ( from .ingredients import IngredientsListType from .latex import TexSources, raw_text_to_tex, html_to_tex from .settings import Settings -from .utils import ( - fillupText, replace_atref_urls, sorted_images, title_image, noUmlauts -) +from .utils import fillupText, replace_atref_urls, cover_image, noUmlauts class MainPlugin(Plugin): @@ -33,8 +31,7 @@ class MainPlugin(Plugin): 'replaceAtRefURLs': replace_atref_urls, 'performGroupBy': self.performGroupBy, - 'sorted_images': sorted_images, - 'title_image': title_image, + 'cover_image': cover_image, 'latexStr': raw_text_to_tex, 'latexHtml': html_to_tex, diff --git a/src/packages/main/lektor_main/utils.py b/src/packages/main/lektor_main/utils.py index fd1abdf..2664a42 100644 --- a/src/packages/main/lektor_main/utils.py +++ b/src/packages/main/lektor_main/utils.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- -from jinja2.loaders import split_template_path # lookup_template_name() +from lektor.context import get_ctx +from jinja2.loaders import split_template_path # lookup_template_path() from markupsafe import Markup import os import unicodedata -from typing import TYPE_CHECKING, Dict, Union, Optional, List +from typing import TYPE_CHECKING, Dict, Union, Optional, Tuple if TYPE_CHECKING: from lektor.db import Page, Image from lektor.environment import Environment @@ -51,21 +52,25 @@ def replace_atref_urls(text: str, label: Optional[str] = None) -> str: return Markup(' '.join(result)) -def sorted_images(obj: 'Page', attr: str = 'record_label') -> List['Image']: - return sorted(obj.attachments.images, - key=lambda x: getattr(x, attr)) # type:ignore[no-any-return] - - -def title_image(obj: 'Page', attr: str = 'record_label', small: bool = False) \ - -> Optional['Image']: - imgs = sorted_images(obj, attr) - img = imgs[0] if imgs else None - if img and small: - img = img.thumbnail(200, 150, mode='crop') - return img +def cover_image(obj: 'Page') -> Optional['Image']: + ''' Find cover image (cov.jpg or sorted first) and apply thumbnail. ''' + best = None + for img in obj.attachments.images: # type: Image + if img['_id'].rsplit('.')[0] == 'cov': + best = img + break + if not best or img['_id'] < best['_id']: + best = img + if best: + ctx = get_ctx() + if ctx: + ctx.pad.db.track_record_dependency(best) + return retina_thumbnail(best, w=200, h=150, mode='crop')[0] + return None def noUmlauts(text: str) -> str: + ''' Remove umlauts and other unix-path incompatible characters. ''' # try: # data = unicode(text, 'utf-8') # except (TypeError, NameError): @@ -77,9 +82,47 @@ def noUmlauts(text: str) -> str: def lookup_template_path(name: str, env: 'Environment') -> Optional[str]: + ''' Find path to template with name. ''' pieces = split_template_path(name) for base in env.jinja_env.loader.searchpath: path = os.path.join(base, *pieces) if os.path.isfile(path): return path return None + + +def retina_thumbnail( + image: 'Image', + w: Optional[int] = None, + h: Optional[int] = None, + *, + mode: Optional[str] = None, + maxwidth: int = 99999999, + retina: int = 2, +) -> Tuple['Image', int, int]: + ''' Constraint an image size with the least possible params. ''' + if mode: + assert w and h, 'if using a crop mode, width and height are mandatory.' + else: + w = min(w, maxwidth * retina) if (w and w < image.width) else None + h = h if (h and h < image.height) else None + if w and h: + if h >= w / image.width * image.height: + h = None + else: + w = None + if w: + other = round(w / image.width * image.height) + elif h: + other = round(h / image.height * image.width) + else: + return image, image.width, image.height + + ew, eh = w or other, h or other + w = (w * retina) if w and (w * retina < image.width) else None + h = (h * retina) if h and (h * retina < image.height) else None + if not w and not h: + return image, ew, eh + else: + img = image.thumbnail(width=w, height=h, mode=mode, upscale=False) + return img, ew, eh diff --git a/src/templates/all-recipes-pdf.tex b/src/templates/all-recipes-pdf.tex index cbde441..2a90c4e 100644 --- a/src/templates/all-recipes-pdf.tex +++ b/src/templates/all-recipes-pdf.tex @@ -18,8 +18,7 @@ \begin{document} \makefrontmatter -{%- for recipe in site.get('/recipes', alt=this.alt).children -%} -{%- set img = recipe | title_image(small=True) %} +{%- for recipe in site.get('/recipes', alt=this.alt).children %} {# recipe title (start on new page) #} \newrecipe{ {{- recipe._slug -}} }{ {{- recipe.name | latexStr -}} } @@ -29,6 +28,7 @@ \footer{ {{- recipe.source.url | latexStr -}} }{ {{- recipe.source.host | latexStr -}} } {# enumerate ingredients -#} +{%- set img = recipe | cover_image -%} \begin{ingredients}{ {{- img | url(absolute=True) if img else '' -}} } {%- for ing in recipe.ingredients %} diff --git a/src/templates/layout.html b/src/templates/layout.html index 160707d..8c69b25 100644 --- a/src/templates/layout.html +++ b/src/templates/layout.html @@ -12,7 +12,7 @@ {#- ontouchstart="" #}
- +