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,109 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-04 02:55
2
-
3
- import wagtail.fields
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("hpk", "0011_alter_splitviewpage_options_and_more"),
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
- "hpk.blocks.HREFBlock",
60
- (),
61
- {
62
- "help_text": "An optional link field",
63
- "max_length": 255,
64
- "required": False,
65
- },
66
- ),
67
- 8: (
68
- "wagtail.blocks.CharBlock",
69
- (),
70
- {
71
- "help_text": "The title for the list item.",
72
- "max_length": 50,
73
- "required": True,
74
- },
75
- ),
76
- 9: (
77
- "wagtail.blocks.CharBlock",
78
- (),
79
- {
80
- "help_text": "Id of the icon in the static/icons.svg file.",
81
- "max_length": 255,
82
- "required": False,
83
- },
84
- ),
85
- 10: (
86
- "wagtail.blocks.StructBlock",
87
- [[("href", 7), ("label", 8), ("icon", 9)]],
88
- {},
89
- ),
90
- 11: ("wagtail.blocks.ListBlock", (10,), {"help_text": "The list of items."}),
91
- 12: (
92
- "wagtail.blocks.StructBlock",
93
- [[("heading", 5), ("heading_level", 6), ("items", 11)]],
94
- {},
95
- ),
96
- 13: (
97
- "wagtail.blocks.StreamBlock",
98
- [[("link_list", 12)]],
99
- {
100
- "help_text": "Add one or more heading-and-link-list blocks.",
101
- "required": False,
102
- },
103
- ),
104
- 14: ("wagtail.blocks.StructBlock", [[("lists", 13)]], {}),
105
- },
106
- help_text="Main content for the split-view page.",
107
- ),
108
- ),
109
- ]
@@ -1,43 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-08 07:12
2
-
3
- import wagtail.fields
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
- dependencies = [
9
- ("hpk", "0012_alter_splitviewpage_content"),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name="article",
15
- name="content",
16
- field=wagtail.fields.StreamField(
17
- [("section", 0), ("code", 3), ("image", 4)],
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: ("wagtail.images.blocks.ImageChooserBlock", (), {}),
39
- },
40
- help_text="Main content for the article.",
41
- ),
42
- ),
43
- ]
@@ -1,24 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-08 23:41
2
-
3
- import wagtail.fields
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('hpk', '0013_alter_article_content'),
11
- ]
12
-
13
- operations = [
14
- migrations.AlterField(
15
- model_name='article',
16
- name='content',
17
- field=wagtail.fields.StreamField([('rich_text', 0), ('code', 3), ('image', 4)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {}), 1: ('wagtail.blocks.TextBlock', (), {'help_text': None, 'required': True}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('python', 'Python'), ('javascript', 'JavaScript'), ('html', 'HTML'), ('css', 'CSS'), ('bash', 'Bash'), ('plaintext', 'Plain Text')], 'required': False}), 3: ('wagtail.blocks.StructBlock', [[('code', 1), ('language', 2)]], {}), 4: ('wagtail.images.blocks.ImageChooserBlock', (), {})}, help_text='Main content for the article.'),
18
- ),
19
- migrations.AlterField(
20
- model_name='article',
21
- name='summary',
22
- field=wagtail.fields.RichTextField(blank=True, help_text='A summary, to be displayed in previews.'),
23
- ),
24
- ]
@@ -1,28 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-08 23:52
2
-
3
- import wagtail.fields
4
- from django.db import migrations, models
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('hpk', '0014_alter_article_content_alter_article_summary'),
11
- ]
12
-
13
- operations = [
14
- migrations.AlterModelOptions(
15
- name='article',
16
- options={'verbose_name': 'article', 'verbose_name_plural': 'articles'},
17
- ),
18
- migrations.AddField(
19
- model_name='article',
20
- name='tagline',
21
- field=models.CharField(blank=True, help_text='A short tagline for the article.'),
22
- ),
23
- migrations.AlterField(
24
- model_name='article',
25
- name='summary',
26
- field=wagtail.fields.RichTextField(blank=True, help_text='A summary to be displayed in previews.'),
27
- ),
28
- ]
@@ -1,33 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-09 00:27
2
-
3
- from django.db import migrations
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('hpk', '0015_alter_article_options_article_tagline_and_more'),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterModelOptions(
14
- name='article',
15
- options={},
16
- ),
17
- migrations.AlterModelOptions(
18
- name='articletag',
19
- options={},
20
- ),
21
- migrations.AlterModelOptions(
22
- name='basicpage',
23
- options={},
24
- ),
25
- migrations.AlterModelOptions(
26
- name='postgrouppage',
27
- options={'verbose_name': 'post listing', 'verbose_name_plural': 'post listings'},
28
- ),
29
- migrations.AlterModelOptions(
30
- name='splitviewpage',
31
- options={'verbose_name': 'split-view page', 'verbose_name_plural': 'split-view pages'},
32
- ),
33
- ]
@@ -1,35 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-10 02:28
2
-
3
- import django.db.models.deletion
4
- import modelcluster.contrib.taggit
5
- import modelcluster.fields
6
- from django.db import migrations, models
7
-
8
-
9
- class Migration(migrations.Migration):
10
-
11
- dependencies = [
12
- ('hpk', '0016_alter_article_options_alter_articletag_options_and_more'),
13
- ]
14
-
15
- operations = [
16
- migrations.CreateModel(
17
- name='ArticleTagRelation',
18
- fields=[
19
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20
- ('content_object', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='tagged_items', to='hpk.article')),
21
- ('tag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tagged_items', to='hpk.articletag')),
22
- ],
23
- options={
24
- 'abstract': False,
25
- },
26
- ),
27
- migrations.AlterField(
28
- model_name='article',
29
- name='tags',
30
- field=modelcluster.contrib.taggit.ClusterTaggableManager(blank=True, help_text='Tags for the article.', through='hpk.ArticleTagRelation', to='hpk.ArticleTag', verbose_name='Tags'),
31
- ),
32
- migrations.DeleteModel(
33
- name='ArticleTagItem',
34
- ),
35
- ]
@@ -1,21 +0,0 @@
1
- # Generated by Django 5.1.4 on 2025-01-14 01:13
2
-
3
- from django.db import migrations
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('hpk', '0017_articletagrelation_alter_article_tags_and_more'),
10
- ]
11
-
12
- operations = [
13
- migrations.RenameModel(
14
- old_name='ArticleTag',
15
- new_name='PageTag',
16
- ),
17
- migrations.RenameModel(
18
- old_name='ArticleTagRelation',
19
- new_name='PageTagRelation',
20
- ),
21
- ]
@@ -1,18 +0,0 @@
1
- # Generated by Django 5.1.5 on 2025-01-18 01:31
2
-
3
- from django.db import migrations
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('hpk', '0018_rename_articletag_pagetag_and_more'),
10
- ]
11
-
12
- operations = [
13
- migrations.RenameField(
14
- model_name='articletype',
15
- old_name='name_plural',
16
- new_name='_name_plural',
17
- ),
18
- ]
@@ -1,18 +0,0 @@
1
- # Generated by Django 5.1.5 on 2025-01-18 01:34
2
-
3
- from django.db import migrations
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('hpk', '0019_rename_name_plural_articletype__name_plural'),
10
- ]
11
-
12
- operations = [
13
- migrations.RenameField(
14
- model_name='articletype',
15
- old_name='_name_plural',
16
- new_name='_Pluralised_name',
17
- ),
18
- ]
@@ -1,18 +0,0 @@
1
- # Generated by Django 5.1.5 on 2025-01-18 03:04
2
-
3
- from django.db import migrations
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('hpk', '0020_rename__name_plural_articletype__pluralised_name'),
10
- ]
11
-
12
- operations = [
13
- migrations.RenameField(
14
- model_name='article',
15
- old_name='article_type',
16
- new_name='page_type',
17
- ),
18
- ]
@@ -1,28 +0,0 @@
1
- # Generated by Django 5.1.5 on 2025-01-20 04:02
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
-
10
- dependencies = [
11
- ('hpk', '0021_rename_article_type_article_page_type'),
12
- ('wagtailcore', '0094_alter_page_locale'),
13
- ]
14
-
15
- operations = [
16
- migrations.CreateModel(
17
- name='HomePage',
18
- fields=[
19
- ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
20
- ('top_content', wagtail.fields.StreamField([('rich_text', 0), ('image', 1), ('icon_link_lists', 11)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {}), 1: ('hpk.blocks.WrappedImageChooserBlock', (), {}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Optional heading for this list (e.g., Social Links).', 'required': False}), 3: ('wagtail.blocks.IntegerBlock', (), {'default': 2, 'help_text': 'Heading level for the list (1-6).', 'max_value': 6, 'min_value': 1, 'required': False}), 4: ('hpk.blocks.HREFBlock', (), {'help_text': 'An optional link field', 'max_length': 255, 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'The title for the list item.', 'max_length': 50, 'required': True}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Id of the icon in the static/icons.svg file.', 'max_length': 255, 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('href', 4), ('label', 5), ('icon', 6)]], {}), 8: ('wagtail.blocks.ListBlock', (7,), {'help_text': 'The list of items.'}), 9: ('wagtail.blocks.StructBlock', [[('heading', 2), ('heading_level', 3), ('items', 8)]], {}), 10: ('wagtail.blocks.StreamBlock', [[('link_list', 9)]], {'help_text': 'Add one or more heading-and-link-list blocks.', 'required': False}), 11: ('wagtail.blocks.StructBlock', [[('lists', 10)]], {})}, help_text="Content stream above 'Recent posts'")),
21
- ('bottom_content', wagtail.fields.StreamField([('rich_text', 0), ('image', 1), ('icon_link_lists', 11)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {}), 1: ('hpk.blocks.WrappedImageChooserBlock', (), {}), 2: ('wagtail.blocks.CharBlock', (), {'help_text': 'Optional heading for this list (e.g., Social Links).', 'required': False}), 3: ('wagtail.blocks.IntegerBlock', (), {'default': 2, 'help_text': 'Heading level for the list (1-6).', 'max_value': 6, 'min_value': 1, 'required': False}), 4: ('hpk.blocks.HREFBlock', (), {'help_text': 'An optional link field', 'max_length': 255, 'required': False}), 5: ('wagtail.blocks.CharBlock', (), {'help_text': 'The title for the list item.', 'max_length': 50, 'required': True}), 6: ('wagtail.blocks.CharBlock', (), {'help_text': 'Id of the icon in the static/icons.svg file.', 'max_length': 255, 'required': False}), 7: ('wagtail.blocks.StructBlock', [[('href', 4), ('label', 5), ('icon', 6)]], {}), 8: ('wagtail.blocks.ListBlock', (7,), {'help_text': 'The list of items.'}), 9: ('wagtail.blocks.StructBlock', [[('heading', 2), ('heading_level', 3), ('items', 8)]], {}), 10: ('wagtail.blocks.StreamBlock', [[('link_list', 9)]], {'help_text': 'Add one or more heading-and-link-list blocks.', 'required': False}), 11: ('wagtail.blocks.StructBlock', [[('lists', 10)]], {})}, help_text="Content stream rendered under 'Recent posts'")),
22
- ],
23
- options={
24
- 'verbose_name': 'home page',
25
- },
26
- bases=('wagtailcore.page',),
27
- ),
28
- ]
@@ -1,87 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: picata
3
- Version: 0.0.1
4
- Summary: Ada's Wagtail-based CMS & blog
5
- Project-URL: Documentation, https://github.com/hipikat/picata#readme
6
- Project-URL: Issues, https://github.com/hipikat/picata/issues
7
- Project-URL: Source, https://github.com/hipikat/picata
8
- Author-email: Ada Wright <ada@hpk.io>
9
- License-Expression: MIT
10
- License-File: LICENSE.md
11
- Keywords: blog,cms,django,wagtail
12
- Classifier: Development Status :: 2 - Pre-Alpha
13
- Classifier: Framework :: Django CMS
14
- Classifier: Framework :: Wagtail :: 6
15
- Classifier: Programming Language :: Python
16
- Classifier: Programming Language :: Python :: 3.13
17
- Classifier: Programming Language :: Python :: Implementation :: CPython
18
- Requires-Python: >=3.13
19
- Requires-Dist: gunicorn~=23.0.0
20
- Requires-Dist: lxml~=5.3.0
21
- Requires-Dist: psutil~=6.1.0
22
- Requires-Dist: psycopg~=3.2.3
23
- Requires-Dist: pygments~=2.18.0
24
- Requires-Dist: python-slugify~=8.0.4
25
- Requires-Dist: wagtail-modeladmin~=2.1.0
26
- Requires-Dist: wagtail~=6.2
27
- Description-Content-Type: text/markdown
28
-
29
- # Ada's website
30
-
31
- Wherein I set up a little website, and learn a bunch of stuff as I go.
32
-
33
- ## What it's made of
34
-
35
- ### Inside the box
36
-
37
- - [Wagtail](https://wagtail.org) (on [Django](https://www.djangoproject.com)) is the web framework
38
- <!-- - [Tailwind CSS](https://tailwindcss.com) for styling -->
39
-
40
- ### Holding things together
41
-
42
- - [UV](https://github.com/astral-sh/uv) for all Python project management
43
- - [Just](https://just.systems) as a command runner
44
- - [OpenTofu](https://opentofu.org) for DevOps
45
- - [Postgres](https://www.postgresql.org) for the database
46
- - [Docker](https://www.docker.com) for local development
47
-
48
- ## Quickstart
49
-
50
- ### Requirements
51
-
52
- - On a Mac:
53
-
54
- ```shell
55
- brew install colima docker
56
- ```
57
-
58
- ### Run a development server
59
-
60
- ```shell
61
- just tofu workspace select dev
62
- just tofu apply
63
- ```
64
-
65
- This will spin up a box on DigitalOcean using the settings defined in
66
- [infra/variables.tf](infra/variables.tf), and create a DNS A record at
67
- (workspace).for.(tld), (i.e. dev.for.hpk.io) pointing to the box. The variables
68
- `do_token` and `ssh_fingerprint` should be defined in
69
- [infra/secrets.tfvars](infra/secrets.tfvars). Workspace-specific variables are
70
- defined in infra/envs/(workspace).tfvars; e.g.
71
- [infra/envs/dev.tfvars](infra/envs/dev.tfvars) defines the 'tags' list for the
72
- box as `[development]` and sets `cloud_init_config` to point to the
73
- [cloud-init](https://cloud-init.io) script
74
- [config/cloud-init-dev.yml](config/cloud-init-dev.yml).
75
-
76
- The development cloud-init script will:
77
-
78
- - Install the system packages [`just`](https://just.systems), [`zsh`](https://www.zsh.org),
79
- [`gunicorn`](https://gunicorn.org), and `tree`
80
- - Create a 'wagtail' user, with UID 1500
81
- - Create the 'ada' user, and:
82
- - install their SSH public keys,
83
- - install their dotfiles,
84
- - add them to the 'sudo' and 'wagtail' groups
85
- - Install [Node](http://nodejs.org) on the system, from the `TF_VAR_NODE_VERSION`
86
- defined in [.env](.env)
87
- - Checkout this repository into `/app`, setting the owner and group to 'wagtail'.
@@ -1,94 +0,0 @@
1
- LICENSE.md,sha256=Bv8sMyZI5NI6DMrfiAvCwIFRLSfJkimLF2KVcUMteKU,1103
2
- README.md,sha256=tPe8EjMhr2cMwsf-N-gQcTT-IpyE2kIOnwggeJnSPzM,1990
3
- entrypoint.tsx,sha256=Tk6L2rCk0KrE5kaSL0GFuL3S19yG-BsUgvNAGe32uy8,8820
4
- manage.py,sha256=v0zbaNjwEksTx39Z9dgoWh8LxZEH1tuCpjLVVmiXBF4,423
5
- pygments.sass,sha256=zbDYpWda3EoGmjoC3JshZy-_CECNf6WU9abYPF8EHms,6369
6
- styles.sass,sha256=4Jb-Gxn9AP09pZzwLlCGGfeacCyrncpJAOCYcy-dyB4,8486
7
- components/HelloWorld.tsx,sha256=Kp7gvhGehfrX1mw0jgr2_D6AueFgqgfMYGkyQgvWekg,180
8
- picata/__init__.py,sha256=_kL7fTKu02_hXVnOmF1K7llLgpdOeQyAVliL7I5o-Dg,62
9
- picata/apps.py,sha256=P1qIVWRACiNUA-TY6aIRvt-MyA-3baG82Z_MEpr2fsw,1241
10
- picata/blocks.py,sha256=iPJc4eQN7_J-KGMMw3Iln31I1-tBluqgaUF-xCxq2Mc,5279
11
- picata/log_utils.py,sha256=BRdB3PqpFx1XAhIyAzIOyQKiqrjbT3PBmkhH6-wAWJg,1555
12
- picata/middleware.py,sha256=ycKEVr2GKGmGFQNqFG4ijBmxFuVK11khtiiAiTsbbsk,2064
13
- picata/models.py,sha256=dra7x1pbRrMpFydgER_j7zPEnrP9Dqqy1n3rDR1Jbgc,15868
14
- picata/transformers.py,sha256=8VkJJC0Xm8ZMzKxOp07rSnqJA7b-TiL02e_y07Gh5AI,2209
15
- picata/urls.py,sha256=kTSLS0-f9YaLmhzgg8mW4Oc9W04eXVf_0TZpEnYdnJo,1828
16
- picata/validators.py,sha256=X4wdIxbCdmuU-gJv45ptTFB7kHR166jkSQBJiTzP3ZU,1517
17
- picata/views.py,sha256=L_NXtqZogdwP7X1uBIPOB1qnYSNpCCThuI8O7YeS47E,2874
18
- picata/wagtail_hooks.py,sha256=Y_50IVpV62TEHtg1h8MN0IDkCWAMTVzv0Hd3eiult9M,1497
19
- picata/wsgi.py,sha256=XdUhwbLt-MKyr9he5PRphYrvKadC8yF0glx1xxQpCgE,392
20
- picata/helpers/__init__.py,sha256=acN445qKCuRVfInCEyCtx5W1BggloOSrawzdQ-c9m7s,2427
21
- picata/helpers/wagtail.py,sha256=p_0qw530UcaIBY3AzeTYY6fOUxmVnC9DaP_0_gByrUw,2108
22
- picata/migrations/0001_initial.py,sha256=q15Mjii63qa397O7eXyM-BSgTDzf1MqzKAJn1To_huc,9721
23
- picata/migrations/0002_alter_article_content_alter_basicpage_content.py,sha256=WlmmGgbAaBCZvR904W8gAeyxp30fOfi4a0D5Xpiojsk,4490
24
- picata/migrations/0003_alter_article_content_alter_basicpage_content.py,sha256=i2KD213JKxzM7Kgxlfufxz405IICBoVFJVeNBZuaRlI,4300
25
- picata/migrations/0004_alter_article_content_alter_basicpage_content.py,sha256=sZ_ky-xTZREr43y9Zrh1DaqUS5ZXi4r7ilL_EZf9L_E,4204
26
- picata/migrations/0005_socialsettings.py,sha256=flfEf47418UX972SoL0nta2gKjambGFACXpFD_oeY0s,1541
27
- picata/migrations/0006_alter_article_content.py,sha256=EVTuWtWf74mpD-YvZEzBEdmwHAixzn4R5PxEABl8n0Q,2690
28
- picata/migrations/0007_splitviewpage.py,sha256=KK67Kw4kbxVm56BZfKj58mDajZfsCpLwspAFegKQgNA,2675
29
- picata/migrations/0008_alter_splitviewpage_content.py,sha256=Y5aj5rTgclKxAgpPF7wCOxDpyFe4rrVkxa_YsEAoYCc,3829
30
- picata/migrations/0009_alter_splitviewpage_content.py,sha256=PPu4Hqtm7PkbQYRB_CzqsS-G3-vkAPncPco8Zrn1IXY,4406
31
- picata/migrations/0010_alter_splitviewpage_content.py,sha256=Re61nL4y6zHRGMhxADkqHNDkfoWQ8bHGbZK74uJXatg,4265
32
- picata/migrations/0011_alter_splitviewpage_options_and_more.py,sha256=OPtQipM3COYRVf9RaP9G8ec0x3NlyR8wT1er3m11kg8,4527
33
- picata/migrations/0012_alter_splitviewpage_content.py,sha256=pPERBPW4uduQ-sGops44p2gavJ2hYh5toZ67hmvjhLo,4357
34
- picata/migrations/0013_alter_article_content.py,sha256=zVn-YC5jhXiG_c6hkD_uhAgu1BCdsqA1j1xfgJj5n1U,1571
35
- picata/migrations/0014_alter_article_content_alter_article_summary.py,sha256=5RvNPNyjy0dnyOw9RfcuTB8pFlpmg6p3yK8kuR0zgMk,1186
36
- picata/migrations/0015_alter_article_options_article_tagline_and_more.py,sha256=8ToGgChYwqSoxo5EgwM8SISbQhFt7yewH-fN3raNE_Y,849
37
- picata/migrations/0016_alter_article_options_alter_articletag_options_and_more.py,sha256=yxDQhzCMOZCl3NPEyYnM1Yw1E5HAn4wN_BPV5PYrMxE,917
38
- picata/migrations/0017_articletagrelation_alter_article_tags_and_more.py,sha256=3rPB6p0GxwTCvTVQIDKNFBtrf26q99mdmQwoCqpXyM8,1341
39
- picata/migrations/0018_rename_articletag_pagetag_and_more.py,sha256=0wFB82uAlJZAA7BD1OVTJIWvY5by8fZss7TIVsVLnnY,485
40
- picata/migrations/0019_rename_name_plural_articletype__name_plural.py,sha256=K58-B-V2ld2gJ7OuHnrQchC7zZvLP2Bnss3bQB5oS84,391
41
- picata/migrations/0020_rename__name_plural_articletype__pluralised_name.py,sha256=X9zRPk5G6iMwitrr5BTUB9Nk9VqQQ951HfBrQ8_MXD4,405
42
- picata/migrations/0021_rename_article_type_article_page_type.py,sha256=DtxWYyke-8RmoFqpW817rtrIzVMSV8wqCpS1e911Nxc,399
43
- picata/migrations/0022_homepage.py,sha256=SYpqIlquJzLh4YozTcJVjR_0fW_v9GRrY75bnAUk0vE,3591
44
- picata/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- picata/settings/__init__.py,sha256=5qI40E9aCWsFanUxAnruZi1wXrad3oAwnusglycfPsk,47
46
- picata/settings/base.py,sha256=APK6EyBUu1C3Q8VX8JciKTQX-iZcARm2BMD54LDgAaY,9273
47
- picata/settings/dev.py,sha256=6SXFuEH3NTq2L3iWcC49Ky3gxJnPflHE3TtjByzuEOg,2796
48
- picata/settings/mypy.py,sha256=M-_KU9Qi4twjCHwwuhFbGz9hnIU3TXLH0Sg3XionVNY,148
49
- picata/settings/prod.py,sha256=iPsqLOdinblT_ayqMW2_GqpNccsXJlWA9-kA015X7Vo,474
50
- picata/settings/test.py,sha256=H_Wkn_gjsIV0r5HsU-s5HLhW_Oi63VQp4Afj2TIgRhI,244
51
- picata/static/picata/ada-profile.jpg,sha256=HlewC8MPH_zSr--pUXV5JCEE0emOrn8BIKCQv41WidA,209953
52
- picata/static/picata/ada-social-bear.jpg,sha256=3jH2kf57boRLS5AD7M-qW-xsBP84didfeM1KN5Xp4tc,128453
53
- picata/static/picata/favicon.ico,sha256=MJLjMSsDpx9Mjb1v7y8V5oPMX3gLtD4cIDmNAdOgHC8,15406
54
- picata/static/picata/icons.svg,sha256=LRLgy8bHyZKorDyPxkO2mMdbevKs40sCnhdWoO29pdY,11320
55
- picata/static/picata/fonts/Bitter-Light.ttf,sha256=JCgJXY06RiEONk2htx2bitpL3zqeGGJ01Z81fwRTwAo,182212
56
- picata/static/picata/fonts/Bitter-LightItalic.ttf,sha256=A6oI_l_kGd2F9-V0eOYMoydigDPRdahO6aUKMvQXddY,181412
57
- picata/static/picata/fonts/FiraCode-Light.ttf,sha256=bKCGEsYc36CaTQ_0-STZkfU7PDJXZpyQQDfQD7oJyTQ,188708
58
- picata/static/picata/fonts/FiraCode-SemiBold.ttf,sha256=BsEuLjCqZkqwFH0_iBxrWH1hrdhDZa9cNM61DkA5hiE,188848
59
- picata/static/picata/fonts/Sacramento-Regular.ttf,sha256=pbneZ75FSoJrRthYUS4y7sjDAxK-tMT4ZK7iOQQU6cU,64808
60
- picata/static/picata/fonts/ZillaSlab-Bold.ttf,sha256=7Fo-wbzMoTThzw3ivb2PiLNcB1atOZdGClX22mwHu_Q,248052
61
- picata/static/picata/fonts/ZillaSlab-BoldItalic.ttf,sha256=xra8p0e0zYZ5gyu5w6BeR8fnOJbZkeoIRFZuRm-FpEI,255272
62
- picata/static/picata/fonts/ZillaSlab-Light.ttf,sha256=x9c6KiQ-iPpyqCDb2yYgDqi0GW-DNM8YIyTXqehumJ8,239836
63
- picata/static/picata/fonts/ZillaSlab-LightItalic.ttf,sha256=8pgf5nlQb5DBqfaNKDj2P7iDMRwaW80YjaC3hXb72PA,245200
64
- picata/static/picata/fonts/ZillaSlabHighlight-Bold.ttf,sha256=MbNNCVxe1Kt-j8rJpognUmTZrh9R9je-35MgwoeL7eU,245180
65
- picata/templates/picata/3_column.html,sha256=4SYfqTbmAtYICEulpx1RWocBCQUUn32EnZJrcxfVWwA,790
66
- picata/templates/picata/404.html,sha256=4q8kKGGHWDk9Z8ThW2rP70T3SQrGNGRf153pvYcV7VE,230
67
- picata/templates/picata/500.html,sha256=1xvvK2uoiZKkc2EuVVnbfg69KmrCJUdplR0vvFtWvKo,369
68
- picata/templates/picata/_post_list.html,sha256=JpvNAOGmupLQIC6lTyjoyNOyRGMUQwOqEvEaZgSPrsM,915
69
- picata/templates/picata/article.html,sha256=NBwXpicb_oL2xy3FN8_6KJNbrrQD2rTrNIu1ngOietk,794
70
- picata/templates/picata/base.html,sha256=gE8pChABBlXUYfyQCkUdVZx9tFHS-cnMEWGNeaHGziI,8140
71
- picata/templates/picata/basic_page.html,sha256=1FS_xdL6erskk9T-_TP3JWARczVstOLzs2ttvkbPbdk,173
72
- picata/templates/picata/dl_view.html,sha256=epAV72HR2f0I3GWBEngUtYOQnHSsXs_SsNlhH7u-JbU,494
73
- picata/templates/picata/home_page.html,sha256=nVDZwlsXfKtdSwQR80e0cHtiX7hf91ws5tYhu_ug_gU,635
74
- picata/templates/picata/post_listing.html,sha256=3aSWYdPfwvYblE4s7b2P_dOLiiCWcrT1uvXRuDBak5Y,428
75
- picata/templates/picata/search_results.html,sha256=P5HwdkLX2iQjZFEtD4YOp4Mun17btshjKBw__z6q8Hs,957
76
- picata/templates/picata/split_view.html,sha256=DqRUKT5wc_-ByibQRZoyDU91omK6TgK7wC3Rp72bbgM,402
77
- picata/templates/picata/blocks/icon_link_item.html,sha256=t-9LoA00Nv-H031yIL8es89zevbn315jlr5LTiAyM_o,301
78
- picata/templates/picata/blocks/icon_link_list.html,sha256=7KU-hLOhAdKnoecLcugqWNzO5SgPnN9XfTDs1y60f0c,261
79
- picata/templates/picata/blocks/icon_link_list_stream.html,sha256=B7yz5Ss_dT_5NIMsVwggnGFGmRgawNQrvnowaJUSUnw,69
80
- picata/templates/picata/previews/3col.html,sha256=CwnWJpK5dvmVxqhBuu0QSFHWKhZlnc3xEowMQk3ltBo,4473
81
- picata/templates/picata/previews/dl.html,sha256=ANOqlD3nlj5NF-4sPmya3eo0CNwmxgmUXswmz22Bh30,2095
82
- picata/templates/picata/previews/split.html,sha256=hqv27u4wKTX8jJiNMazXioyRU9Uajpys_7LVQeI3NtE,2106
83
- picata/templates/picata/previews/theme_gallery.html,sha256=f10610quPimz6xzpozvpZtdRrTpSP5KFIppuGeOZ308,8007
84
- picata/templates/picata/tags/site_menu.html,sha256=Tb_BjV88ZH-nRb76alzSXPVUokPC9O2mVByKmeAgQWA,223
85
- picata/templatetags/__init__.py,sha256=YNGfxmI00gewcJkkUlH219BHimHD_4p5Lz-zXPvgO-U,47
86
- picata/templatetags/absolute_static.py,sha256=asY9uNFShD5iQCaU-ZjsgXQOJNlmLmkoOvRs2WWhEYE,454
87
- picata/templatetags/menu_tags.py,sha256=WvsyNHyuD4oiueedWjqnej2PrAQW0FdlGeEYrYd_xbs,1267
88
- picata/templatetags/stringify.py,sha256=QxStfcCgn29IGinH_bdsZoaiTLL7pz30ObDitlagecs,850
89
- picata/typing/__init__.py,sha256=Nu2HZtspAQTzxMx6gmRKdDp9DfqmFc5urxfokXp2k-Y,402
90
- picata/typing/wagtail.py,sha256=r84cf-8AzaWCMULF4HRjl5wmTFKIxw2DwvhxmIDurjA,661
91
- picata-0.0.1.dist-info/METADATA,sha256=CzIkWSGSTfq45DELALkcS2ReZ-sxZ3sJ-vMpyfRWq7M,2996
92
- picata-0.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
- picata-0.0.1.dist-info/licenses/LICENSE.md,sha256=Bv8sMyZI5NI6DMrfiAvCwIFRLSfJkimLF2KVcUMteKU,1103
94
- picata-0.0.1.dist-info/RECORD,,
File without changes