wagtail-cjkcms 24.3.1__tar.gz → 25.1.6__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (401) hide show
  1. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/CHANGELOG.md +81 -0
  2. {wagtail-cjkcms-24.3.1/wagtail_cjkcms.egg-info → wagtail_cjkcms-25.1.6}/PKG-INFO +4 -4
  3. wagtail_cjkcms-25.1.6/cjkcms/.DS_Store +0 -0
  4. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/__init__.py +1 -1
  5. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/blocks/__init__.py +4 -0
  6. wagtail_cjkcms-25.1.6/cjkcms/blocks/content/countdown.py +116 -0
  7. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/blocks/content_blocks.py +46 -9
  8. wagtail_cjkcms-25.1.6/cjkcms/migrations/0018_layoutsettings_search_format.py +23 -0
  9. wagtail_cjkcms-25.1.6/cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py +45 -0
  10. wagtail_cjkcms-25.1.6/cjkcms/migrations/0020_socialmediasettings_github_and_more.py +35 -0
  11. wagtail_cjkcms-25.1.6/cjkcms/migrations/0021_remove_layoutsettings_navbar_color_scheme_and_more.py +85 -0
  12. wagtail_cjkcms-25.1.6/cjkcms/migrations/0022_cjkcmspage_breadcrumb_label_and_more.py +23 -0
  13. wagtail_cjkcms-25.1.6/cjkcms/migrations/0023_alter_navbar_language.py +18 -0
  14. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/models/page_models.py +33 -0
  15. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/models/snippet_models.py +22 -7
  16. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/models/wagtailsettings_models.py +40 -21
  17. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/settings.py +96 -64
  18. wagtail_cjkcms-25.1.6/cjkcms/static/.DS_Store +0 -0
  19. wagtail_cjkcms-25.1.6/cjkcms/static/cjkcms/css/cjkcms-custom-theme-disabled.css +73 -0
  20. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/css/cjkcms-front.css +41 -5
  21. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/js/cjkcms-front.js +2 -2
  22. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/.DS_Store +0 -0
  23. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/mdb/.DS_Store +0 -0
  24. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/mdb/css/.DS_Store +0 -0
  25. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/mdb/css/mdb.min.css +18 -0
  26. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/mdb/css/mdb.min.css.map +1 -0
  27. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/mdb/js/.DS_Store +0 -0
  28. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/mdb/js/mdb.umd.min.js +21 -0
  29. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/mdb/js/mdb.umd.min.js.map +1 -0
  30. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/simplycountdown/css/circle.css +73 -0
  31. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/simplycountdown/css/cyber.css +155 -0
  32. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/simplycountdown/css/dark.css +85 -0
  33. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/simplycountdown/css/light.css +85 -0
  34. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/simplycountdown/css/losange.css +83 -0
  35. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/simplycountdown/js/simplyCountdown.umd.js +2 -0
  36. wagtail_cjkcms-25.1.6/cjkcms/static/vendor/simplycountdown/js/simplyCountdown.umd.js.map +1 -0
  37. wagtail_cjkcms-25.1.6/cjkcms/templates/.DS_Store +0 -0
  38. wagtail_cjkcms-25.1.6/cjkcms/templates/404.html +86 -0
  39. wagtail_cjkcms-25.1.6/cjkcms/templates/cjkcms/.DS_Store +0 -0
  40. wagtail_cjkcms-25.1.6/cjkcms/templates/cjkcms/blocks/base_link_block.html +56 -0
  41. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/button_block.html +2 -2
  42. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_landing1.html +2 -2
  43. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_landing2.html +3 -3
  44. wagtail_cjkcms-25.1.6/cjkcms/templates/cjkcms/blocks/countdown.html +24 -0
  45. wagtail_cjkcms-25.1.6/cjkcms/templates/cjkcms/blocks/highlight_block.html +21 -0
  46. wagtail_cjkcms-25.1.6/cjkcms/templates/cjkcms/blocks/pricelistitem_block.html +20 -0
  47. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/base.html +3 -3
  48. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/page.mini.html +1 -1
  49. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/search.html +10 -1
  50. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/robots.txt +0 -4
  51. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/breadcrumbs.html +2 -2
  52. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/frontend_assets.html +8 -0
  53. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/navbar.html +12 -9
  54. wagtail_cjkcms-25.1.6/cjkcms/templates/cjkcms/snippets/navbar_search.html +18 -0
  55. wagtail_cjkcms-25.1.6/cjkcms/templates/cjkcms/snippets/navbar_search_modal.html +34 -0
  56. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templatetags/cjkcms_tags.py +80 -17
  57. wagtail_cjkcms-25.1.6/cjkcms/tests/test_countdown_block.py +100 -0
  58. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_search_blocks.py +10 -10
  59. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_templatetags.py +19 -1
  60. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_urls.py +8 -6
  61. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/urls.py +3 -0
  62. wagtail_cjkcms-25.1.6/cjkcms/views.py +131 -0
  63. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/wagtail_hooks.py +37 -5
  64. wagtail_cjkcms-25.1.6/docs/api_reference/api/version_monitor.md +38 -0
  65. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/index.md +5 -0
  66. wagtail_cjkcms-25.1.6/docs/manual/index.md +0 -0
  67. wagtail_cjkcms-25.1.6/requirements.txt +6 -0
  68. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/setup.cfg +2 -2
  69. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6/wagtail_cjkcms.egg-info}/PKG-INFO +4 -4
  70. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/wagtail_cjkcms.egg-info/SOURCES.txt +31 -2
  71. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/wagtail_cjkcms.egg-info/requires.txt +2 -2
  72. wagtail-cjkcms-24.3.1/cjkcms/migrations/0018_layoutsettings_search_format.py +0 -18
  73. wagtail-cjkcms-24.3.1/cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py +0 -28
  74. wagtail-cjkcms-24.3.1/cjkcms/migrations/0020_socialmediasettings_github_and_more.py +0 -28
  75. wagtail-cjkcms-24.3.1/cjkcms/models/admin_sidebar.py +0 -28
  76. wagtail-cjkcms-24.3.1/cjkcms/templates/404.html +0 -118
  77. wagtail-cjkcms-24.3.1/cjkcms/templates/cjkcms/blocks/base_link_block.html +0 -59
  78. wagtail-cjkcms-24.3.1/cjkcms/templates/cjkcms/blocks/pricelistitem_block.html +0 -16
  79. wagtail-cjkcms-24.3.1/cjkcms/templates/cjkcms/snippets/navbar_search.html +0 -47
  80. wagtail-cjkcms-24.3.1/cjkcms/views.py +0 -129
  81. wagtail-cjkcms-24.3.1/requirements.txt +0 -6
  82. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/LICENSE +0 -0
  83. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/MANIFEST.in +0 -0
  84. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/README.md +0 -0
  85. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/api/__init__.py +0 -0
  86. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/api/mailchimp.py +0 -0
  87. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/apps.py +0 -0
  88. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/bin/__init__.py +0 -0
  89. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/bin/cjkcms.py +0 -0
  90. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/blocks/base_blocks.py +0 -0
  91. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/blocks/content/__init__.py +0 -0
  92. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/blocks/content/events.py +0 -0
  93. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/blocks/html_blocks.py +0 -0
  94. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/blocks/layout_blocks.py +0 -0
  95. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/blocks/searchable_html_block.py +0 -0
  96. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/draftail/__init__.py +0 -0
  97. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/draftail/draftail_extensions.py +0 -0
  98. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/fields.py +0 -0
  99. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/finders/__init__.py +0 -0
  100. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/finders/oembed.py +0 -0
  101. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/forms.py +0 -0
  102. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/image_formats.py +0 -0
  103. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/management/commands/__init__.py +0 -0
  104. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/management/commands/clear-embeds.py +0 -0
  105. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/management/commands/import-csv.py +0 -0
  106. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/management/commands/init-collections.py +0 -0
  107. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/management/commands/init-navbar.py +0 -0
  108. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/management/commands/init-website.py +0 -0
  109. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0001_initial.py +0 -0
  110. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0002_alter_body_to_cjkcmsstreamfield.py +0 -0
  111. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0003_alter_footer_content_alter_navbar_menu_items.py +0 -0
  112. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0004_layoutsettings_articles_date_format_and_more.py +0 -0
  113. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0005_layoutsettings_custom_font_and_more.py +0 -0
  114. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0006_analyticssettings_consent_modal_layout_and_more.py +0 -0
  115. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0007_layoutsettings_bootstrap_icons.py +0 -0
  116. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0008_alter_layoutsettings_navbar_langselector.py +0 -0
  117. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0009_navbar_language.py +0 -0
  118. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0010_filmstrip_filmpanel.py +0 -0
  119. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0011_cjkcmspage_related_classifier_term_and_more.py +0 -0
  120. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0012_remove_analyticssettings_ga_tracking_id_and_more.py +0 -0
  121. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0013_socialmediasettings_location.py +0 -0
  122. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0014_navbar_alignment.py +0 -0
  123. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0015_eventcalendar.py +0 -0
  124. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0016_layoutsettings_breadcrumb_icon_and_more.py +0 -0
  125. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/0017_layoutsettings_default_seo_image.py +0 -0
  126. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/migrations/__init__.py +0 -0
  127. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/models/__init__.py +0 -0
  128. /wagtail-cjkcms-24.3.1/cjkcms/project_template/basic/home/__init__.py → /wagtail_cjkcms-25.1.6/cjkcms/models/admin_sidebar.py +0 -0
  129. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/models/cms_models.py +0 -0
  130. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/models/integration_models.py +0 -0
  131. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/.editorconfig +0 -0
  132. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/.gitattributes +0 -0
  133. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/.gitignore +0 -0
  134. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/README.md +0 -0
  135. {wagtail-cjkcms-24.3.1/cjkcms/project_template/basic/home/migrations → wagtail_cjkcms-25.1.6/cjkcms/project_template/basic/home}/__init__.py +0 -0
  136. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/home/blocks/__init__.py +0 -0
  137. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/home/blocks/blocks.py +0 -0
  138. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/home/migrations/0001_initial.py +0 -0
  139. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/home/migrations/0002_create_homepage.py +0 -0
  140. {wagtail-cjkcms-24.3.1/cjkcms/project_template/basic/project_name → wagtail_cjkcms-25.1.6/cjkcms/project_template/basic/home/migrations}/__init__.py +0 -0
  141. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/home/models/__init__.py +0 -0
  142. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/home/models/cms_models.py +0 -0
  143. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/home/templates/home/blocks/event_presentation.html +0 -0
  144. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/manage.py +0 -0
  145. {wagtail-cjkcms-24.3.1/cjkcms/project_template/basic/project_name/settings → wagtail_cjkcms-25.1.6/cjkcms/project_template/basic/project_name}/__init__.py +0 -0
  146. {wagtail-cjkcms-24.3.1/cjkcms/project_template/basic/search → wagtail_cjkcms-25.1.6/cjkcms/project_template/basic/project_name/settings}/__init__.py +0 -0
  147. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/project_name/settings/base.py +0 -0
  148. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/project_name/settings/dev.py +0 -0
  149. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/project_name/settings/local.py +0 -0
  150. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/project_name/settings/production.py +0 -0
  151. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/project_name/static/css/devsite.css +0 -0
  152. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/project_name/static/js/devsite.js +0 -0
  153. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/project_name/urls.py +0 -0
  154. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/project_name/wsgi.py +0 -0
  155. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/requirements.txt +0 -0
  156. {wagtail-cjkcms-24.3.1/cjkcms/project_template/webpack/home → wagtail_cjkcms-25.1.6/cjkcms/project_template/basic/search}/__init__.py +0 -0
  157. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/search/templates/search/search.html +0 -0
  158. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/basic/search/views.py +0 -0
  159. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/.babelrc +0 -0
  160. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/.browserslistrc +0 -0
  161. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/.editorconfig +0 -0
  162. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/.eslintrc +0 -0
  163. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/.gitattributes +0 -0
  164. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/.gitignore +0 -0
  165. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/.nvmrc +0 -0
  166. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/.stylelintrc.json +0 -0
  167. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/README.md +0 -0
  168. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/.gitignore +0 -0
  169. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/README.md +0 -0
  170. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/src/application/app.js +0 -0
  171. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/src/application/app2.js +0 -0
  172. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/src/components/sidebar.js +0 -0
  173. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/src/styles/index.scss +0 -0
  174. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/vendors/.gitkeep +0 -0
  175. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/vendors/images/.gitkeep +0 -0
  176. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/vendors/images/sample.jpg +0 -0
  177. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/vendors/images/webpack.png +0 -0
  178. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/webpack/webpack.common.js +0 -0
  179. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/webpack/webpack.config.dev.js +0 -0
  180. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/webpack/webpack.config.prod.js +0 -0
  181. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/frontend/webpack/webpack.config.watch.js +0 -0
  182. {wagtail-cjkcms-24.3.1/cjkcms/project_template/webpack/home/migrations → wagtail_cjkcms-25.1.6/cjkcms/project_template/webpack/home}/__init__.py +0 -0
  183. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/home/blocks/__init__.py +0 -0
  184. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/home/blocks/blocks.py +0 -0
  185. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/home/migrations/0001_initial.py +0 -0
  186. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/home/migrations/0002_create_homepage.py +0 -0
  187. {wagtail-cjkcms-24.3.1/cjkcms/project_template/webpack/project_name → wagtail_cjkcms-25.1.6/cjkcms/project_template/webpack/home/migrations}/__init__.py +0 -0
  188. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/home/models/__init__.py +0 -0
  189. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/home/models/cms_models.py +0 -0
  190. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/home/templates/home/blocks/event_presentation.html +0 -0
  191. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/manage.py +0 -0
  192. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/package.json +0 -0
  193. {wagtail-cjkcms-24.3.1/cjkcms/project_template/webpack/project_name/settings → wagtail_cjkcms-25.1.6/cjkcms/project_template/webpack/project_name}/__init__.py +0 -0
  194. {wagtail-cjkcms-24.3.1/cjkcms/project_template/webpack/search → wagtail_cjkcms-25.1.6/cjkcms/project_template/webpack/project_name/settings}/__init__.py +0 -0
  195. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/project_name/settings/base.py +0 -0
  196. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/project_name/settings/dev.py +0 -0
  197. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/project_name/settings/local.py +0 -0
  198. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/project_name/settings/production.py +0 -0
  199. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/project_name/static/css/devsite.css +0 -0
  200. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/project_name/static/js/devsite.js +0 -0
  201. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/project_name/urls.py +0 -0
  202. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/project_name/wsgi.py +0 -0
  203. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/requirements.txt +0 -0
  204. {wagtail-cjkcms-24.3.1/cjkcms/templatetags → wagtail_cjkcms-25.1.6/cjkcms/project_template/webpack/search}/__init__.py +0 -0
  205. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/search/templates/search/search.html +0 -0
  206. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/project_template/webpack/search/views.py +0 -0
  207. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/search_urls.py +0 -0
  208. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/bi/bootstrap-icons.css +0 -0
  209. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/bi/bootstrap-icons.json +0 -0
  210. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/bi/bootstrap-icons.scss +0 -0
  211. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/bi/fonts/bootstrap-icons.woff +0 -0
  212. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/bi/fonts/bootstrap-icons.woff2 +0 -0
  213. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/css/cjkcms-admin.css +0 -0
  214. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/css/cjkcms-editor.css +0 -0
  215. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/avatars/default.png +0 -0
  216. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/avatars/default.svg +0 -0
  217. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/icons/calendar-day.svg +0 -0
  218. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/icons/caret-right-fill.svg +0 -0
  219. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/icons/caret-right.svg +0 -0
  220. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/icons/chevron-right.svg +0 -0
  221. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/icons/quote.svg +0 -0
  222. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/icons/slash.svg +0 -0
  223. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/icons/world.svg +0 -0
  224. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/logos/cms-logo-long.svg +0 -0
  225. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/logos/cms-logo-square.svg +0 -0
  226. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/patterns/pattern1.jpg +0 -0
  227. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/patterns/pattern2.jpg +0 -0
  228. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/images/patterns/pattern3.jpg +0 -0
  229. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cjkcms/js/cjkcms-editor.js +0 -0
  230. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cookieconsent/cookieconsent.css +0 -0
  231. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/static/cookieconsent/cookieconsent.js +0 -0
  232. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/500.html +0 -0
  233. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/accordion_block.html +0 -0
  234. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/article_block_card.html +0 -0
  235. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/article_masonry_card.html +0 -0
  236. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/base_block.html +0 -0
  237. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_block.html +0 -0
  238. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_blurb.html +0 -0
  239. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_foot.html +0 -0
  240. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_head.html +0 -0
  241. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_head_foot.html +0 -0
  242. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_horizontal.html +0 -0
  243. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_horizontal2.html +0 -0
  244. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/card_img.html +0 -0
  245. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/cardgrid_columns.html +0 -0
  246. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/cardgrid_deck.html +0 -0
  247. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/cardgrid_group.html +0 -0
  248. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/cardgrid_zero.html +0 -0
  249. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/carousel_block.html +0 -0
  250. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/column_block.html +0 -0
  251. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/document_link_block.html +0 -0
  252. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/download_block.html +0 -0
  253. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/embed_video_block.html +0 -0
  254. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/event_calendar_block.html +0 -0
  255. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/external_link_block.html +0 -0
  256. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/film_strip_block.html +0 -0
  257. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/grid_block.html +0 -0
  258. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/h1_block.html +0 -0
  259. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/h2_block.html +0 -0
  260. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/h3_block.html +0 -0
  261. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/hero_block.html +0 -0
  262. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/image_block.html +0 -0
  263. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/image_gallery_block.html +0 -0
  264. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/image_link_block.html +0 -0
  265. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/modal_block.html +0 -0
  266. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/page_link_block.html +0 -0
  267. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagelist_article_card_columns.html +0 -0
  268. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagelist_article_card_deck.html +0 -0
  269. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagelist_article_card_group.html +0 -0
  270. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagelist_article_media.html +0 -0
  271. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagelist_block.html +0 -0
  272. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagelist_list_group.html +0 -0
  273. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagelist_toc_nextprev.html +0 -0
  274. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagepreview_block.html +0 -0
  275. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pagepreview_card.html +0 -0
  276. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/pricelist_block.html +0 -0
  277. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/public_event_block.html +0 -0
  278. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/quote_block.html +0 -0
  279. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/quote_block_leftbar.html +0 -0
  280. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/quote_block_start_end_quote.html +0 -0
  281. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/reusable_content_block.html +0 -0
  282. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/rich_text_block.html +0 -0
  283. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/blocks/table_block.html +0 -0
  284. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/cookieconsent/languages.html +0 -0
  285. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/formfields/date.html +0 -0
  286. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/formfields/datetime.html +0 -0
  287. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/formfields/mailchimp/_2vanilla_subscriber_integration_js.html +0 -0
  288. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/formfields/mailchimp/subscriber_integration_js.html +0 -0
  289. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/formfields/mailchimp/subscriber_integration_widget.html +0 -0
  290. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/formfields/time.html +0 -0
  291. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/align-center.svg +0 -0
  292. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/align-left.svg +0 -0
  293. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/align-right.svg +0 -0
  294. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/card-grid.svg +0 -0
  295. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/check-square-o.svg +0 -0
  296. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/columns.svg +0 -0
  297. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/desktop.svg +0 -0
  298. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/font-decrease.svg +0 -0
  299. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/font-increase.svg +0 -0
  300. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/font.svg +0 -0
  301. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/google.svg +0 -0
  302. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/hand-pointer-o.svg +0 -0
  303. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/hashtag.svg +0 -0
  304. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/header.svg +0 -0
  305. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/list-alt.svg +0 -0
  306. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/map.svg +0 -0
  307. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/newspaper-o.svg +0 -0
  308. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/puzzle-piece.svg +0 -0
  309. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/recycle.svg +0 -0
  310. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/stop.svg +0 -0
  311. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/th-large.svg +0 -0
  312. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/universal-access.svg +0 -0
  313. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/usd.svg +0 -0
  314. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/window-maximize.svg +0 -0
  315. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/icons/window-minimize.svg +0 -0
  316. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/includes/cjkcms_banner.html +0 -0
  317. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/includes/classifier_dropdowns.html +0 -0
  318. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/includes/classifier_nav.html +0 -0
  319. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/includes/form_honeypot.html +0 -0
  320. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/includes/pagination.html +0 -0
  321. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/includes/stream_forms/render_field.html +0 -0
  322. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/article_index_page.html +0 -0
  323. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/article_page.html +0 -0
  324. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/article_page.search.html +0 -0
  325. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/form_page_landing.html +0 -0
  326. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/home_page.html +0 -0
  327. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/search_result.html +0 -0
  328. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/web_page.html +0 -0
  329. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/pages/web_page_notitle.html +0 -0
  330. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/actionbar.html +0 -0
  331. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/bottom_corner_lang_selector.html +0 -0
  332. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/footer.html +0 -0
  333. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/frontend_scripts.html +0 -0
  334. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/navbar_lang_selector.html +0 -0
  335. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/social_media.html +0 -0
  336. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/social_media_icons.html +0 -0
  337. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/social_media_nav_block.html +0 -0
  338. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/tracking_g3.html +0 -0
  339. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/tracking_g4.html +0 -0
  340. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/tracking_matomo.html +0 -0
  341. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/snippets/tracking_matomo_noscript.html +0 -0
  342. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/cjkcms/widgets/checkbox_classifiers.html +0 -0
  343. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/wagtailadmin/block_forms/base_block_settings_struct.html +0 -0
  344. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/wagtailadmin/block_forms/struct.html +0 -0
  345. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/wagtailadmin/shared/cr_main_nav_2fix.html +0 -0
  346. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templates/wagtailadmin/tables/thumbnail_cell.html +0 -0
  347. {wagtail-cjkcms-24.3.1/cjkcms/tests → wagtail_cjkcms-25.1.6/cjkcms/templatetags}/__init__.py +0 -0
  348. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templatetags/auth_extras.py +0 -0
  349. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templatetags/friendly_loader.py +0 -0
  350. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templatetags/gravatar.py +0 -0
  351. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/templatetags/txtutils_tags.py +0 -0
  352. {wagtail-cjkcms-24.3.1/cjkcms/tests/testapp → wagtail_cjkcms-25.1.6/cjkcms/tests}/__init__.py +0 -0
  353. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/manage.py +0 -0
  354. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/media/images/test.original.png +0 -0
  355. /wagtail-cjkcms-24.3.1/cjkcms/tests/media/images/test_d8sVYy7.original.png → /wagtail_cjkcms-25.1.6/cjkcms/tests/media/images/test_O3GLriA.original.png +0 -0
  356. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/media/original_images/test.png +0 -0
  357. /wagtail-cjkcms-24.3.1/cjkcms/tests/media/original_images/test_d8sVYy7.png → /wagtail_cjkcms-25.1.6/cjkcms/tests/media/original_images/test_O3GLriA.png +0 -0
  358. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/settings.py +0 -0
  359. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_advsettings.py +0 -0
  360. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_articlepages.py +0 -0
  361. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_bin.py +0 -0
  362. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_draftail_extensions.py +0 -0
  363. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_finders_oembed.py +0 -0
  364. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_gravatar.py +0 -0
  365. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_settings.py +0 -0
  366. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/test_webpage.py +0 -0
  367. {wagtail-cjkcms-24.3.1/cjkcms/tests/testapp/migrations → wagtail_cjkcms-25.1.6/cjkcms/tests/testapp}/__init__.py +0 -0
  368. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/testapp/apps.py +0 -0
  369. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/testapp/migrations/0001_initial.py +0 -0
  370. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/testapp/migrations/0002_create_homepage.py +0 -0
  371. /wagtail-cjkcms-24.3.1/docs/faq/index.md → /wagtail_cjkcms-25.1.6/cjkcms/tests/testapp/migrations/__init__.py +0 -0
  372. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/testapp/models.py +0 -0
  373. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/tests/urls.py +0 -0
  374. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/utils.py +0 -0
  375. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/cjkcms/widgets.py +0 -0
  376. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/api_reference/api/mailchimp.md +0 -0
  377. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/api_reference/blocks/content_blocks.md +0 -0
  378. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/api_reference/blocks/html_blocks.md +0 -0
  379. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/api_reference/blocks/layout_blocks.md +0 -0
  380. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/api_reference/models/settings_models.md +0 -0
  381. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/api_reference/templatetags/cjkcms_tags.md +0 -0
  382. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/configuration/index.md +0 -0
  383. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/configuration/webpack.md +0 -0
  384. {wagtail-cjkcms-24.3.1/docs/manual → wagtail_cjkcms-25.1.6/docs/faq}/index.md +0 -0
  385. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/getting-started/01.quick-start.md +0 -0
  386. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/getting-started/02.folders-and-environment.md +0 -0
  387. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/getting-started/03.installation.md +0 -0
  388. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/getting-started/04.configuration.md +0 -0
  389. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/how-to/change-layout.md +0 -0
  390. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/how-to/oembed_finder.md +0 -0
  391. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/management_commands/clear-embeds.md +0 -0
  392. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/management_commands/index.md +0 -0
  393. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/management_commands/init-collections.md +0 -0
  394. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/requirements.txt +0 -0
  395. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/unit_testing.md +0 -0
  396. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/docs/why-another-cms.md +0 -0
  397. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/pyproject.toml +0 -0
  398. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/setup.py +0 -0
  399. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/wagtail_cjkcms.egg-info/dependency_links.txt +0 -0
  400. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/wagtail_cjkcms.egg-info/entry_points.txt +0 -0
  401. {wagtail-cjkcms-24.3.1 → wagtail_cjkcms-25.1.6}/wagtail_cjkcms.egg-info/top_level.txt +0 -0
