From 63909a31c0793587f8e9330f087e7f7025d60966 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Thu, 8 Sep 2022 14:31:01 +0100 Subject: [PATCH] Add iframe block --- static/src/scss/_blocks.scss | 3 +- ...logpostcollectionlistpage_body_and_more.py | 692 ++++++++++++++++++ ...contentpage_body_alter_listingpage_body.py | 244 ++++++ website/common/streamfield.py | 11 + .../templates/common/blocks/iframe.html | 10 + .../migrations/0003_alter_contactpage_body.py | 132 ++++ .../migrations/0003_alter_searchpage_body.py | 132 ++++ .../0003_alter_spotifyplaylistpage_body.py | 132 ++++ 8 files changed, 1355 insertions(+), 1 deletion(-) create mode 100644 website/blog/migrations/0003_alter_blogpostcollectionlistpage_body_and_more.py create mode 100644 website/common/migrations/0003_alter_contentpage_body_alter_listingpage_body.py create mode 100644 website/common/templates/common/blocks/iframe.html create mode 100644 website/contact/migrations/0003_alter_contactpage_body.py create mode 100644 website/search/migrations/0003_alter_searchpage_body.py create mode 100644 website/spotify/migrations/0003_alter_spotifyplaylistpage_body.py diff --git a/static/src/scss/_blocks.scss b/static/src/scss/_blocks.scss index db4da01..028a788 100644 --- a/static/src/scss/_blocks.scss +++ b/static/src/scss/_blocks.scss @@ -12,7 +12,8 @@ } div.block-image, -div.block-mermaid { +div.block-mermaid, +div.block-iframe { figcaption { font-size: 85%; margin-top: 5px; diff --git a/website/blog/migrations/0003_alter_blogpostcollectionlistpage_body_and_more.py b/website/blog/migrations/0003_alter_blogpostcollectionlistpage_body_and_more.py new file mode 100644 index 0000000..e03dd6b --- /dev/null +++ b/website/blog/migrations/0003_alter_blogpostcollectionlistpage_body_and_more.py @@ -0,0 +1,692 @@ +# Generated by Django 4.0.6 on 2022-09-08 13:26 + +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + +import website.contrib.code_block.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ("blog", "0002_alter_blogpostcollectionlistpage_body_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="blogpostcollectionlistpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + migrations.AlterField( + model_name="blogpostcollectionpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + migrations.AlterField( + model_name="blogpostlistpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + migrations.AlterField( + model_name="blogpostpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + migrations.AlterField( + model_name="blogposttaglistpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + migrations.AlterField( + model_name="blogposttagpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + ] diff --git a/website/common/migrations/0003_alter_contentpage_body_alter_listingpage_body.py b/website/common/migrations/0003_alter_contentpage_body_alter_listingpage_body.py new file mode 100644 index 0000000..800f465 --- /dev/null +++ b/website/common/migrations/0003_alter_contentpage_body_alter_listingpage_body.py @@ -0,0 +1,244 @@ +# Generated by Django 4.0.6 on 2022-09-08 13:26 + +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + +import website.contrib.code_block.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ("common", "0002_alter_contentpage_body_alter_listingpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="contentpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + migrations.AlterField( + model_name="listingpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + ] diff --git a/website/common/streamfield.py b/website/common/streamfield.py index a195630..1866aa6 100644 --- a/website/common/streamfield.py +++ b/website/common/streamfield.py @@ -49,6 +49,16 @@ class TangentBlock(blocks.StructBlock): template = "common/blocks/tangent.html" +class IFrameBlock(blocks.StructBlock): + url = blocks.URLBlock() + caption = blocks.RichTextBlock(editor="plain", required=False) + + class Meta: + icon = "link-external" + label = "IFrame" + template = "common/blocks/iframe.html" + + IGNORE_PLAINTEXT_BLOCKS = ( blocks.RawHTMLBlock, EmbedBlock, @@ -81,6 +91,7 @@ def get_blocks() -> list[tuple[str, blocks.BaseBlock]]: ] ), ), + ("iframe", IFrameBlock()), ] diff --git a/website/common/templates/common/blocks/iframe.html b/website/common/templates/common/blocks/iframe.html new file mode 100644 index 0000000..d99a3be --- /dev/null +++ b/website/common/templates/common/blocks/iframe.html @@ -0,0 +1,10 @@ +{% load wagtailcore_tags %} + +
+
+ +
+
+ {{ value.caption|richtext }} +
+
diff --git a/website/contact/migrations/0003_alter_contactpage_body.py b/website/contact/migrations/0003_alter_contactpage_body.py new file mode 100644 index 0000000..a84ca31 --- /dev/null +++ b/website/contact/migrations/0003_alter_contactpage_body.py @@ -0,0 +1,132 @@ +# Generated by Django 4.0.6 on 2022-09-08 13:26 + +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + +import website.contrib.code_block.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ("contact", "0002_alter_contactpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="contactpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + ] diff --git a/website/search/migrations/0003_alter_searchpage_body.py b/website/search/migrations/0003_alter_searchpage_body.py new file mode 100644 index 0000000..f479913 --- /dev/null +++ b/website/search/migrations/0003_alter_searchpage_body.py @@ -0,0 +1,132 @@ +# Generated by Django 4.0.6 on 2022-09-08 13:26 + +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + +import website.contrib.code_block.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ("search", "0002_alter_searchpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="searchpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + ] diff --git a/website/spotify/migrations/0003_alter_spotifyplaylistpage_body.py b/website/spotify/migrations/0003_alter_spotifyplaylistpage_body.py new file mode 100644 index 0000000..2acbb92 --- /dev/null +++ b/website/spotify/migrations/0003_alter_spotifyplaylistpage_body.py @@ -0,0 +1,132 @@ +# Generated by Django 4.0.6 on 2022-09-08 13:26 + +import wagtail.blocks +import wagtail.contrib.typed_table_block.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + +import website.contrib.code_block.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ("spotify", "0002_alter_spotifyplaylistpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="spotifyplaylistpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("embed", wagtail.embeds.blocks.EmbedBlock()), + ("rich_text", wagtail.blocks.RichTextBlock()), + ( + "lorem", + wagtail.blocks.StructBlock( + [("paragraphs", wagtail.blocks.IntegerBlock(min_value=1))] + ), + ), + ("html", wagtail.blocks.RawHTMLBlock()), + ( + "image", + wagtail.blocks.StructBlock( + [ + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "code", + wagtail.blocks.StructBlock( + [ + ( + "filename", + wagtail.blocks.CharBlock( + max_length=128, required=False + ), + ), + ( + "language", + wagtail.blocks.ChoiceBlock( + choices=website.contrib.code_block.blocks.get_language_choices + ), + ), + ("source", wagtail.blocks.TextBlock()), + ( + "always_show_header", + wagtail.blocks.BooleanBlock( + default=False, required=False + ), + ), + ] + ), + ), + ( + "tangent", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(max_length=64)), + ( + "content", + wagtail.blocks.RichTextBlock(editor="simple"), + ), + ] + ), + ), + ( + "mermaid", + wagtail.blocks.StructBlock( + [ + ("source", wagtail.blocks.TextBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.typed_table_block.blocks.TypedTableBlock( + [ + ( + "rich_text", + wagtail.blocks.RichTextBlock(editor="plain"), + ), + ("numeric", wagtail.blocks.FloatBlock()), + ("text", wagtail.blocks.CharBlock()), + ] + ), + ), + ( + "iframe", + wagtail.blocks.StructBlock( + [ + ("url", wagtail.blocks.URLBlock()), + ( + "caption", + wagtail.blocks.RichTextBlock( + editor="plain", required=False + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + ), + ), + ]