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

Sign up to get free protection for your applications and to get access to all the features.
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
- ]