@@ -14,6 +14,87 @@ migrated to this file.
14
14
  ### Fixed
15
15
  ### Removed
16
16
 
17
+ ## [25.1.3] - 2025-01-03
18
+ ### Fixed
19
+ - Fixed problems on some websites resulting from renaming navbar_search.html. Restored the previous template file name.
20
+
21
+ ## [25.1.1] - 2025-01-01
22
+ ### Fixed
23
+ - Fixed regression bug causing menu items to be hidden. This required me to fully remove
24
+ check for the deprecated menu items visibility options.
25
+
26
+ ## [24.12.4] - 2024-12-31
27
+ ### Removed
28
+ - Removed deprecated menu visibility management via visible_for field in NavBlocks
29
+ CMS blocks are JSON-based, and ignored in migrations, so If we removed the field in block defintion, this would not cause the data in database disappear. As a result we might have blocks in various websites which are strangely invisible to users, even if nothing is set in the visible block definition. So for safety, a new setting has been added: CJKCMS_NAVBAR_SHOW_VISIBLE_FOR = False. Switch it to True to restore visibility of that block component, if you have problems with any websites. For security, implementation of the visibility checks in templates (can_show_item value.visible_for ) was NOT removed from code.
30
+ - Corrected issue with fixed top navbars. Important - this changed some implementation details (e.g. css styling), so check your site if it uses fixed navbar
31
+
32
+ ## [24.12.2] - 2024-12-31
33
+ ### Added
34
+ - "countdown" content block using VincentLoy's library. See https://vincentloy.github.io/simplyCountdown.js/ for more info
35
+ - added themes and tests for the "countdown" block
36
+
37
+
38
+ ## [24.9.1] - 2024-09-02
39
+ ### Added
40
+ - Support for breadcrumbs per-page visibility
41
+ - breadcrumb_title page property for all CMS pages, choosing new "breadcrumb_label" field or page title if new field empty
42
+ - Added new templatetag with tests: first_not_empty which returns first not empty argument from the list, e.g. {% first_not_empty var1 var2 var3 %}
43
+
44
+ ## [24.8.1] - 2024-08-27
45
+ ### Fixed
46
+ - Update malformed robots.txt file
47
+
48
+ ## [24.6.4] - 2024-06-28
49
+ ### Changed
50
+ - Update mdb-ui-kit version to 7.3.2
51
+
52
+ ## [24.6.4] - 2024-06-26
53
+ ### Fixed
54
+ - Fixed responsiveness of the 404 template
55
+
56
+ ## [24.6.3] - 2024-06-25
57
+ ### Added
58
+ - HighlightBlock, allows an element to stand out with the ability to change the colour of the background, border, text from the basic bootstrap colour palette also allows an icon to be added
59
+
60
+ ## [24.6.2] - 2024-06-02
61
+ ### Added
62
+ - API endpoint to allow remote monitoring of software component versions. Disabled by default. See /docs/api/version_monitor.md for details
63
+
64
+ ## [24.6.1] - 2024-06-01
65
+ ### Changed
66
+ - MDBootstrap kit updated to 7.3.0
67
+ - Restored availability of MDBootstrap CDN ich choice of Bootstrap themes
68
+ - Updated dropdown init code in base_link_block to work with MDBootstrap 7.3.0+
69
+ ### Fixed
70
+ - Dark theme was incorrectly forced when MDB was in use; now respects the choice in backend->settings->layout
71
+
72
+ ## [24.5.1] - 2024-05-01
73
+ ### Added
74
+ - Support for custom bs/mdb variables: when layout->theme set to "custom", loads /static/cjkcms/css/cjkcms-custom-theme.css. Define this file in your project using e.g. template copied from /static/cjkcms/css/cjkcms-custom-theme-disabled.css and redefine any css vars
75
+ - Support for stretched-link in any Button Link, including in any card. To achieve a stretched link, add "stretched-link" to custom css classes in button's advanced settings. To achieve an invisible button link (e.g. image link), add "stretched-link zero-sized" to custom css of the button.
76
+
77
+
78
+ ## [24.3.3] - 2024-03-21
79
+ ### Added
80
+ - Correct processing of theme_css and theme_js for both full URLs (https:...) and local static paths (local/path/to.css)
81
+ - Support for client-side theme switching in both bootstrap and mdbootstrap
82
+ ### Fixed
83
+ - Problem with stretched-link not working in mdbootstrap when btn class used (required updating mdb-uikit to 7.x)
84
+ ### Changed
85
+ - MDB light and dark now packaged with the CMS, not loaded from CDN
86
+ - !!! Breaking change: navbar_color_scheme setting renamed to color_scheme and used as data-mdb/bs-theme setting for theme switching
87
+ - !!! Breaking configuration changes in Layout settings: navbar_collapse_mode, navbar_format, navbar_langselector and frontend_theme:
88
+ changed choices in the model from None to [], this may result in re-setting these settings in Backend->Settings->Layout to defaults.
89
+ Check each website after updating the CMS for layout of the HP, navbar collapse screen width, and theme layout.
90
+
91
+ ## [24.3.2] - 2024-03-20
92
+ ### Fixed
93
+ - Renamed "libs" to "cjkcms_libs" in frontend scripts, to avoid name clash with htmx
94
+ Note: turns out, this was a misdiagnosed issue, there was no clash. But, it is better to have a more specific variable name,
95
+ rather than a generic "libs", so we'll keep this change.
96
+
97
+
17
98
  ## [24.3.1] - 2024-03-11
