wagtail-cjkcms 24.6.1__py2.py3-none-any.whl → 24.6.3__py2.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.
cjkcms/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- VERSION = (24, 6, 1, "")
1
+ VERSION = (24, 6, 3, "")
2
2
 
3
3
  __version_info__ = VERSION
4
4
  __version__ = ".".join(map(str, VERSION[:3])) + (f"-{VERSION[3]}" if VERSION[3] else "")
cjkcms/blocks/__init__.py CHANGED
@@ -31,6 +31,7 @@ from .content_blocks import ( # noqa
31
31
  NavPageLinkWithSubLinkBlock,
32
32
  PriceListBlock,
33
33
  ReusableContentBlock,
34
+ HighlightBlock,
34
35
  )
35
36
  from .content.events import PublicEventBlock, EventCalendarBlock
36
37
  from .layout_blocks import CardGridBlock, GridBlock, HeroBlock
@@ -75,6 +76,7 @@ CONTENT_STREAMBLOCKS = HTML_STREAMBLOCKS + [
75
76
  ("pricelist", PriceListBlock()),
76
77
  ("reusable_content", ReusableContentBlock()),
77
78
  ("event_calendar", EventCalendarBlock()),
79
+ ("highlight", HighlightBlock()),
78
80
  ]
79
81
 
