From c0e4a67eccc4653671b1f39c599b7761b34d6558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Fri, 19 Jan 2024 19:45:40 +0100 Subject: [PATCH] wip - show initial image --- ..._electionsarticlepage_show_initial_image.py | 18 ++++++++++++++++++ .../0072_mainarticlepage_show_initial_image.py | 18 ++++++++++++++++++ shared/models/main.py | 7 +++++++ shared/templates/styleguide2/article_page.html | 6 +++++- .../includes/atoms/text/prose_richtext.html | 8 ++++++++ 5 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 elections/migrations/0019_electionsarticlepage_show_initial_image.py create mode 100644 main/migrations/0072_mainarticlepage_show_initial_image.py diff --git a/elections/migrations/0019_electionsarticlepage_show_initial_image.py b/elections/migrations/0019_electionsarticlepage_show_initial_image.py new file mode 100644 index 00000000..a6684aec --- /dev/null +++ b/elections/migrations/0019_electionsarticlepage_show_initial_image.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.10 on 2024-01-19 18:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('elections', '0018_alter_electionshomepage_content'), + ] + + operations = [ + migrations.AddField( + model_name='electionsarticlepage', + name='show_initial_image', + field=models.BooleanField(default=True, help_text='Pokud je tato volba zaškrtnutá, obrázek nastavený u tohoto článku se automaticky vloží do prvního odstavce.', verbose_name='Ukázat obrázek v textu'), + ), + ] diff --git a/main/migrations/0072_mainarticlepage_show_initial_image.py b/main/migrations/0072_mainarticlepage_show_initial_image.py new file mode 100644 index 00000000..994962fd --- /dev/null +++ b/main/migrations/0072_mainarticlepage_show_initial_image.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.10 on 2024-01-19 18:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0071_rename_date_mainarticlepage_timestamp'), + ] + + operations = [ + migrations.AddField( + model_name='mainarticlepage', + name='show_initial_image', + field=models.BooleanField(default=True, help_text='Pokud je tato volba zaškrtnutá, obrázek nastavený u tohoto článku se automaticky vloží do prvního odstavce.', verbose_name='Ukázat obrázek v textu'), + ), + ] diff --git a/shared/models/main.py b/shared/models/main.py index 43c0d291..78f2c2ca 100644 --- a/shared/models/main.py +++ b/shared/models/main.py @@ -635,6 +635,12 @@ class MainArticlePageMixin( Page, ): ### FIELDS + show_initial_image = models.BooleanField( + verbose_name="Ukázat obrázek v textu", + help_text="Pokud je tato volba zaškrtnutá, obrázek nastavený u tohoto článku se automaticky vloží do prvního odstavce.", + default=True, + ) + content = StreamField( [ ( @@ -670,6 +676,7 @@ class MainArticlePageMixin( content_panels = ArticleMixin.content_panels + [ FieldPanel("author_page"), + FieldPanel("show_initial_image"), FieldPanel("tags"), FieldPanel("shared_tags"), ] diff --git a/shared/templates/styleguide2/article_page.html b/shared/templates/styleguide2/article_page.html index 822c24fd..65658ca7 100644 --- a/shared/templates/styleguide2/article_page.html +++ b/shared/templates/styleguide2/article_page.html @@ -1,5 +1,5 @@ {% extends "styleguide2/base.html" %} -{% load wagtailcore_tags %} +{% load wagtailcore_tags wagtailimages_tags %} {% block content %} @@ -17,6 +17,10 @@ </p> {% endif %} + {% if page.image %} + {% image page.image max-500x500 as initial_image %} + {% endif %} + {% for block in page.content %} {% include_block block %} {% endfor %} diff --git a/shared/templates/styleguide2/includes/atoms/text/prose_richtext.html b/shared/templates/styleguide2/includes/atoms/text/prose_richtext.html index 0ec6ac31..19dbfb73 100644 --- a/shared/templates/styleguide2/includes/atoms/text/prose_richtext.html +++ b/shared/templates/styleguide2/includes/atoms/text/prose_richtext.html @@ -1,3 +1,11 @@ <div class="prose [&_p]:leading-7 [&_p]:text-black [&_p]:text-lg" style="max-width:100ch"> + {% if forloop.first and page.show_initial_image and initial_image %} + <img + src="{{ initial_image.url }}" + width="400" + class="float-right ml-4 mb-6 max-w-[400px] mt-0 sm:max-w-full object-contain" + > + {% endif %} + {{ self }} </div> -- GitLab