From df211795338673a95c55976e2d2a9ec317dadd62 Mon Sep 17 00:00:00 2001 From: Martin Koistinen Date: Mon, 15 Sep 2014 06:40:57 +0300 Subject: [PATCH 1/4] Add Retina support --- cmsplugin_filer_image/cms_plugins.py | 5 ++++- cmsplugin_filer_image/models.py | 2 ++ .../static/cmsplugin_filer_image/t.gif | Bin 0 -> 43 bytes .../plugins/image/default.html | 8 ++++++-- 4 files changed, 12 insertions(+), 3 deletions(-) create mode 100755 cmsplugin_filer_image/static/cmsplugin_filer_image/t.gif diff --git a/cmsplugin_filer_image/cms_plugins.py b/cmsplugin_filer_image/cms_plugins.py index 80c4b4be..fba85d70 100644 --- a/cmsplugin_filer_image/cms_plugins.py +++ b/cmsplugin_filer_image/cms_plugins.py @@ -33,6 +33,7 @@ class FilerImagePlugin(CMSPluginBase): ('width', 'height', 'crop', 'upscale'), 'thumbnail_option', 'use_autoscale', + 'use_hidpi_pair', ) }), (None, { @@ -107,11 +108,13 @@ def render(self, context, instance, placeholder): self.TEMPLATE_NAME % 'default') ) options = self._get_thumbnail_options(context, instance) + size = options.get('size', None) context.update({ 'instance': instance, 'link': instance.link, 'opts': options, - 'size': options.get('size', None), + 'size': size, + 'double_size': tuple(map(lambda x: x * 2, size )), 'placeholder': placeholder }) return context diff --git a/cmsplugin_filer_image/models.py b/cmsplugin_filer_image/models.py index bb623cb4..b1dc27f6 100644 --- a/cmsplugin_filer_image/models.py +++ b/cmsplugin_filer_image/models.py @@ -28,6 +28,8 @@ class FilerImage(CMSPlugin): alt_text = models.CharField(_("alt text"), null=True, blank=True, max_length=255) use_original_image = models.BooleanField(_("use the original image"), default=False, help_text=_('do not resize the image. use the original image instead.')) + use_hidpi_pair = models.BooleanField(_("create a pair of images for Retina/HiDPI."), + default=False) thumbnail_option = models.ForeignKey('ThumbnailOption', null=True, blank=True, verbose_name=_("thumbnail option"), help_text=_('overrides width, height, crop and upscale with values from the selected thumbnail option')) use_autoscale = models.BooleanField(_("use automatic scaling"), default=False, diff --git a/cmsplugin_filer_image/static/cmsplugin_filer_image/t.gif b/cmsplugin_filer_image/static/cmsplugin_filer_image/t.gif new file mode 100755 index 0000000000000000000000000000000000000000..fc2560981ee1caca400e225e48d282106f907f2d GIT binary patch literal 43 ucmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Df>utpmhBaYhCPCMFj~25SJyItL8^ literal 0 HcmV?d00001 diff --git a/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html b/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html index 4d5ecebb..92f53c31 100644 --- a/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html +++ b/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html @@ -1,4 +1,4 @@ -{% load thumbnail filer_tags filer_image_tags %}{% spaceless %} +{% load staticfiles thumbnail filer_tags filer_image_tags %}{% spaceless %} {% comment %} You may change the image size for special cases in your project by overriding this template. There are a few size manipulation filters for this in @@ -14,7 +14,11 @@ {% if link %}{% endif %} {% if instance.image %} - {% if instance.use_original_image %} + {% if instance.use_hidpi_pair %} + {% thumbnail instance.image size crop=opts.crop upscale=opts.upscale subject_location=opts.subject_location as losrc %} + {% thumbnail instance.image double_size crop=opts.crop upscale=opts.upscale subject_location=opts.subject_location as hisrc %} + {% if instance.alt %}{{ instance.alt }}{% endif %} + {% elif instance.use_original_image %} {% if instance.alt %}{{ instance.alt }}{% endif %} {% else %} {% thumbnail instance.image size crop=opts.crop upscale=opts.upscale subject_location=opts.subject_location as thumbnail %} From 7c64ff520e209cd2e99b646e62c23fcc9f01b2f3 Mon Sep 17 00:00:00 2001 From: Martin Koistinen Date: Tue, 16 Sep 2014 00:23:13 +0300 Subject: [PATCH 2/4] Fixed typo (important one) --- .../templates/cmsplugin_filer_image/plugins/image/default.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html b/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html index 92f53c31..6c2e6a08 100644 --- a/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html +++ b/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html @@ -17,7 +17,7 @@ {% if instance.use_hidpi_pair %} {% thumbnail instance.image size crop=opts.crop upscale=opts.upscale subject_location=opts.subject_location as losrc %} {% thumbnail instance.image double_size crop=opts.crop upscale=opts.upscale subject_location=opts.subject_location as hisrc %} - {% if instance.alt %}{{ instance.alt }}{% endif %} + {% if instance.alt %}{{ instance.alt }}{% endif %} {% elif instance.use_original_image %} {% if instance.alt %}{{ instance.alt }}{% endif %} {% else %} From f0d55d3c3ff8bf7fd3acef63872cc4b12af9ba46 Mon Sep 17 00:00:00 2001 From: Martin Koistinen Date: Tue, 16 Sep 2014 15:33:39 +0300 Subject: [PATCH 3/4] Using sekizai, inline the JS --- .../cmsplugin_filer_image/{ => images}/t.gif | Bin .../plugins/image/default.html | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) rename cmsplugin_filer_image/static/cmsplugin_filer_image/{ => images}/t.gif (100%) diff --git a/cmsplugin_filer_image/static/cmsplugin_filer_image/t.gif b/cmsplugin_filer_image/static/cmsplugin_filer_image/images/t.gif similarity index 100% rename from cmsplugin_filer_image/static/cmsplugin_filer_image/t.gif rename to cmsplugin_filer_image/static/cmsplugin_filer_image/images/t.gif diff --git a/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html b/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html index 6c2e6a08..823a2cd1 100644 --- a/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html +++ b/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html @@ -1,4 +1,4 @@ -{% load staticfiles thumbnail filer_tags filer_image_tags %}{% spaceless %} +{% load filer_tags filer_image_tags sekizai_tags staticfiles thumbnail %}{% spaceless %} {% comment %} You may change the image size for special cases in your project by overriding this template. There are a few size manipulation filters for this in @@ -17,7 +17,17 @@ {% if instance.use_hidpi_pair %} {% thumbnail instance.image size crop=opts.crop upscale=opts.upscale subject_location=opts.subject_location as losrc %} {% thumbnail instance.image double_size crop=opts.crop upscale=opts.upscale subject_location=opts.subject_location as hisrc %} - {% if instance.alt %}{{ instance.alt }}{% endif %} + {% if instance.alt %}{{ instance.alt }}{% endif %} + {% addtoblock "js" %} + + {% endaddtoblock %} {% elif instance.use_original_image %} {% if instance.alt %}{{ instance.alt }}{% endif %} {% else %} From 3fd2f30af5770027a79417dc7be0eb6b962e9202 Mon Sep 17 00:00:00 2001 From: Martin Koistinen Date: Tue, 16 Sep 2014 15:41:22 +0300 Subject: [PATCH 4/4] Minor formatting of JS --- .../plugins/image/default.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html b/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html index 823a2cd1..7dad437a 100644 --- a/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html +++ b/cmsplugin_filer_image/templates/cmsplugin_filer_image/plugins/image/default.html @@ -19,14 +19,14 @@ {% thumbnail instance.image double_size crop=opts.crop upscale=opts.upscale subject_location=opts.subject_location as hisrc %} {% if instance.alt %}{{ instance.alt }}{% endif %} {% addtoblock "js" %} - + {% endaddtoblock %} {% elif instance.use_original_image %} {% if instance.alt %}{{ instance.alt }}{% endif %}