80
82
  NAVIGATION_STREAMBLOCKS = [
@@ -359,3 +359,48 @@ class ReusableContentBlock(BaseBlock):
359
359
  label = _("Reusable Content")
360
360
  template = "cjkcms/blocks/reusable_content_block.html"
361
361
  label_format = "{content} (Reusable Content)"
362
+
363
+
364
+ class HighlightBlock(BaseBlock):
365
+ """
366
+ Block that highlights a piece of text
367
+ """
368
+
369
+ text = blocks.RichTextBlock(
370
+ features=cms_settings.CJKCMS_RICHTEXT_FEATURES["default"],
371
+ label=_("Text"),
372
+ )
373
+
374
+ background_color = blocks.ChoiceBlock(
375
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
376
+ default=cms_settings.CJKCMS_HIGHLIGHT_DEFAULT_COLOR,
377
+ required=False,
378
+ label=_("Background Color"),
379
+ )
380
+
381
+ border_color = blocks.ChoiceBlock(
382
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
383
+ default=cms_settings.CJKCMS_HIGHLIGHT_DEFAULT_COLOR,
384
+ required=False,
385
+ label=_("Border Color"),
386
+ )
387
+
388
+ text_color = blocks.ChoiceBlock(
389
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
390
+ default="dark",
391
+ required=False,
392
+ label=_("Text Color"),
393
+ )
394
+
395
+ icon = blocks.ChoiceBlock(
396
+ choices=cms_settings.FONT_AWESOME_ICONS,
397
+ default=cms_settings.FONT_AWESOME_ICONS_DEFAULT,
398
+ required=False,
399
+ label=_("Icon"),
400
+ )
401
+
402
+ class Meta:
403
+ icon = "thumbtack"
404
+ label = _("Highlight")
405
+ label_format = _("Highlight")
406
+ template = "cjkcms/blocks/highlight_block.html"
@@ -4,15 +4,20 @@ from django.db import migrations, models
4
4
 
5
5
 
6
6
  class Migration(migrations.Migration):
7
-
8
7
  dependencies = [
9
- ('cjkcms', '0017_layoutsettings_default_seo_image'),
8
+ ("cjkcms", "0017_layoutsettings_default_seo_image"),
10
9
  ]
11
10
 
12
11
  operations = [
13
12
  migrations.AddField(
14
- model_name='layoutsettings',
15
- name='search_format',
16
- field=models.CharField(blank=True, choices=[], default='', max_length=50, verbose_name='Search format'),
13
+ model_name="layoutsettings",
14
+ name="search_format",
15
+ field=models.CharField(
16
+ blank=True,
17
+ choices=[],
18
+ default="",
19
+ max_length=50,
20
+ verbose_name="Search format",
21
+ ),
17
22
  ),
18
23
  ]
@@ -4,25 +4,42 @@ from django.db import migrations, models
4
4
 
5
5
 
6
6
  class Migration(migrations.Migration):
7
-
8
7
  dependencies = [
9
- ('cjkcms', '0018_layoutsettings_search_format'),
8
+ ("cjkcms", "0018_layoutsettings_search_format"),
10
9
  ]
11
10
 
12
11
  operations = [
13
12
  migrations.AddField(
14
- model_name='layoutsettings',
15
- name='searchbox_input_class',
16
- field=models.CharField(blank=True, default='border-secondary mb-0', help_text='Classes applied to searchbox input', max_length=255, verbose_name='Searchbox input class'),
13
+ model_name="layoutsettings",
14
+ name="searchbox_input_class",
15
+ field=models.CharField(
16
+ blank=True,
17
+ default="border-secondary mb-0",
18
+ help_text="Classes applied to searchbox input",
19
+ max_length=255,
20
+ verbose_name="Searchbox input class",
21
+ ),
17
22
  ),
18
23
  migrations.AddField(
19
- model_name='layoutsettings',
20
- name='searchbutton_class',
21
- field=models.CharField(blank=True, default='btn btn-outline-secondary', help_text='Classes applied to search button. Add e.g. `fas fa-search` for icon.', max_length=255, verbose_name='Search button (with text) class'),
24
+ model_name="layoutsettings",
25
+ name="searchbutton_class",
26
+ field=models.CharField(
27
+ blank=True,
28
+ default="btn btn-outline-secondary",
29
+ help_text="Classes applied to search button. Add e.g. `fas fa-search` for icon.",
30
+ max_length=255,
31
+ verbose_name="Search button (with text) class",
32
+ ),
22
33
  ),
23
34
  migrations.AddField(
24
- model_name='layoutsettings',
25
- name='searchbutton_label',
26
- field=models.CharField(blank=True, default='Search', help_text='Leave empty when using icon-only button. Otherwise, add button label.', max_length=255, verbose_name='Search button label'),
35
+ model_name="layoutsettings",
36
+ name="searchbutton_label",
37
+ field=models.CharField(
38
+ blank=True,
39
+ default="Search",
40
+ help_text="Leave empty when using icon-only button. Otherwise, add button label.",
41
+ max_length=255,
42
+ verbose_name="Search button label",
43
+ ),
27
44
  ),
28
45
  ]
@@ -4,25 +4,32 @@ from django.db import migrations, models
4
4
 
5
5
 
6
6
  class Migration(migrations.Migration):
7
-
8
7
  dependencies = [
9
- ('cjkcms', '0019_layoutsettings_searchbox_input_class_and_more'),
8
+ ("cjkcms", "0019_layoutsettings_searchbox_input_class_and_more"),
10
9
  ]
11
10
 
12
11
  operations = [
13
12
  migrations.AddField(
14
- model_name='socialmediasettings',
15
- name='github',
16
- field=models.URLField(blank=True, help_text='Your GitHub page URL', verbose_name='GitHub'),
13
+ model_name="socialmediasettings",
14
+ name="github",
15
+ field=models.URLField(
16
+ blank=True, help_text="Your GitHub page URL", verbose_name="GitHub"
17
+ ),
17
18
  ),
18
19
  migrations.AddField(
19
- model_name='socialmediasettings',
20
- name='pinterset',
21
- field=models.URLField(blank=True, help_text='Your Pinterest page URL', verbose_name='Pinterest'),
20
+ model_name="socialmediasettings",
21
+ name="pinterset",
22
+ field=models.URLField(
23
+ blank=True,
24
+ help_text="Your Pinterest page URL",
25
+ verbose_name="Pinterest",
26
+ ),
22
27
  ),
23
28
  migrations.AddField(
24
- model_name='socialmediasettings',
25
- name='tiktok',
26
- field=models.URLField(blank=True, help_text='Your TikTok account URL', verbose_name='TikTok'),
29
+ model_name="socialmediasettings",
30
+ name="tiktok",
31
+ field=models.URLField(
32
+ blank=True, help_text="Your TikTok account URL", verbose_name="TikTok"
33
+ ),
27
34
  ),
28
35
  ]
@@ -4,44 +4,82 @@ from django.db import migrations, models
4
4
 
5
5
 
6
6
  class Migration(migrations.Migration):
7
-
8
7
  dependencies = [
9
- ('cjkcms', '0020_socialmediasettings_github_and_more'),
8
+ ("cjkcms", "0020_socialmediasettings_github_and_more"),
10
9
  ]
11
10
 
12
11
  operations = [
13
12
  migrations.RemoveField(
14
- model_name='layoutsettings',
15
- name='navbar_color_scheme',
13
+ model_name="layoutsettings",
14
+ name="navbar_color_scheme",
16
15
  ),
17
16
  migrations.AddField(
18
- model_name='layoutsettings',
19
- name='color_scheme',
20
- field=models.CharField(blank=True, choices=[], default='', help_text='Default light/dark/custom theme. (MD/Bootstrap only)', max_length=50, verbose_name='Color scheme'),
17
+ model_name="layoutsettings",
18
+ name="color_scheme",
19
+ field=models.CharField(
20
+ blank=True,
21
+ choices=[],
22
+ default="",
23
+ help_text="Default light/dark/custom theme. (MD/Bootstrap only)",
24
+ max_length=50,
25
+ verbose_name="Color scheme",
26
+ ),
21
27
  ),
22
28
  migrations.AddField(
23
- model_name='layoutsettings',
24
- name='light_dark_switch',
25
- field=models.BooleanField(default=False, help_text='Show switch to toggle light/dark theme (MD/Bootstrap only)', verbose_name='Light/Dark switch'),
29
+ model_name="layoutsettings",
30
+ name="light_dark_switch",
31
+ field=models.BooleanField(
32
+ default=False,
33
+ help_text="Show switch to toggle light/dark theme (MD/Bootstrap only)",
34
+ verbose_name="Light/Dark switch",
35
+ ),
26
36
  ),
27
37
  migrations.AlterField(
28
- model_name='layoutsettings',
29
- name='frontend_theme',
30
- field=models.CharField(blank=True, choices=[], default='', help_text='Change the source of your Bootstrap theme.', max_length=50, verbose_name='Theme variant'),
38
+ model_name="layoutsettings",
39
+ name="frontend_theme",
40
+ field=models.CharField(
41
+ blank=True,
42
+ choices=[],
43
+ default="",
44
+ help_text="Change the source of your Bootstrap theme.",
45
+ max_length=50,
46
+ verbose_name="Theme variant",
47
+ ),
31
48
  ),
32
49
  migrations.AlterField(
33
- model_name='layoutsettings',
34
- name='navbar_collapse_mode',
35
- field=models.CharField(blank=True, choices=[], default='', help_text='Control on what screen sizes to show and collapse the navbar menu links.', max_length=50, verbose_name='Collapse navbar menu'),
50
+ model_name="layoutsettings",
51
+ name="navbar_collapse_mode",
52
+ field=models.CharField(
53
+ blank=True,
54
+ choices=[],
55
+ default="",
56
+ help_text="Control on what screen sizes to show and collapse the navbar menu links.",
57
+ max_length=50,
58
+ verbose_name="Collapse navbar menu",
59
+ ),
36
60
  ),
37
61
  migrations.AlterField(
38
- model_name='layoutsettings',
39
- name='navbar_format',
40
- field=models.CharField(blank=True, choices=[], default='', max_length=50, verbose_name='Navbar format'),
62
+ model_name="layoutsettings",
63
+ name="navbar_format",
64
+ field=models.CharField(
65
+ blank=True,
66
+ choices=[],
67
+ default="",
68
+ max_length=50,
69
+ verbose_name="Navbar format",
70
+ ),
41
71
  ),
42
72
  migrations.AlterField(
43
- model_name='layoutsettings',
44
- name='navbar_langselector',
45
- field=models.CharField(blank=True, choices=[], default=None, help_text='Choose lang choice selector', max_length=255, null=True, verbose_name='Language selector'),
73
+ model_name="layoutsettings",
74
+ name="navbar_langselector",
75
+ field=models.CharField(
76
+ blank=True,
77
+ choices=[],
78
+ default=None,
79
+ help_text="Choose lang choice selector",
80
+ max_length=255,
81
+ null=True,
82
+ verbose_name="Language selector",
83
+ ),
46
84
  ),
47
85
  ]
cjkcms/settings.py CHANGED
@@ -370,6 +370,29 @@ class _DefaultSettings:
370
370
  ("hidden", "Hidden for all"),
371
371
  )