18
99
  ### Added
19
100
  - Missing social media fields in settings/social-media, and icons, including new X to replace Twitter
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: wagtail-cjkcms
3
- Version: 24.3.1
3
+ Version: 25.1.6
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
@@ -32,8 +32,8 @@ License-File: LICENSE
32
32
  Requires-Dist: django-bootstrap5
33
33
  Requires-Dist: django>=4.2
34
34
  Requires-Dist: wagtail>=5.1
35
- Requires-Dist: wagtail-seo
36
- Requires-Dist: wagtail-cache
35
+ Requires-Dist: wagtail-seo>=2.5.0
36
+ Requires-Dist: wagtail-cache>=2.5.1
37
37
  Requires-Dist: cjkcms-color-panel
38
38
 
39
39
  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/wagtail-cjkcms)
Binary file
@@ -1,4 +1,4 @@
1
- VERSION = (24, 3, 1, "")
1
+ VERSION = (25, 1, 6, "")
2
2
 
3
3
  __version_info__ = VERSION
4
4
  __version__ = ".".join(map(str, VERSION[:3])) + (f"-{VERSION[3]}" if VERSION[3] else "")
@@ -31,8 +31,10 @@ 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
37
+ from .content.countdown import CountdownBlock
36
38
  from .layout_blocks import CardGridBlock, GridBlock, HeroBlock
