From 24123c99cfc6050befbd0b140139a59f07e2739e Mon Sep 17 00:00:00 2001 From: Konstantin Kostov Date: Thu, 14 Mar 2024 04:31:11 +0100 Subject: [PATCH] Add more content for the body of a blogpost --- Makefile | 4 ++-- blog/blocks.py | 9 ++++++++- blog/migrations/0010_alter_blogpage_body.py | 22 +++++++++++++++++++++ iamkonstantin_web/settings/base.py | 1 + 4 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 blog/migrations/0010_alter_blogpage_body.py diff --git a/Makefile b/Makefile index d83d5a3..fc07be9 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ help: @perl -nle'print $& if m{^[a-zA-Z_-]+:.*?## .*$$}' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' build: - @docker build -t code.headbright.be/konstantin/iamkonstantin:1.0.8 . + @docker build -t code.headbright.be/konstantin/iamkonstantin:1.0.9 . publish: - @docker push code.headbright.be/konstantin/iamkonstantin:1.0.8 + @docker push code.headbright.be/konstantin/iamkonstantin:1.0.9 diff --git a/blog/blocks.py b/blog/blocks.py index 2a2690d..dded4d3 100644 --- a/blog/blocks.py +++ b/blog/blocks.py @@ -1,8 +1,15 @@ from wagtail.blocks import RichTextBlock +from wagtail.embeds.blocks import EmbedBlock -from base.blocks import StreamBlock +from base.blocks import StreamBlock, HeadingBlock, ImageBlock from wagtailcodeblock.blocks import CodeBlock class BlogPostBlock(StreamBlock): + heading_block = HeadingBlock() paragraph = RichTextBlock(blank=True) code = CodeBlock(label='Code snippet') + image_block = ImageBlock() + embed_block = EmbedBlock( + help_text="Insert a URL to embed. For example, https://www.youtube.com/watch?v=SGJFWirQ3ks", + icon="media", + ) \ No newline at end of file diff --git a/blog/migrations/0010_alter_blogpage_body.py b/blog/migrations/0010_alter_blogpage_body.py new file mode 100644 index 0000000..c2edb89 --- /dev/null +++ b/blog/migrations/0010_alter_blogpage_body.py @@ -0,0 +1,22 @@ +# Generated by Django 5.0.2 on 2024-03-14 03:30 + +import wagtail.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('blog', '0009_alter_blogpage_body'), + ] + + operations = [ + migrations.AlterField( + model_name='blogpage', + name='body', + field=wagtail.fields.StreamField([('heading_block', wagtail.blocks.StructBlock([('heading_text', wagtail.blocks.CharBlock(form_classname='title', required=True)), ('size', wagtail.blocks.ChoiceBlock(blank=True, choices=[('', 'Select a heading size'), ('h2', 'H2'), ('h3', 'H3'), ('h4', 'H4')], required=False))])), ('paragraph', wagtail.blocks.RichTextBlock(blank=True)), ('code', wagtail.blocks.StructBlock([('language', wagtail.blocks.ChoiceBlock(choices=[('bash', 'Bash/Shell'), ('css', 'CSS'), ('dart', 'Dart'), ('docker', 'Docker'), ('elixir', 'Elixir'), ('go', 'Go'), ('html', 'HTML'), ('javascript', 'Javascript'), ('json', 'JSON'), ('kotlin', 'Kotlin'), ('python', 'Python'), ('swift', 'Swift'), ('toml', 'TOML'), ('yaml', 'YAML')], help_text='Coding language', identifier='language', label='Language')), ('code', wagtail.blocks.TextBlock(identifier='code', label='Code'))], label='Code snippet')), ('image_block', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('caption', wagtail.blocks.CharBlock(required=False)), ('attribution', wagtail.blocks.CharBlock(required=False))])), ('embed_block', wagtail.embeds.blocks.EmbedBlock(help_text='Insert a URL to embed. For example, https://www.youtube.com/watch?v=SGJFWirQ3ks', icon='media'))], blank=True, help_text='Write anything'), + ), + ] diff --git a/iamkonstantin_web/settings/base.py b/iamkonstantin_web/settings/base.py index a01c022..edf4a86 100644 --- a/iamkonstantin_web/settings/base.py +++ b/iamkonstantin_web/settings/base.py @@ -193,6 +193,7 @@ WAGTAIL_CODE_BLOCK_LANGUAGES = ( ('kotlin', 'Kotlin'), ('python', 'Python'), ('swift', 'Swift'), + ('toml', 'TOML'), ('yaml', 'YAML'), )