372
372
 
373
+ CJKCMS_HIGHLIGHT_COLORS = (
374
+ ("primary", "Dark Blue"),
375
+ ("secondary", "Gray"),
376
+ ("success", "Green"),
377
+ ("danger", "Red"),
378
+ ("warning", "Yellow"),
379
+ ("info", "Light Blue"),
380
+ ("light", "Light"),
381
+ ("dark", "Dark"),
382
+ )
383
+ CJKCMS_HIGHLIGHT_DEFAULT_COLOR = "none"
384
+
385
+ FONT_AWESOME_ICONS = (
386
+ ("fa-solid fa-circle-check", "Checkmark"),
387
+ ("fa-solid fa-scissors", "Scissors"),
388
+ ("fa-solid fa-pencil", "Pencil"),
389
+ ("fa-solid fa-question", "Question mark"),
390
+ ("fa-solid fa-globe", "Globe"),
391
+ ("fa-regular fa-folder", "Folder"),
392
+ ("fa-solid fa-triangle-exclamation", "Warning Triangle"),
393
+ )
394
+ FONT_AWESOME_ICONS_DEFAULT = "fa-solid fa-circle-check"
395
+
373
396
  BANNER = None
374
397
  BANNER_BACKGROUND = "#f00"
375
398
  BANNER_TEXT_COLOR = "#fff"