37
39
  from cjkcms.settings import cms_settings
38
40
 
@@ -75,6 +77,8 @@ CONTENT_STREAMBLOCKS = HTML_STREAMBLOCKS + [
75
77
  ("pricelist", PriceListBlock()),
76
78
  ("reusable_content", ReusableContentBlock()),
77
79
  ("event_calendar", EventCalendarBlock()),
80
+ ("highlight", HighlightBlock()),
81
+ ("countdown", CountdownBlock()),
78
82
  ]
79
83
 
80
84
  NAVIGATION_STREAMBLOCKS = [
@@ -0,0 +1,116 @@
1
+ from cjkcms.blocks.base_blocks import BaseBlock
2
+ from wagtail import blocks
3
+ from django.utils.translation import gettext_lazy as _
4
+ from datetime import datetime, timedelta, timezone
5
+ import re
6
+
7
+
8
+ def convert_to_utc(naive_dt, utc_offset_str):
9
+ # Parse the UTC offset string (e.g., "UTC+05:30" or "UTC-02:00")
10
+ match = re.match(r"UTC([+-])(\d{2}):(\d{2})", utc_offset_str)
11
+ if not match:
12
+ raise ValueError("Invalid UTC offset format. Use 'UTC±HH:MM'.")
13
+
14
+ sign = match.group(1)
15
+ hours = int(match.group(2))
16
+ minutes = int(match.group(3))
17
+
18
+ # Calculate the total offset in minutes
19
+ total_offset = timedelta(hours=hours, minutes=minutes)
20
+ if sign == "-":
21
+ total_offset = -total_offset
22
+
23
+ # Create a timezone with the given offset
24
+ tz = timezone(total_offset)
25
+
26
+ # Attach the offset to the naive datetime, making it timezone-aware
27
+ aware_local_dt = naive_dt.replace(tzinfo=tz)
28
+
29
+ # Convert the timezone-aware datetime to UTC
30
+ utc_dt = aware_local_dt.astimezone(timezone.utc)
31
+
32
+ return utc_dt
33
+
34
+
35
+ class CountdownBlock(BaseBlock):
36
+ """
37
+ Display a countdown to a specific date
38
+ """
39
+
40
+ title = blocks.CharBlock(
41
+ required=False,
42
+ max_length=255,
43
+ label=_("Title"),
44
+ )
45
+
46
+ start_date = blocks.DateTimeBlock(
47
+ required=True,
48
+ label=_("Start date and time"),
49
+ help_text=_("Format: YYYY-MM-DD HH:MM"),
50
+ )
51
+
52
+ timezone = blocks.CharBlock(
53
+ required=True,
54
+ default="UTC",
55
+ max_length=255,
56
+ label=_("Timezone"),
57
+ help_text=_("Timezone relative to UTC, e.g. UTC+01:00"),
58
+ )
59
+
60
+ url = blocks.URLBlock(
61
+ max_length=255,
62
+ label=_("Link"),
63
+ required=False,
64
+ help_text=_("Optional link"),
65
+ )
66
+
67
+ # hide_after_end_date = blocks.BooleanBlock(
68
+ # required=False,
69
+ # default=False,
70
+ # label=_("Hide after end date"),
71
+ # help_text=_("Hide this after end date, or show zeros if false"),
72
+ # )
73
+
74
+ theme = blocks.ChoiceBlock(
75
+ choices=[
76
+ ("light", _("Light")),
77
+ ("dark", _("Dark")),
78
+ ("cyber", _("Cyberpunk")),
79
+ ("losange", _("Losange")),
80
+ ("circle", _("Circle")),
81
+ # ("flipbook", _("Flipbook")),
82
+ ],
83
+ default="light",
84
+ label=_("Theme"),
85
+ )
86
+
87
+ def get_context(self, value, parent_context=None):
88
+ context = super().get_context(value, parent_context=parent_context)
89
+ sd = value.get("start_date")
90
+
91
+ naive_datetime = datetime(
92
+ sd.year, sd.month, sd.day, sd.hour, sd.minute
93
+ ) # Naive datetime
94
+
95
+ tz = value.get("timezone")
96
+ if tz == "UTC" or tz == "":
97
+ tz = "UTC+00:00"
98
+
99
+ utc_offset_string = tz # String containing UTC offset
100
+ utc = convert_to_utc(naive_datetime, utc_offset_string)
101
+
102
+ # print(naive_datetime, utc, utc_offset_string)
103
+ context["year"] = utc.year
104
+ context["month"] = utc.month
105
+ context["day"] = utc.day
106
+ context["hour"] = utc.hour
107
+ context["minute"] = utc.minute
108
+ context["second"] = 0
109
+ return context
110
+
111
+ class Meta:
112
+ template = "cjkcms/blocks/countdown.html"
113
+ icon = "history"
114
+ label = "Countdown"
115
+ ordering = ["start_date"]
116
+ label_format = _("Countdown to {start_date}")
@@ -2,6 +2,7 @@
2
2
  Content blocks are for building complex, nested HTML structures that usually
3
3
  contain sub-blocks, and may require javascript to function properly.
4
4
  """
5
+
5
6
  from django.utils.translation import gettext_lazy as _
6
7
  from wagtail import blocks
7
8
  from wagtail.documents.blocks import DocumentChooserBlock
@@ -180,15 +181,6 @@ class NavBaseLinkBlock(BaseBlock):
180
181
  required=False,
181
182
  label=_("Image"),
182
183
  )
183
- visible_for = blocks.ChoiceBlock(
184
- choices=cms_settings.CJKCMS_AUTH_VISIBILITY_CHOICES,
185
- default=cms_settings.CJKCMS_AUTH_VISIBILITY_DEFAULT,
186
- required=False,
187
- label=_("Item visibility"),
188
- help_text=_(
189
- "DEPRECATED. Use the visibility options in the `Advanced Settings`. "
190
- ),
191
- )
192
184
 
193
185
 
194
186
  class NavExternalLinkBlock(NavBaseLinkBlock):
@@ -359,3 +351,48 @@ class ReusableContentBlock(BaseBlock):
359
351
  label = _("Reusable Content")
360
352
  template = "cjkcms/blocks/reusable_content_block.html"
361
353
  label_format = "{content} (Reusable Content)"
354
+
355
+
356
+ class HighlightBlock(BaseBlock):
357
+ """
358
+ Block that highlights a piece of text
359
+ """
360
+
361
+ text = blocks.RichTextBlock(
362
+ features=cms_settings.CJKCMS_RICHTEXT_FEATURES["default"],
363
+ label=_("Text"),
364
+ )
365
+
366
+ background_color = blocks.ChoiceBlock(
367
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
368
+ default=cms_settings.CJKCMS_HIGHLIGHT_DEFAULT_COLOR,
369
+ required=False,
370
+ label=_("Background Color"),
371
+ )
372
+
373
+ border_color = blocks.ChoiceBlock(
374
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
375
+ default=cms_settings.CJKCMS_HIGHLIGHT_DEFAULT_COLOR,
376
+ required=False,
377
+ label=_("Border Color"),
378
+ )
379
+
380
+ text_color = blocks.ChoiceBlock(
381
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
382
+ default="dark",
383
+ required=False,
384
+ label=_("Text Color"),
385
+ )
386
+
387
+ icon = blocks.ChoiceBlock(
388
+ choices=cms_settings.FONT_AWESOME_ICONS,
389
+ default=cms_settings.FONT_AWESOME_ICONS_DEFAULT,
390
+ required=False,
391
+ label=_("Icon"),
392
+ )
393
+
394
+ class Meta:
395
+ icon = "thumbtack"
396
+ label = _("Highlight")
397
+ label_format = _("Highlight")
398
+ template = "cjkcms/blocks/highlight_block.html"
@@ -0,0 +1,23 @@
1
+ # Generated by Django 5.0.2 on 2024-02-18 13:58
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ ("cjkcms", "0017_layoutsettings_default_seo_image"),
9
+ ]
10
+
11
+ operations = [
12
+ migrations.AddField(
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
+ ),
22
+ ),
23
+ ]
@@ -0,0 +1,45 @@
1
+ # Generated by Django 5.0.2 on 2024-02-18 22:01
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ ("cjkcms", "0018_layoutsettings_search_format"),
9
+ ]
10
+
11
+ operations = [
12
+ migrations.AddField(
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
+ ),
22
+ ),
23
+ migrations.AddField(
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
+ ),
33
+ ),
34
+ migrations.AddField(
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
+ ),
44
+ ),
45
+ ]
@@ -0,0 +1,35 @@
1
+ # Generated by Django 5.0.2 on 2024-03-11 19:20
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ ("cjkcms", "0019_layoutsettings_searchbox_input_class_and_more"),
9
+ ]
10
+
11
+ operations = [
12
+ migrations.AddField(
13
+ model_name="socialmediasettings",
14
+ name="github",
15
+ field=models.URLField(
16
+ blank=True, help_text="Your GitHub page URL", verbose_name="GitHub"
17
+ ),
18
+ ),
19
+ migrations.AddField(
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
+ ),
27
+ ),
28
+ migrations.AddField(
29
+ model_name="socialmediasettings",
30
+ name="tiktok",
31
+ field=models.URLField(
32
+ blank=True, help_text="Your TikTok account URL", verbose_name="TikTok"
33
+ ),
34
+ ),
35
+ ]
@@ -0,0 +1,85 @@
1
+ # Generated by Django 5.0.2 on 2024-03-21 15:11
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ ("cjkcms", "0020_socialmediasettings_github_and_more"),
9
+ ]
10
+
11
+ operations = [
12
+ migrations.RemoveField(
13
+ model_name="layoutsettings",
14
+ name="navbar_color_scheme",
15
+ ),
16
+ migrations.AddField(
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
+ ),
27
+ ),
28
+ migrations.AddField(
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
+ ),
36
+ ),
37
+ migrations.AlterField(
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
+ ),
48
+ ),
49
+ migrations.AlterField(
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
+ ),
60
+ ),
61
+ migrations.AlterField(
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
+ ),
71
+ ),
72
+ migrations.AlterField(
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
+ ),
84
+ ),
85
+ ]
@@ -0,0 +1,23 @@
1
+ # Generated by Django 5.0.6 on 2024-09-02 12:44
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('cjkcms', '0021_remove_layoutsettings_navbar_color_scheme_and_more'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AddField(
14
+ model_name='cjkcmspage',
15
+ name='breadcrumb_label',
16
+ field=models.CharField(blank=True, help_text='If empty, page title will be used.', max_length=128, verbose_name='Breadcrumb label'),
17
+ ),
18
+ migrations.AddField(
19
+ model_name='cjkcmspage',
20
+ name='breadcrumbs_visible',
21
+ field=models.BooleanField(default=True, help_text='Show breadcrumbs in this page header. For global change, see Settings->Layout', verbose_name='Breadcrumbs'),
22
+ ),
23
+ ]
@@ -0,0 +1,18 @@
1
+ # Generated by Django 5.1.4 on 2024-12-31 20:17
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('cjkcms', '0022_cjkcmspage_breadcrumb_label_and_more'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AlterField(
14
+ model_name='navbar',
15
+ name='language',
16
+ field=models.CharField(blank=True, choices=[], default='_all_', help_text='Select a language to limit display to specific locale.', max_length=10, verbose_name='Show in language'),
17
+ ),
18
+ ]
@@ -208,6 +208,25 @@ class CjkcmsPage(WagtailCacheMixin, SeoMixin, Page, metaclass=CjkcmsPageMeta):
208
208
  blank=True, max_length=255, choices=None, verbose_name=_("Template") # type: ignore # noqa: E501
209
209
  )
210
210
 
211
+ ###############
212
+ # Breadcrumbs fields (on layout tab)
213
+ ###############
214
+
215
+ breadcrumbs_visible = models.BooleanField(
216
+ default=True,
217
+ verbose_name=_("Breadcrumbs"),
218
+ help_text=_(
219
+ "Show breadcrumbs in this page header. For global change, see Settings->Layout"
220
+ ),
221
+ )
222
+
223
+ breadcrumb_label = models.CharField(
224
+ blank=True,
225
+ max_length=128,
226
+ verbose_name=_("Breadcrumb label"),
227
+ help_text=_("If empty, page title will be used."),
228
+ )
229
+
211
230
  ###############
212
231
  # SEO overrides
213
232
  ###############
@@ -269,6 +288,13 @@ class CjkcmsPage(WagtailCacheMixin, SeoMixin, Page, metaclass=CjkcmsPageMeta):
269
288
 
270
289
  layout_panels = [
271
290
  MultiFieldPanel([FieldPanel("custom_template")], heading=_("Visual Design")),
291
+ MultiFieldPanel(
292
+ [
293
+ FieldPanel("breadcrumbs_visible"),
294
+ FieldPanel("breadcrumb_label"),
295
+ ],
296
+ heading=_("Breadcrumbs settings"),
297
+ ),
272
298
  MultiFieldPanel(
273
299
  [
274
300
  FieldPanel("index_show_subpages"),
@@ -347,6 +373,13 @@ class CjkcmsPage(WagtailCacheMixin, SeoMixin, Page, metaclass=CjkcmsPageMeta):
347
373
  edit_handler = TabbedInterface(panels)
348
374
  return edit_handler.bind_to_model(cls)
349
375
 
376
+ @property
377
+ def breadcrumb_title(self) -> str:
378
+ """
379
+ Gets breadcrumb title, or page title if not set.
380
+ """
381
+ return self.breadcrumb_label or self.title # type: ignore
382
+
350
383
  @property
351
384
  def default_seo_image(self) -> "Optional[AbstractImage]":
352
385
  """
@@ -25,6 +25,7 @@ from django.conf import settings
25
25
  from cjkcms.fields import CjkcmsStreamField
26
26
  from wagtail_color_panel.fields import ColorField
27
27
  from wagtail_color_panel.edit_handlers import NativeColorPanel
28
+ from django.forms import ModelForm
28
29
 
29
30
 
30
31
  @register_snippet
@@ -342,7 +343,7 @@ class Navbar(models.Model):
342
343
  language = models.CharField(
343
344
  blank=True,
344
345
  max_length=10,
345
- choices=[("_all_", _("All languages"))],
346
+ choices=[],
346
347
  default="_all_",
347
348
  verbose_name=_("Show in language"),
348
349
  help_text=_("Select a language to limit display to specific locale."),
@@ -371,24 +372,38 @@ class Navbar(models.Model):
371
372
  def __str__(self):
372
373
  return self.name
373
374
 
375
+ @staticmethod
376
+ def get_available_langs():
377
+ available_langs = [("_all_", _("All languages"))]
378
+ if hasattr(settings, "WAGTAIL_CONTENT_LANGUAGES"):
379
+ available_langs += settings.WAGTAIL_CONTENT_LANGUAGES
380
+ return available_langs
381
+
374
382
  def __init__(self, *args, **kwargs):
375
383
  """
376
384
  Inject custom choices and defaults into the form fields
377
385
  to enable customization of settings without causing migration issues.
378
386
  """
379
387
  super().__init__(*args, **kwargs)
380
- # Set choices dynamically.
381
-
382
- available_langs = [("_all_", _("All languages"))]
383
- if hasattr(settings, "WAGTAIL_CONTENT_LANGUAGES"):
384
- available_langs += settings.WAGTAIL_CONTENT_LANGUAGES
385
388
 
386
- self._meta.get_field("language").choices = available_langs # type: ignore
389
+ self._meta.get_field("language").choices = Navbar.get_available_langs() # type: ignore
387
390
  # Set default dynamically.
388
391
  if not self.id: # type: ignore
389
392
  self.language = "_all_"
390
393
 
391
394
 
395
+ class NavbarForm(ModelForm):
396
+ class Meta:
397
+ model = Navbar
398
+ fields = "__all__"
399
+
400
+ def __init__(self, *args, **kwargs):
401
+ super().__init__(*args, **kwargs)
402
+
403
+ # Set the dynamic choices
404
+ self.fields["language"].choices = Navbar.get_available_langs()
405
+
406
+
392
407
  @register_snippet
393
408
  class Footer(models.Model):
394
409
  """