picata 0.0.1__py3-none-any.whl → 0.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. README.md +7 -57
  2. manage.py +1 -1
  3. picata/__init__.py +1 -1
  4. picata/apps.py +6 -6
  5. picata/blocks.py +3 -2
  6. picata/helpers/wagtail.py +1 -1
  7. picata/middleware.py +1 -1
  8. picata/migrations/0001_initial.py +77 -211
  9. picata/models.py +6 -5
  10. picata/settings/base.py +15 -15
  11. picata/settings/dev.py +4 -2
  12. picata/templates/picata/base.html +3 -3
  13. picata/templates/picata/previews/theme_gallery.html +1 -1
  14. picata/templatetags/absolute_static.py +1 -1
  15. picata/templatetags/menu_tags.py +26 -12
  16. picata/transformers.py +1 -1
  17. picata/typing/__init__.py +1 -1
  18. picata/typing/wagtail.py +1 -1
  19. picata/urls.py +2 -2
  20. picata/views.py +3 -2
  21. picata/wagtail_hooks.py +1 -1
  22. picata/wsgi.py +2 -2
  23. picata-0.0.2.dist-info/METADATA +37 -0
  24. picata-0.0.2.dist-info/RECORD +73 -0
  25. picata/migrations/0002_alter_article_content_alter_basicpage_content.py +0 -112
  26. picata/migrations/0003_alter_article_content_alter_basicpage_content.py +0 -104
  27. picata/migrations/0004_alter_article_content_alter_basicpage_content.py +0 -105
  28. picata/migrations/0005_socialsettings.py +0 -48
  29. picata/migrations/0006_alter_article_content.py +0 -71
  30. picata/migrations/0007_splitviewpage.py +0 -69
  31. picata/migrations/0008_alter_splitviewpage_content.py +0 -96
  32. picata/migrations/0009_alter_splitviewpage_content.py +0 -111
  33. picata/migrations/0010_alter_splitviewpage_content.py +0 -105
  34. picata/migrations/0011_alter_splitviewpage_options_and_more.py +0 -113
  35. picata/migrations/0012_alter_splitviewpage_content.py +0 -109
  36. picata/migrations/0013_alter_article_content.py +0 -43
  37. picata/migrations/0014_alter_article_content_alter_article_summary.py +0 -24
  38. picata/migrations/0015_alter_article_options_article_tagline_and_more.py +0 -28
  39. picata/migrations/0016_alter_article_options_alter_articletag_options_and_more.py +0 -33
  40. picata/migrations/0017_articletagrelation_alter_article_tags_and_more.py +0 -35
  41. picata/migrations/0018_rename_articletag_pagetag_and_more.py +0 -21
  42. picata/migrations/0019_rename_name_plural_articletype__name_plural.py +0 -18
  43. picata/migrations/0020_rename__name_plural_articletype__pluralised_name.py +0 -18
  44. picata/migrations/0021_rename_article_type_article_page_type.py +0 -18
  45. picata/migrations/0022_homepage.py +0 -28
  46. picata-0.0.1.dist-info/METADATA +0 -87
  47. picata-0.0.1.dist-info/RECORD +0 -94
  48. {picata-0.0.1.dist-info → picata-0.0.2.dist-info}/WHEEL +0 -0
  49. {picata-0.0.1.dist-info → picata-0.0.2.dist-info}/licenses/LICENSE.md +0 -0