@@ -459,6 +482,9 @@ class _DefaultSettings:
459
482
  ("btn-outline-link", "Link Outline"),
460
483
  ]
461
484
 
485
+ CJKCMS_VERSION_MONITOR_TOKEN = "" # blank token = disabled version monitor api
486
+ CJKCMS_VERSION_MONITOR_ALLOWED_DOMAINS = [] # disallow from any domain by default
487
+
462
488
  def __getattribute__(self, attr: str):
463
489
  # First load from Django settings.
464
490
  # If it does not exist, load from _DefaultSettings.
@@ -0,0 +1,21 @@
1
+ {% load wagtailadmin_tags wagtailcore_tags wagtailimages_tags %}
2
+
3
+ <div class="card mb-3 {% if self.border_color %} border border-{{ self.border_color }}{% endif %} text-bg-{{ self.background_color }}
4
+ text-{{ self.text_color }}
5
+ {{self.settings.custom_css_class}}"
6
+ {% if self.settings.custom_id %}id="{{self.settings.custom_id}}"{% endif %}>
7
+ <div class="card-body">
8
+ <div class="d-flex justify-content-between p-md-1">
9
+ <div class="d-flex flex-row">
10
+ {% if self.icon %}
11
+ <div class="align-self-start">
12
+ <i class="{{self.icon}} fa-5x me-4"></i>
13
+ </div>
14
+ {% endif %}
15
+ <div>
16
+ {{ self.text }}
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </div>
cjkcms/urls.py CHANGED
@@ -1,6 +1,7 @@
1
1
  from django.urls import include, path
2
2
  from wagtail.contrib.sitemaps.views import sitemap
3
3
  from cjkcms import search_urls as cjkcms_search_urls
4
+ from .views import VersionView
4
5
 
5
6
  # from .settings import cms_settings
6
7
  from cjkcms.views import (
@@ -13,6 +14,8 @@ urlpatterns = [
13
14
  path("favicon.ico", favicon, name="cjkcms_favicon"),
14
15
  path("robots.txt", robots, name="cjkcms_robots"),
15
16
  path("sitemap.xml", sitemap, name="cjkcms_sitemap"),
17
+ # version reporting
18
+ path("api/versions/<str:token>/", VersionView.as_view(), name="get_versions"),
16
19
  # Search
17
20
  path("search/", include(cjkcms_search_urls)),
18
21
  ]
cjkcms/views.py CHANGED
@@ -13,6 +13,16 @@ from wagtail.models import Page, get_page_models
13
13
  # from coderedcms.importexport import convert_csv_to_json, import_pages, ImportPagesFromCSVFileForm
14
14
  from cjkcms.templatetags.cjkcms_tags import get_name_of_class
15
15
 
16
+ from rest_framework.views import APIView
17
+ from rest_framework.response import Response
18
+ from rest_framework import status
19
+ from django.conf import settings
20
+ from django.http import JsonResponse
21
+ import django
22
+ from wagtail import __version__ as wagtail_version
23
+ from cjkcms import __version__ as cjkcms_version
24
+ import sys
25
+
16
26
 
17
27
  def search(request):
18
28
  """
@@ -84,46 +94,29 @@ def robots(request):
84
94
  return render(request, "cjkcms/robots.txt", content_type="text/plain")
85
95
 
86
96
 
87
- # @login_required
88
- # def import_index(request):
89
- # """
90
- # Landing page to replace wagtailimportexport.
91
- # """
92
- # return render(request, 'wagtailimportexport/index.html')
93
-
94
-
95
- # @login_required
96
- # def import_pages_from_csv_file(request):
97
- # """
98
- # Overwrite of the `import_pages` view from wagtailimportexport. By default, the `import_pages`
99
- # view expects a json file to be uploaded. This view converts the uploaded csv into the json
100
- # format that the importer expects.
101
- # """
102
-
103
- # if request.method == 'POST':
104
- # form = ImportPagesFromCSVFileForm(request.POST, request.FILES)
105
- # if form.is_valid():
106
- # import_data = convert_csv_to_json(
107
- # form.cleaned_data['file'].read().decode('utf-8').splitlines(),
108
- # form.cleaned_data['page_type']
109
- # )
110
- # parent_page = form.cleaned_data['parent_page']
111
- # try:
112
- # page_count = import_pages(import_data, parent_page)
113
- # except LookupError as e:
114
- # messages.error(request, _(
115
- # "Import failed: %(reason)s") % {'reason': e}
116
- # )
117
- # else:
118
- # messages.success(request, ngettext(
119
- # "%(count)s page imported.",
120
- # "%(count)s pages imported.",
121
- # page_count) % {'count': page_count}
122
- # )
123
- # return redirect('wagtailadmin_explore', parent_page.pk)
124
- # else:
125
- # form = ImportPagesFromCSVFileForm()
126
-
127
- # return render(request, 'wagtailimportexport/import_from_csv.html', {
128
- # 'form': form,
129
- # })
97
+ class VersionView(APIView):
98
+ def get(self, request, token):
99
+ monitor_token = settings.CJKCMS_VERSION_MONITOR_TOKEN
100
+ allowed_domains = settings.CJKCMS_VERSION_MONITOR_ALLOWED_DOMAINS
101
+
102
+ host = request.META.get("HTTP_HOST")
103
+
104
+ token_ok = len(token) < 12 or token != monitor_token
105
+ domain_ok = allowed_domains = ["*"] or host in allowed_domains
106
+
107
+ # minimum required token length is 12 characters
108
+ # this also prevents sites from reporting when default
109
+ # empty token has not been replaced in local config with a proper one
110
+
111
+ if token_ok and domain_ok:
112
+ return JsonResponse(
113
+ {"error": "Forbidden."}, status=status.HTTP_403_FORBIDDEN
114
+ )
115
+
116
+ data = {
117
+ "python": sys.version,
118
+ "django": django.get_version(),
119
+ "wagtail": wagtail_version,
120
+ "cjkcms": cjkcms_version,
121
+ }
122
+ return Response(data)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wagtail-cjkcms
3
- Version: 24.6.1
3
+ Version: 24.6.3
4
4
  Summary: Wagtail Content Management System, installable as a Django app into any Wagtail 4.1.x/5.x/6.x site.
5
5
  Author-email: Grzegorz Krol <gk@cjk.pl>
6
6
  License: BSD-3-Clause
@@ -1,22 +1,22 @@
1
- cjkcms/__init__.py,sha256=MuxlQBUeoBNds-cWFXogy01HWkskla45zrYIXjwflUk,272
1
+ cjkcms/__init__.py,sha256=Vss7UXUjyVs7zSaR-sUKrh2hyzF0cKoZbqJWug9v7vc,272
2
2
  cjkcms/apps.py,sha256=VA5Z1YerImetvN8KsjPTMSn1fSo6O1JkBJdK5y5ubJY,173
3
3
  cjkcms/fields.py,sha256=dE0DuNIjX7jhA-5GjSmR2l66EDH2kq3vuxL9WyRALCY,3191
4
4
  cjkcms/forms.py,sha256=_uu_FR8odz40lD-Rmw0tlK7-xxxa8THHfV2-1ZJYsIM,361
5
5
  cjkcms/image_formats.py,sha256=d4zRshuybwxSRL8UpBH31dFBr32o4HNexa0ks5PX3TI,1833
6
6
  cjkcms/search_urls.py,sha256=92XkGTJRrQQyA061wWl1l5C0vq6INVJPXOrpcgp3aoU,125
7
- cjkcms/settings.py,sha256=Q1U0BybuoSfk2D7SxgcrUUDs7NTYbizgl3dSM_E71mA,19396
8
- cjkcms/urls.py,sha256=kVTUkVHXKx0W-Ns0hDQCZ_r75GsAA7pwyCvQ33x_5Hc,506
7
+ cjkcms/settings.py,sha256=2ZccptqyIk8nTkz23K7Fs9i1KFI2EOujxZA93xNSBSo,20324
8
+ cjkcms/urls.py,sha256=k5tEHWI4Umi2PWvGdNJ-FZ9OCy6AS3Y2S7k5jNOpgt0,644
9
9
  cjkcms/utils.py,sha256=u4pkPxAwqH3SgyIcmvk7I5L3w-eIcz0Rphmv0Y1DRpA,2006
10
- cjkcms/views.py,sha256=h5AdenY0DK0z2s0nRlR-X8Bdvv3mPr0N4xagbBHBfsk,4488
10
+ cjkcms/views.py,sha256=29kegEdmwfKUmz84Cr8VbvfAVAN3PH2UIWQhNb5QP4U,4105
11
11
  cjkcms/wagtail_hooks.py,sha256=utrTXxJzjumhbzHmB_p5xZsIOZHkDQUJKGQ5geKD-mY,6543
12
12
  cjkcms/widgets.py,sha256=2B92WkaktZC1ge4GrAMTB7VVYKnKR8qoZLAtWS2z_00,1745
13
13
  cjkcms/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  cjkcms/api/mailchimp.py,sha256=pufnnu8n-c6kkWNKy-EsRLW5LLBn8_TmYrnRSQCPFdY,2832
15
15
  cjkcms/bin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  cjkcms/bin/cjkcms.py,sha256=i11hhB11COQhTk05y7mkeIkUYcFjhI8-QxLkN3tCxgg,5763
17
- cjkcms/blocks/__init__.py,sha256=2HXyFkGExR6oeL-mzaCz81_fInfpvKn8t3k9-pvzwzQ,3402
17
+ cjkcms/blocks/__init__.py,sha256=cp7D9NSxF9HOEQN_h0GWMGFoZfhBYhDpCosZ7Gqi_mo,3459
18
18
  cjkcms/blocks/base_blocks.py,sha256=uKp6QO3iOPT4P0H0yOumvL7faPvLQK9Dj-D8iqlvqQ4,11616
19
- cjkcms/blocks/content_blocks.py,sha256=Pf5FGGnmqz09jc34kuTZNstUS2BiCA_pbGDRg28-s5E,8890
19
+ cjkcms/blocks/content_blocks.py,sha256=db_CNBqpKdAq1e9Y4AdpRm1077ANIWD8DzqG56_rSNs,10098
20
20
  cjkcms/blocks/html_blocks.py,sha256=rXdR1uxFYDYjOXpxndItxacWstiME8CdqZgB6d5qAYE,9543
21
21
  cjkcms/blocks/layout_blocks.py,sha256=n2oVyL-ZQQaEA00HU6YraR59YF065o-OK7WuAahGuiw,3406
22
22
  cjkcms/blocks/searchable_html_block.py,sha256=i1rWv4vwwvZ9fxkASwPKl87-TqVHkXOFyohH3ve7pYk,171
@@ -49,10 +49,10 @@ cjkcms/migrations/0014_navbar_alignment.py,sha256=arSBLVajQBkjLv7r8AbXnkL8ayxkmf
49
49
  cjkcms/migrations/0015_eventcalendar.py,sha256=WQFnU23gHcPMzcHOchNU4LFTPWrgZNyMj_Ma54BPUvs,1467
50
50
  cjkcms/migrations/0016_layoutsettings_breadcrumb_icon_and_more.py,sha256=PnQsKpWBXPJPj5FCNDTemvT1_yaXPy92FPTwm1FmckM,918
51
51
  cjkcms/migrations/0017_layoutsettings_default_seo_image.py,sha256=jwQ4oiiIU-p6p3vsLdTEJ0aat1jy81k6x2eAiqRTXEA,788
52
- cjkcms/migrations/0018_layoutsettings_search_format.py,sha256=S-RiDwsrAE6wn2hVOBb8MFUkQHMXr9LNTonYMVT2lY0,478
53
- cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py,sha256=8lMgcrgZJrlHjbj4NvlUNpXccKcEEpXINTcLuAjXJDE,1220
54
- cjkcms/migrations/0020_socialmediasettings_github_and_more.py,sha256=Zh7HPwStK54EIYta_MCUNU0wEYXVuAmFRr7OaglxgrQ,922
55
- cjkcms/migrations/0021_remove_layoutsettings_navbar_color_scheme_and_more.py,sha256=Z4h_PvDzJ5lobQ8Ama1YGWin_6yEjoLMWZMAtBOEGjU,2106
52
+ cjkcms/migrations/0018_layoutsettings_search_format.py,sha256=NURMUoMyg20hSM_IDc78EWIylimhq1yyeuA16Fq3CH4,572
53
+ cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py,sha256=SeA-oN5r9uePXOfPv57ETfGF_ZzNpv9vnkA_rmATXUY,1504
54
+ cjkcms/migrations/0020_socialmediasettings_github_and_more.py,sha256=flCSiw6wB32wsxSln2NA66zWkxrJLhNfL1O3UInH2to,1044
55
+ cjkcms/migrations/0021_remove_layoutsettings_navbar_color_scheme_and_more.py,sha256=lOOyu3QHjnjZY3HwXWCvUBxngm-t_sk4TvuxZ2Cq_j4,2723
56
56
  cjkcms/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  cjkcms/models/__init__.py,sha256=f99GmxfFxGtQl8JvZFz8rAtklCIesLoSccyhhi2xgPU,232
58
58
  cjkcms/models/admin_sidebar.py,sha256=R3gtDUfbtdVPLNb-__XZWYk9Ap5k9WkHc-u6XDhesdc,665
@@ -206,6 +206,7 @@ cjkcms/templates/cjkcms/blocks/h1_block.html,sha256=1THQrcNJFICX63kgfOmbFBlg3bnG
206
206
  cjkcms/templates/cjkcms/blocks/h2_block.html,sha256=F2pyouvyTmHIvxx63fsCHTsOfGZSjrkDDd48bX559kg,200
207
207
  cjkcms/templates/cjkcms/blocks/h3_block.html,sha256=9ywHXmVmKnSzyewDAN8_NN49YNNAH2TihGoBECT-IkA,200
208
208
  cjkcms/templates/cjkcms/blocks/hero_block.html,sha256=AvMdorfA_c5oHLQ6sEsfbZTUlUUC-LLi_QD4LX3VwgU,790
209
+ cjkcms/templates/cjkcms/blocks/highlight_block.html,sha256=QYR2HAW1hVx2rnIqGlDmq1gfo-s2xNLPy_1F0epc-ME,777
209
210
  cjkcms/templates/cjkcms/blocks/image_block.html,sha256=A_jRCQDL0GT3NQzxhaGGalnvdnnh3Ly3vSed4AAN7x4,275
210
211
  cjkcms/templates/cjkcms/blocks/image_gallery_block.html,sha256=gFAlNq07qY-6tzHi7gMPol6xBkx6mAvLXZcuNkb9q6w,1400
211
212
  cjkcms/templates/cjkcms/blocks/image_link_block.html,sha256=1SnNXhvgorW3oIPOWuLeU9gUp4nGS2vBuPZKf6eM9TI,627
@@ -326,9 +327,9 @@ cjkcms/tests/testapp/models.py,sha256=Rkn9KHrGbLzrKjP4y_gwtXma1_fJOZNU7ekb689fJE
326
327
  cjkcms/tests/testapp/migrations/0001_initial.py,sha256=hxr-r-42IQEGr_OsZkxXXCW7wbxAHuI_OLOkn-seJUU,4942
327
328
  cjkcms/tests/testapp/migrations/0002_create_homepage.py,sha256=EfsxHh1oyqwahW9RVpTvaRDx_CHtFSJQahKEr7XC5Gg,1999
328
329
  cjkcms/tests/testapp/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
- wagtail_cjkcms-24.6.1.dist-info/LICENSE,sha256=KHsCh1fKOZzvcKe1a9h3FlDjTjK_UurO3wHK55TnHHo,1538
330
- wagtail_cjkcms-24.6.1.dist-info/METADATA,sha256=dI7x7ONVJisWTj4-TdGh3pql34updiOFnG2edH3LPHY,3108
331
- wagtail_cjkcms-24.6.1.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
332
- wagtail_cjkcms-24.6.1.dist-info/entry_points.txt,sha256=FzoiFENdZ1uebNztyz6GlswkumQspd5VjWbR9MUIH_8,50
333
- wagtail_cjkcms-24.6.1.dist-info/top_level.txt,sha256=8wJGOGo1pG5nO5akfcMzA7i3ndj5868I8w35vTT0JJM,7
334
- wagtail_cjkcms-24.6.1.dist-info/RECORD,,
330
+ wagtail_cjkcms-24.6.3.dist-info/LICENSE,sha256=KHsCh1fKOZzvcKe1a9h3FlDjTjK_UurO3wHK55TnHHo,1538
331
+ wagtail_cjkcms-24.6.3.dist-info/METADATA,sha256=cKQq3CqbnFPfZVYQPIwoDZW8kZ7Dp-7q7k4c1iAQ528,3108
332
+ wagtail_cjkcms-24.6.3.dist-info/WHEEL,sha256=_4XEmVmaBFWtekSGrbfOGNjC2I5lUr0lZSRblBllIFA,109
333
+ wagtail_cjkcms-24.6.3.dist-info/entry_points.txt,sha256=FzoiFENdZ1uebNztyz6GlswkumQspd5VjWbR9MUIH_8,50
334
+ wagtail_cjkcms-24.6.3.dist-info/top_level.txt,sha256=8wJGOGo1pG5nO5akfcMzA7i3ndj5868I8w35vTT0JJM,7
335
+ wagtail_cjkcms-24.6.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any