@@ -1,48 +0,0 @@
1
- # Generated by Django 5.1.4 on 2024-12-22 02:48
2
-
3
- import django.db.models.deletion
4
- from django.db import migrations, models
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("hpk", "0004_alter_article_content_alter_basicpage_content"),
10
- ("wagtailcore", "0094_alter_page_locale"),
11
- ("wagtailimages", "0027_image_description"),
12
- ]
13
-
14
- operations = [
15
- migrations.CreateModel(
16
- name="SocialSettings",
17
- fields=[
18
- (
19
- "id",
20
- models.BigAutoField(
21
- auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
22
- ),
23
- ),
24
- (
25
- "default_social_image",
26
- models.ForeignKey(
27
- blank=True,
28
- help_text="Default image for social media previews.",
29
- null=True,
30
- on_delete=django.db.models.deletion.SET_NULL,
31
- related_name="+",
32
- to="wagtailimages.image",
33
- ),
34
- ),
35
- (
36
- "site",
37
- models.OneToOneField(
38
- editable=False,
39
- on_delete=django.db.models.deletion.CASCADE,
40
- to="wagtailcore.site",
41
- ),
42
- ),
43
- ],
44
- options={
45
- "abstract": False,
46
- },
47
- ),
48
- ]
@@ -1,71 +0,0 @@
1
- # Generated by Django 5.1.4 on 2024-12-22 08:58
2
-
3
- import wagtail.fields
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("hpk", "0005_socialsettings"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name="article",
15
- name="content",
16
- field=wagtail.fields.StreamField(
17
- [("section", 5), ("code", 8), ("image", 3)],
18
- blank=True,
19
- block_lookup={
20
- 0: (
21
- "wagtail.blocks.CharBlock",
22
- (),
23
- {
24
- "help_text": 'Heading for this section, included in "page contents".',
25
- "required": True,
26
- },
27
- ),
28
- 1: (
29
- "wagtail.blocks.IntegerBlock",
30
- (),
31
- {
32
- "help_text": "Heading level",
33
- "max_value": 6,
34
- "min_value": 1,
35
- "required": True,
36
- },
37
- ),
38
- 2: ("wagtail.blocks.RichTextBlock", (), {}),
39
- 3: ("wagtail.images.blocks.ImageChooserBlock", (), {}),
40
- 4: (
41
- "wagtail.blocks.StreamBlock",
42
- [[("rich_text", 2), ("image", 3)]],
43
- {"help_text": None, "required": False},
44
- ),
45
- 5: (
46
- "wagtail.blocks.StructBlock",
47
- [[("heading", 0), ("level", 1), ("content", 4)]],
48
- {},
49
- ),
50
- 6: ("wagtail.blocks.TextBlock", (), {"help_text": None, "required": True}),
51
- 7: (
52
- "wagtail.blocks.ChoiceBlock",
53
- [],
54
- {
55
- "choices": [
56
- ("python", "Python"),
57
- ("javascript", "JavaScript"),
58
- ("html", "HTML"),
59
- ("css", "CSS"),
60
- ("bash", "Bash"),
61
- ("plaintext", "Plain Text"),
62
- ],
63
- "required": False,
64
- },
65
- ),
66
- 8: ("wagtail.blocks.StructBlock", [[("code", 6), ("language", 7)]], {}),
67
- },
68
- help_text="Main content for the article.",
69
- ),
70
- ),
71
- ]
@@ -1,69 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-01 04:38
2
-
3
- import django.db.models.deletion
4
- import wagtail.fields
5
- from django.db import migrations, models
6
-
7
-
8
- class Migration(migrations.Migration):
9
- dependencies = [
10
- ("hpk", "0006_alter_article_content"),
11
- ("wagtailcore", "0094_alter_page_locale"),
12
- ]
13
-
14
- operations = [
15
- migrations.CreateModel(
16
- name="SplitViewPage",
17
- fields=[
18
- (
19
- "page_ptr",
20
- models.OneToOneField(
21
- auto_created=True,
22
- on_delete=django.db.models.deletion.CASCADE,
23
- parent_link=True,
24
- primary_key=True,
25
- serialize=False,
26
- to="wagtailcore.page",
27
- ),
28
- ),
29
- (
30
- "content",
31
- wagtail.fields.StreamField(
32
- [("rich_text", 0), ("code", 3), ("image", 4)],
33
- blank=True,
34
- block_lookup={
35
- 0: ("wagtail.blocks.RichTextBlock", (), {}),
36
- 1: (
37
- "wagtail.blocks.TextBlock",
38
- (),
39
- {"help_text": None, "required": True},
40
- ),
41
- 2: (
42
- "wagtail.blocks.ChoiceBlock",
43
- [],
44
- {
45
- "choices": [
46
- ("python", "Python"),
47
- ("javascript", "JavaScript"),
48
- ("html", "HTML"),
49
- ("css", "CSS"),
50
- ("bash", "Bash"),
51
- ("plaintext", "Plain Text"),
52
- ],
53
- "required": False,
54
- },
55
- ),
56
- 3: ("wagtail.blocks.StructBlock", [[("code", 1), ("language", 2)]], {}),
57
- 4: ("hpk.blocks.WrappedImageChooserBlock", (), {}),
58
- },
59
- help_text="Main content for the split-view page.",
60
- ),
61
- ),
62
- ],
63
- options={
64
- "verbose_name": "Split-view Page",
65
- "verbose_name_plural": "Split-view Pages",
66
- },
67
- bases=("wagtailcore.page",),
68
- ),
69
- ]
@@ -1,96 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-03 02:40
2
-
3
- import wagtail.fields
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("hpk", "0007_splitviewpage"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name="splitviewpage",
15
- name="content",
16
- field=wagtail.fields.StreamField(
17
- [("rich_text", 0), ("code", 3), ("image", 4), ("social_links", 12)],
18
- blank=True,
19
- block_lookup={
20
- 0: ("wagtail.blocks.RichTextBlock", (), {}),
21
- 1: ("wagtail.blocks.TextBlock", (), {"help_text": None, "required": True}),
22
- 2: (
23
- "wagtail.blocks.ChoiceBlock",
24
- [],
25
- {
26
- "choices": [
27
- ("python", "Python"),
28
- ("javascript", "JavaScript"),
29
- ("html", "HTML"),
30
- ("css", "CSS"),
31
- ("bash", "Bash"),
32
- ("plaintext", "Plain Text"),
33
- ],
34
- "required": False,
35
- },
36
- ),
37
- 3: ("wagtail.blocks.StructBlock", [[("code", 1), ("language", 2)]], {}),
38
- 4: ("hpk.blocks.WrappedImageChooserBlock", (), {}),
39
- 5: (
40
- "wagtail.blocks.CharBlock",
41
- (),
42
- {
43
- "help_text": "Optional heading for this list (e.g., Social Links).",
44
- "required": False,
45
- },
46
- ),
47
- 6: (
48
- "wagtail.blocks.IntegerBlock",
49
- (),
50
- {
51
- "default": 2,
52
- "help_text": "Heading level for the list (1-6).",
53
- "max_value": 6,
54
- "min_value": 1,
55
- "required": False,
56
- },
57
- ),
58
- 7: (
59
- "wagtail.blocks.URLBlock",
60
- (),
61
- {"help_text": "The URL to link to.", "required": False},
62
- ),
63
- 8: (
64
- "wagtail.blocks.CharBlock",
65
- (),
66
- {
67
- "help_text": "The title for the list item.",
68
- "max_length": 50,
69
- "required": True,
70
- },
71
- ),
72
- 9: (
73
- "wagtail.blocks.CharBlock",
74
- (),
75
- {
76
- "help_text": "The static path to the SVG icon, relative to the static directory (e.g., 'svgs/github.svg').",
77
- "max_length": 255,
78
- "required": False,
79
- },
80
- ),
81
- 10: (
82
- "wagtail.blocks.StructBlock",
83
- [[("url", 7), ("label", 8), ("icon", 9)]],
84
- {},
85
- ),
86
- 11: ("wagtail.blocks.ListBlock", (10,), {"help_text": "The list of items."}),
87
- 12: (
88
- "wagtail.blocks.StructBlock",
89
- [[("heading", 5), ("heading_level", 6), ("items", 11)]],
90
- {},
91
- ),
92
- },
93
- help_text="Main content for the split-view page.",
94
- ),
95
- ),
96
- ]
@@ -1,111 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-03 03:04
2
-
3
- import wagtail.fields
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("hpk", "0008_alter_splitviewpage_content"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name="splitviewpage",
15
- name="content",
16
- field=wagtail.fields.StreamField(
17
- [
18
- ("rich_text", 0),
19
- ("code", 3),
20
- ("image", 4),
21
- ("social_links", 12),
22
- ("icon_link_lists", 14),
23
- ],
24
- blank=True,
25
- block_lookup={
26
- 0: ("wagtail.blocks.RichTextBlock", (), {}),
27
- 1: ("wagtail.blocks.TextBlock", (), {"help_text": None, "required": True}),
28
- 2: (
29
- "wagtail.blocks.ChoiceBlock",
30
- [],
31
- {
32
- "choices": [
33
- ("python", "Python"),
34
- ("javascript", "JavaScript"),
35
- ("html", "HTML"),
36
- ("css", "CSS"),
37
- ("bash", "Bash"),
38
- ("plaintext", "Plain Text"),
39
- ],
40
- "required": False,
41
- },
42
- ),
43
- 3: ("wagtail.blocks.StructBlock", [[("code", 1), ("language", 2)]], {}),
44
- 4: ("hpk.blocks.WrappedImageChooserBlock", (), {}),
45
- 5: (
46
- "wagtail.blocks.CharBlock",
47
- (),
48
- {
49
- "help_text": "Optional heading for this list (e.g., Social Links).",
50
- "required": False,
51
- },
52
- ),
53
- 6: (
54
- "wagtail.blocks.IntegerBlock",
55
- (),
56
- {
57
- "default": 2,
58
- "help_text": "Heading level for the list (1-6).",
59
- "max_value": 6,
60
- "min_value": 1,
61
- "required": False,
62
- },
63
- ),
64
- 7: (
65
- "wagtail.blocks.URLBlock",
66
- (),
67
- {"help_text": "The URL to link to.", "required": False},
68
- ),
69
- 8: (
70
- "wagtail.blocks.CharBlock",
71
- (),
72
- {
73
- "help_text": "The title for the list item.",
74
- "max_length": 50,
75
- "required": True,
76
- },
77
- ),
78
- 9: (
79
- "wagtail.blocks.CharBlock",
80
- (),
81
- {
82
- "help_text": "The static path to the SVG icon, relative to the static directory (e.g., 'svgs/github.svg').",
83
- "max_length": 255,
84
- "required": False,
85
- },
86
- ),
87
- 10: (
88
- "wagtail.blocks.StructBlock",
89
- [[("url", 7), ("label", 8), ("icon", 9)]],
90
- {},
91
- ),
92
- 11: ("wagtail.blocks.ListBlock", (10,), {"help_text": "The list of items."}),
93
- 12: (
94
- "wagtail.blocks.StructBlock",
95
- [[("heading", 5), ("heading_level", 6), ("items", 11)]],
96
- {},
97
- ),
98
- 13: (
99
- "wagtail.blocks.StreamBlock",
100
- [[("link_list", 12)]],
101
- {
102
- "help_text": "Add one or more heading-and-link-list blocks.",
103
- "required": False,
104
- },
105
- ),
106
- 14: ("wagtail.blocks.StructBlock", [[("lists", 13)]], {}),
107
- },
108
- help_text="Main content for the split-view page.",
109
- ),
110
- ),
111
- ]
@@ -1,105 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-03 03:50
2
-
3
- import wagtail.fields
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("hpk", "0009_alter_splitviewpage_content"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name="splitviewpage",
15
- name="content",
16
- field=wagtail.fields.StreamField(
17
- [("rich_text", 0), ("code", 3), ("image", 4), ("icon_link_lists", 14)],
18
- blank=True,
19
- block_lookup={
20
- 0: ("wagtail.blocks.RichTextBlock", (), {}),
21
- 1: ("wagtail.blocks.TextBlock", (), {"help_text": None, "required": True}),
22
- 2: (
23
- "wagtail.blocks.ChoiceBlock",
24
- [],
25
- {
26
- "choices": [
27
- ("python", "Python"),
28
- ("javascript", "JavaScript"),
29
- ("html", "HTML"),
30
- ("css", "CSS"),
31
- ("bash", "Bash"),
32
- ("plaintext", "Plain Text"),
33
- ],
34
- "required": False,
35
- },
36
- ),
37
- 3: ("wagtail.blocks.StructBlock", [[("code", 1), ("language", 2)]], {}),
38
- 4: ("hpk.blocks.WrappedImageChooserBlock", (), {}),
39
- 5: (
40
- "wagtail.blocks.CharBlock",
41
- (),
42
- {
43
- "help_text": "Optional heading for this list (e.g., Social Links).",
44
- "required": False,
45
- },
46
- ),
47
- 6: (
48
- "wagtail.blocks.IntegerBlock",
49
- (),
50
- {
51
- "default": 2,
52
- "help_text": "Heading level for the list (1-6).",
53
- "max_value": 6,
54
- "min_value": 1,
55
- "required": False,
56
- },
57
- ),
58
- 7: (
59
- "wagtail.blocks.URLBlock",
60
- (),
61
- {"help_text": "The URL to link to.", "required": False},
62
- ),
63
- 8: (
64
- "wagtail.blocks.CharBlock",
65
- (),
66
- {
67
- "help_text": "The title for the list item.",
68
- "max_length": 50,
69
- "required": True,
70
- },
71
- ),
72
- 9: (
73
- "wagtail.blocks.CharBlock",
74
- (),
75
- {
76
- "help_text": "The static path to the SVG icon, relative to the static directory (e.g., 'svgs/github.svg').",
77
- "max_length": 255,
78
- "required": False,
79
- },
80
- ),
81
- 10: (
82
- "wagtail.blocks.StructBlock",
83
- [[("url", 7), ("label", 8), ("icon", 9)]],
84
- {},
85
- ),
86
- 11: ("wagtail.blocks.ListBlock", (10,), {"help_text": "The list of items."}),
87
- 12: (
88
- "wagtail.blocks.StructBlock",
89
- [[("heading", 5), ("heading_level", 6), ("items", 11)]],
90
- {},
91
- ),
92
- 13: (
93
- "wagtail.blocks.StreamBlock",
94
- [[("link_list", 12)]],
95
- {
96
- "help_text": "Add one or more heading-and-link-list blocks.",
97
- "required": False,
98
- },
99
- ),
100
- 14: ("wagtail.blocks.StructBlock", [[("lists", 13)]], {}),
101
- },
102
- help_text="Main content for the split-view page.",
103
- ),
104
- ),
105
- ]
@@ -1,113 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-04 00:57
2
-
3
- import wagtail.fields
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("hpk", "0010_alter_splitviewpage_content"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterModelOptions(
14
- name="splitviewpage",
15
- options={"verbose_name": "Split-View", "verbose_name_plural": "Split-Views"},
16
- ),
17
- migrations.AlterField(
18
- model_name="splitviewpage",
19
- name="content",
20
- field=wagtail.fields.StreamField(
21
- [("rich_text", 0), ("code", 3), ("image", 4), ("icon_link_lists", 14)],
22
- blank=True,
23
- block_lookup={
24
- 0: ("wagtail.blocks.RichTextBlock", (), {}),
25
- 1: ("wagtail.blocks.TextBlock", (), {"help_text": None, "required": True}),
26
- 2: (
27
- "wagtail.blocks.ChoiceBlock",
28
- [],
29
- {
30
- "choices": [
31
- ("python", "Python"),
32
- ("javascript", "JavaScript"),
33
- ("html", "HTML"),
34
- ("css", "CSS"),
35
- ("bash", "Bash"),
36
- ("plaintext", "Plain Text"),
37
- ],
38
- "required": False,
39
- },
40
- ),
41
- 3: ("wagtail.blocks.StructBlock", [[("code", 1), ("language", 2)]], {}),
42
- 4: ("hpk.blocks.WrappedImageChooserBlock", (), {}),
43
- 5: (
44
- "wagtail.blocks.CharBlock",
45
- (),
46
- {
47
- "help_text": "Optional heading for this list (e.g., Social Links).",
48
- "required": False,
49
- },
50
- ),
51
- 6: (
52
- "wagtail.blocks.IntegerBlock",
53
- (),
54
- {
55
- "default": 2,
56
- "help_text": "Heading level for the list (1-6).",
57
- "max_value": 6,
58
- "min_value": 1,
59
- "required": False,
60
- },
61
- ),
62
- 7: (
63
- "hpk.blocks.HREFBlock",
64
- (),
65
- {
66
- "help_text": "An optional link field",
67
- "max_length": 255,
68
- "required": False,
69
- },
70
- ),
71
- 8: (
72
- "wagtail.blocks.CharBlock",
73
- (),
74
- {
75
- "help_text": "The title for the list item.",
76
- "max_length": 50,
77
- "required": True,
78
- },
79
- ),
80
- 9: (
81
- "wagtail.blocks.CharBlock",
82
- (),
83
- {
84
- "help_text": "Id of the icon in the static/icons.svg file.",
85
- "max_length": 255,
86
- "required": False,
87
- },
88
- ),
89
- 10: (
90
- "wagtail.blocks.StructBlock",
91
- [[("href_block", 7), ("label", 8), ("icon", 9)]],
92
- {},
93
- ),
94
- 11: ("wagtail.blocks.ListBlock", (10,), {"help_text": "The list of items."}),
95
- 12: (
96
- "wagtail.blocks.StructBlock",
97
- [[("heading", 5), ("heading_level", 6), ("items", 11)]],
98
- {},
99
- ),
100
- 13: (
101
- "wagtail.blocks.StreamBlock",
102
- [[("link_list", 12)]],
103
- {
104
- "help_text": "Add one or more heading-and-link-list blocks.",
105
- "required": False,
106
- },
107
- ),
108
- 14: ("wagtail.blocks.StructBlock", [[("lists", 13)]], {}),
109
- },
110
- help_text="Main content for the split-view page.",
111
- ),
112
- ),
113
- ]