wagtail-cjkcms 25.1.9__tar.gz → 25.2.1__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {wagtail_cjkcms-25.1.9/wagtail_cjkcms.egg-info → wagtail_cjkcms-25.2.1}/PKG-INFO +1 -1
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/__init__.py +1 -1
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/html_blocks.py +1 -0
- wagtail_cjkcms-25.2.1/cjkcms/migrations/0022_cjkcmspage_breadcrumb_label_and_more.py +32 -0
- wagtail_cjkcms-25.2.1/cjkcms/migrations/0023_alter_navbar_language.py +25 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/models/cms_models.py +3 -1
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/models/integration_models.py +16 -18
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/models/page_models.py +5 -0
- wagtail_cjkcms-25.2.1/cjkcms/project_template/basic/home/blocks/__init__.py +12 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/home/blocks/blocks.py +2 -2
- {wagtail_cjkcms-25.1.9/cjkcms/project_template/webpack → wagtail_cjkcms-25.2.1/cjkcms/project_template/basic}/home/models/cms_models.py +1 -0
- wagtail_cjkcms-25.2.1/cjkcms/project_template/webpack/home/blocks/__init__.py +12 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/home/blocks/blocks.py +2 -2
- {wagtail_cjkcms-25.1.9/cjkcms/project_template/basic → wagtail_cjkcms-25.2.1/cjkcms/project_template/webpack}/home/models/cms_models.py +1 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/search.html +14 -7
- wagtail_cjkcms-25.2.1/cjkcms/templates/cjkcms/snippets/frontend_scripts.html +13 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templatetags/friendly_loader.py +1 -0
- wagtail_cjkcms-25.2.1/cjkcms/tests/media/images/test_e3WjdNA.original.png +0 -0
- wagtail_cjkcms-25.2.1/cjkcms/tests/media/images/test_qOYmckb.original.png +0 -0
- wagtail_cjkcms-25.2.1/cjkcms/tests/media/original_images/test_e3WjdNA.png +0 -0
- wagtail_cjkcms-25.2.1/cjkcms/tests/media/original_images/test_qOYmckb.png +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/settings.py +1 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_search_blocks.py +36 -10
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/testapp/models.py +3 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/views.py +58 -15
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/wagtail_hooks.py +0 -16
- wagtail_cjkcms-25.2.1/docs/how-to/add_blocks_from_other_apps.md +68 -0
- wagtail_cjkcms-25.2.1/docs/how-to/wizard.md +17 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1/wagtail_cjkcms.egg-info}/PKG-INFO +1 -1
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/wagtail_cjkcms.egg-info/SOURCES.txt +16 -10
- wagtail_cjkcms-25.1.9/cjkcms/migrations/0022_cjkcmspage_breadcrumb_label_and_more.py +0 -23
- wagtail_cjkcms-25.1.9/cjkcms/migrations/0023_alter_navbar_language.py +0 -18
- wagtail_cjkcms-25.1.9/cjkcms/project_template/basic/home/blocks/__init__.py +0 -2
- wagtail_cjkcms-25.1.9/cjkcms/project_template/webpack/home/blocks/__init__.py +0 -2
- wagtail_cjkcms-25.1.9/cjkcms/templates/cjkcms/snippets/frontend_scripts.html +0 -15
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/CHANGELOG.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/LICENSE +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/MANIFEST.in +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/README.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/api/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/api/mailchimp.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/apps.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/bin/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/bin/cjkcms.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/base_blocks.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/content/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/content/countdown.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/content/events.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/content_blocks.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/layout_blocks.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/blocks/searchable_html_block.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/draftail/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/draftail/draftail_extensions.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/fields.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/finders/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/finders/oembed.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/forms.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/image_formats.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/management/commands/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/management/commands/clear-embeds.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/management/commands/import-csv.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/management/commands/init-collections.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/management/commands/init-navbar.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/management/commands/init-website.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0001_initial.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0002_alter_body_to_cjkcmsstreamfield.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0003_alter_footer_content_alter_navbar_menu_items.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0004_layoutsettings_articles_date_format_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0005_layoutsettings_custom_font_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0006_analyticssettings_consent_modal_layout_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0007_layoutsettings_bootstrap_icons.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0008_alter_layoutsettings_navbar_langselector.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0009_navbar_language.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0010_filmstrip_filmpanel.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0011_cjkcmspage_related_classifier_term_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0012_remove_analyticssettings_ga_tracking_id_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0013_socialmediasettings_location.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0014_navbar_alignment.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0015_eventcalendar.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0016_layoutsettings_breadcrumb_icon_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0017_layoutsettings_default_seo_image.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0018_layoutsettings_search_format.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0020_socialmediasettings_github_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/0021_remove_layoutsettings_navbar_color_scheme_and_more.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/migrations/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/models/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/models/admin_sidebar.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/models/snippet_models.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/models/wagtailsettings_models.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/.editorconfig +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/.gitattributes +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/.gitignore +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/README.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/home/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/home/migrations/0001_initial.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/home/migrations/0002_create_homepage.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/home/migrations/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/home/models/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/home/templates/home/blocks/event_presentation.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/manage.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/settings/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/settings/base.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/settings/dev.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/settings/local.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/settings/production.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/static/css/devsite.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/static/js/devsite.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/urls.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/project_name/wsgi.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/requirements.txt +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/search/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/search/templates/search/search.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/search/views.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/.babelrc +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/.browserslistrc +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/.editorconfig +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/.eslintrc +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/.gitattributes +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/.gitignore +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/.nvmrc +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/.stylelintrc.json +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/README.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/.gitignore +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/README.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/src/application/app.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/src/application/app2.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/src/components/sidebar.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/src/styles/index.scss +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/vendors/.gitkeep +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/vendors/images/.gitkeep +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/vendors/images/sample.jpg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/vendors/images/webpack.png +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/webpack/webpack.common.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/webpack/webpack.config.dev.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/webpack/webpack.config.prod.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/frontend/webpack/webpack.config.watch.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/home/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/home/migrations/0001_initial.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/home/migrations/0002_create_homepage.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/home/migrations/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/home/models/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/home/templates/home/blocks/event_presentation.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/manage.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/package.json +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/settings/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/settings/base.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/settings/dev.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/settings/local.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/settings/production.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/static/css/devsite.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/static/js/devsite.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/urls.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/project_name/wsgi.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/requirements.txt +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/search/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/search/templates/search/search.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/webpack/search/views.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/search_urls.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/settings.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/bi/bootstrap-icons.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/bi/bootstrap-icons.json +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/bi/bootstrap-icons.scss +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/bi/fonts/bootstrap-icons.woff +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/bi/fonts/bootstrap-icons.woff2 +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/css/cjkcms-admin.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/css/cjkcms-custom-theme-disabled.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/css/cjkcms-editor.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/css/cjkcms-front.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/avatars/default.png +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/avatars/default.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/icons/calendar-day.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/icons/caret-right-fill.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/icons/caret-right.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/icons/chevron-right.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/icons/quote.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/icons/slash.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/icons/world.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/logos/cms-logo-long.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/logos/cms-logo-square.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/patterns/pattern1.jpg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/patterns/pattern2.jpg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/images/patterns/pattern3.jpg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/js/cjkcms-editor.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cjkcms/js/cjkcms-front.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cookieconsent/cookieconsent.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/cookieconsent/cookieconsent.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/mdb/css/mdb.min.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/mdb/css/mdb.min.css.map +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/mdb/js/mdb.umd.min.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/mdb/js/mdb.umd.min.js.map +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/simplycountdown/css/circle.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/simplycountdown/css/cyber.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/simplycountdown/css/dark.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/simplycountdown/css/light.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/simplycountdown/css/losange.css +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/simplycountdown/js/simplyCountdown.umd.js +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/static/vendor/simplycountdown/js/simplyCountdown.umd.js.map +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/404.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/500.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/accordion_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/article_block_card.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/article_masonry_card.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/base_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/base_link_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/button_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_blurb.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_foot.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_head.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_head_foot.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_horizontal.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_horizontal2.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_img.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_landing1.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/card_landing2.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/cardgrid_columns.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/cardgrid_deck.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/cardgrid_group.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/cardgrid_zero.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/carousel_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/column_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/countdown.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/document_link_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/download_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/embed_video_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/event_calendar_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/external_link_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/film_strip_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/grid_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/h1_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/h2_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/h3_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/hero_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/highlight_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/image_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/image_gallery_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/image_link_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/modal_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/page_link_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagelist_article_card_columns.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagelist_article_card_deck.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagelist_article_card_group.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagelist_article_media.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagelist_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagelist_list_group.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagelist_toc_nextprev.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagepreview_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pagepreview_card.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pricelist_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/pricelistitem_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/public_event_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/quote_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/quote_block_leftbar.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/quote_block_start_end_quote.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/reusable_content_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/rich_text_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/blocks/table_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/cookieconsent/languages.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/formfields/date.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/formfields/datetime.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/formfields/mailchimp/_2vanilla_subscriber_integration_js.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/formfields/mailchimp/subscriber_integration_js.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/formfields/mailchimp/subscriber_integration_widget.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/formfields/time.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/align-center.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/align-left.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/align-right.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/card-grid.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/check-square-o.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/columns.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/desktop.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/font-decrease.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/font-increase.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/font.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/google.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/hand-pointer-o.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/hashtag.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/header.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/list-alt.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/map.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/newspaper-o.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/puzzle-piece.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/recycle.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/stop.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/th-large.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/universal-access.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/usd.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/window-maximize.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/icons/window-minimize.svg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/includes/cjkcms_banner.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/includes/classifier_dropdowns.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/includes/classifier_nav.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/includes/form_honeypot.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/includes/pagination.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/includes/stream_forms/render_field.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/article_index_page.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/article_page.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/article_page.search.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/base.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/form_page_landing.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/home_page.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/page.mini.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/search_result.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/web_page.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/pages/web_page_notitle.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/robots.txt +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/actionbar.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/bottom_corner_lang_selector.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/breadcrumbs.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/footer.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/frontend_assets.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/navbar.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/navbar_lang_selector.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/navbar_search.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/navbar_search_modal.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/social_media.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/social_media_icons.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/social_media_nav_block.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/tracking_g3.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/tracking_g4.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/tracking_matomo.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/snippets/tracking_matomo_noscript.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/cjkcms/widgets/checkbox_classifiers.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/wagtailadmin/block_forms/base_block_settings_struct.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/wagtailadmin/block_forms/struct.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/wagtailadmin/shared/cr_main_nav_2fix.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templates/wagtailadmin/tables/thumbnail_cell.html +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templatetags/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templatetags/auth_extras.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templatetags/cjkcms_tags.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templatetags/gravatar.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/templatetags/txtutils_tags.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/manage.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/media/images/test.original.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/images/test_6zOjMLi.original.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/images/test_IocDjKv.original.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/images/test_DqyysqG.original.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/images/test_LH2dPwn.original.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/images/test_XhwqhpE.original.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/images/test_O3GLriA.original.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/images/test_erEkAMT.original.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/images/test_WUJDfCh.original.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/images/test_q64YMWd.original.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/images/test_ZfGlHpM.original.png +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/media/original_images/test.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/original_images/test_6zOjMLi.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/original_images/test_IocDjKv.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/original_images/test_DqyysqG.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/original_images/test_LH2dPwn.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/original_images/test_XhwqhpE.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/original_images/test_O3GLriA.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/original_images/test_erEkAMT.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/original_images/test_WUJDfCh.png +0 -0
- /wagtail_cjkcms-25.1.9/cjkcms/tests/media/original_images/test_q64YMWd.png → /wagtail_cjkcms-25.2.1/cjkcms/tests/media/original_images/test_ZfGlHpM.png +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_advsettings.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_articlepages.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_bin.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_countdown_block.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_draftail_extensions.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_finders_oembed.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_gravatar.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_settings.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_templatetags.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_urls.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/test_webpage.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/testapp/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/testapp/apps.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/testapp/migrations/0001_initial.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/testapp/migrations/0002_create_homepage.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/testapp/migrations/__init__.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/tests/urls.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/urls.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/utils.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/widgets.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/api_reference/api/mailchimp.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/api_reference/api/version_monitor.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/api_reference/blocks/content_blocks.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/api_reference/blocks/html_blocks.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/api_reference/blocks/layout_blocks.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/api_reference/models/settings_models.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/api_reference/templatetags/cjkcms_tags.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/configuration/index.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/configuration/webpack.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/faq/index.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/getting-started/01.quick-start.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/getting-started/02.folders-and-environment.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/getting-started/03.installation.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/getting-started/04.configuration.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/how-to/change-layout.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/how-to/oembed_finder.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/index.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/management_commands/clear-embeds.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/management_commands/index.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/management_commands/init-collections.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/manual/index.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/requirements.txt +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/unit_testing.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/docs/why-another-cms.md +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/pyproject.toml +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/requirements.txt +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/setup.cfg +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/setup.py +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/wagtail_cjkcms.egg-info/dependency_links.txt +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/wagtail_cjkcms.egg-info/entry_points.txt +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/wagtail_cjkcms.egg-info/requires.txt +0 -0
- {wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/wagtail_cjkcms.egg-info/top_level.txt +0 -0
@@ -0,0 +1,32 @@
|
|
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(
|
17
|
+
blank=True,
|
18
|
+
help_text="If empty, page title will be used.",
|
19
|
+
max_length=128,
|
20
|
+
verbose_name="Breadcrumb label",
|
21
|
+
),
|
22
|
+
),
|
23
|
+
migrations.AddField(
|
24
|
+
model_name="cjkcmspage",
|
25
|
+
name="breadcrumbs_visible",
|
26
|
+
field=models.BooleanField(
|
27
|
+
default=True,
|
28
|
+
help_text="Show breadcrumbs in this page header. For global change, see Settings->Layout",
|
29
|
+
verbose_name="Breadcrumbs",
|
30
|
+
),
|
31
|
+
),
|
32
|
+
]
|
@@ -0,0 +1,25 @@
|
|
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(
|
17
|
+
blank=True,
|
18
|
+
choices=[],
|
19
|
+
default="_all_",
|
20
|
+
help_text="Select a language to limit display to specific locale.",
|
21
|
+
max_length=10,
|
22
|
+
verbose_name="Show in language",
|
23
|
+
),
|
24
|
+
),
|
25
|
+
]
|
@@ -4,6 +4,7 @@ without having to create a new page types.
|
|
4
4
|
Feel free to replace this file with your own configuration,
|
5
5
|
in your Wagtail project. Copy+paste and modify as needed.
|
6
6
|
"""
|
7
|
+
|
7
8
|
from django.utils.translation import gettext_lazy as _
|
8
9
|
from . import (
|
9
10
|
CjkcmsArticlePage,
|
@@ -59,8 +60,8 @@ class ArticleIndexPage(CjkcmsArticleIndexPage):
|
|
59
60
|
|
60
61
|
# Only allow ArticlePages beneath this page.
|
61
62
|
subpage_types = ["cjkcms.ArticlePage"]
|
62
|
-
|
63
63
|
template = "cjkcms/pages/article_index_page.html"
|
64
|
+
search_filterable = True
|
64
65
|
|
65
66
|
|
66
67
|
class WebPage(CjkcmsWebPage):
|
@@ -78,3 +79,4 @@ class WebPage(CjkcmsWebPage):
|
|
78
79
|
verbose_name = _("Web Page")
|
79
80
|
|
80
81
|
template = "cjkcms/pages/web_page.html"
|
82
|
+
search_filterable = True
|
@@ -23,9 +23,9 @@ class MailchimpSubscriberIntegrationWidget(Input):
|
|
23
23
|
list_library = self.build_list_library()
|
24
24
|
ctx["widget"]["value"] = json.dumps(json_value)
|
25
25
|
ctx["widget"]["extra_js"] = self.render_js(name, list_library, json_value)
|
26
|
-
ctx["widget"][
|
27
|
-
|
28
|
-
|
26
|
+
ctx["widget"]["selectable_mailchimp_lists"] = (
|
27
|
+
self.get_selectable_mailchimp_lists(list_library)
|
28
|
+
)
|
29
29
|
ctx["widget"]["stored_mailchimp_list"] = self.get_stored_mailchimp_list(
|
30
30
|
json_value
|
31
31
|
)
|
@@ -81,23 +81,21 @@ class MailchimpSubscriberIntegrationWidget(Input):
|
|
81
81
|
"interest_categories": {},
|
82
82
|
}
|
83
83
|
|
84
|
-
list_library[mlist["id"]][
|
85
|
-
"merge_fields"
|
86
|
-
|
87
|
-
list_library[mlist["id"]][
|
88
|
-
"
|
89
|
-
|
90
|
-
|
91
|
-
|
84
|
+
list_library[mlist["id"]]["merge_fields"] = (
|
85
|
+
mailchimp.get_merge_fields_for_list(mlist["id"])["merge_fields"]
|
86
|
+
)
|
87
|
+
list_library[mlist["id"]]["interest_categories"] = (
|
88
|
+
mailchimp.get_interest_categories_for_list(mlist["id"])[
|
89
|
+
"categories"
|
90
|
+
]
|
91
|
+
)
|
92
92
|
|
93
93
|
for category in list_library[mlist["id"]]["interest_categories"]:
|
94
|
-
category[
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
)
|
99
|
-
"interests"
|
100
|
-
]
|
94
|
+
category["interests"] = (
|
95
|
+
mailchimp.get_interests_for_interest_category(
|
96
|
+
mlist["id"], category["id"]
|
97
|
+
)["interests"]
|
98
|
+
)
|
101
99
|
|
102
100
|
return list_library
|
103
101
|
|
@@ -373,6 +373,11 @@ class CjkcmsPage(WagtailCacheMixin, SeoMixin, Page, metaclass=CjkcmsPageMeta):
|
|
373
373
|
edit_handler = TabbedInterface(panels)
|
374
374
|
return edit_handler.bind_to_model(cls)
|
375
375
|
|
376
|
+
@property
|
377
|
+
def search_name(self) -> str:
|
378
|
+
"""Unless override, get the verbose name of the model"""
|
379
|
+
return self._meta.verbose_name
|
380
|
+
|
376
381
|
@property
|
377
382
|
def breadcrumb_title(self) -> str:
|
378
383
|
"""
|
@@ -0,0 +1,12 @@
|
|
1
|
+
from .blocks import HOME_CONTENT_STREAMBLOCKS, HOME_LAYOUT_STREAMBLOCKS # noqa
|
2
|
+
|
3
|
+
# from otherapp.blocks import OTHERAPP_CONTENT_STREAMBLOCKS, OTHERAPP_LAYOUT_STREAMBLOCKS # noqa
|
4
|
+
|
5
|
+
|
6
|
+
# add your own content block
|
7
|
+
PROJECT_CONTENT_STREAMBLOCKS = (
|
8
|
+
HOME_CONTENT_STREAMBLOCKS # + OTHERAPP_CONTENT_STREAMBLOCKS
|
9
|
+
)
|
10
|
+
|
11
|
+
# add your own layout blocks
|
12
|
+
PROJECT_LAYOUT_STREAMBLOCKS = HOME_LAYOUT_STREAMBLOCKS # + OTHERAPP_LAYOUT_STREAMBLOCKS
|
{wagtail_cjkcms-25.1.9 → wagtail_cjkcms-25.2.1}/cjkcms/project_template/basic/home/blocks/blocks.py
RENAMED
@@ -66,11 +66,11 @@ class EventPresentationBlock(BaseBlock):
|
|
66
66
|
|
67
67
|
|
68
68
|
# add your own content block
|
69
|
-
|
69
|
+
HOME_CONTENT_STREAMBLOCKS = [
|
70
70
|
("event_presentation", EventPresentationBlock()),
|
71
71
|
]
|
72
72
|
|
73
73
|
# add your own layout blocks
|
74
|
-
|
74
|
+
HOME_LAYOUT_STREAMBLOCKS = [
|
75
75
|
# ("custom_block", CustomBlock()),
|
76
76
|
]
|
@@ -0,0 +1,12 @@
|
|
1
|
+
from .blocks import HOME_CONTENT_STREAMBLOCKS, HOME_LAYOUT_STREAMBLOCKS # noqa
|
2
|
+
|
3
|
+
# from otherapp.blocks import OTHERAPP_CONTENT_STREAMBLOCKS, OTHERAPP_LAYOUT_STREAMBLOCKS # noqa
|
4
|
+
|
5
|
+
|
6
|
+
# add your own content block
|
7
|
+
PROJECT_CONTENT_STREAMBLOCKS = (
|
8
|
+
HOME_CONTENT_STREAMBLOCKS # + OTHERAPP_CONTENT_STREAMBLOCKS
|
9
|
+
)
|
10
|
+
|
11
|
+
# add your own layout blocks
|
12
|
+
PROJECT_LAYOUT_STREAMBLOCKS = HOME_LAYOUT_STREAMBLOCKS # + OTHERAPP_LAYOUT_STREAMBLOCKS
|
@@ -66,11 +66,11 @@ class EventPresentationBlock(BaseBlock):
|
|
66
66
|
|
67
67
|
|
68
68
|
# add your own content block
|
69
|
-
|
69
|
+
HOME_CONTENT_STREAMBLOCKS = [
|
70
70
|
("event_presentation", EventPresentationBlock()),
|
71
71
|
]
|
72
72
|
|
73
73
|
# add your own layout blocks
|
74
|
-
|
74
|
+
HOME_LAYOUT_STREAMBLOCKS = [
|
75
75
|
# ("custom_block", CustomBlock()),
|
76
76
|
]
|
@@ -35,19 +35,26 @@
|
|
35
35
|
</form>
|
36
36
|
{# endif #}
|
37
37
|
|
38
|
-
{% if
|
38
|
+
{% if results_by_model %}
|
39
39
|
{% query_update request.GET 'p' None as qs_nop %}
|
40
40
|
<div class="mt-5">
|
41
41
|
<ul class="nav nav-pills">
|
42
42
|
<li class="nav-item">
|
43
43
|
{% query_update qs_nop 't' None as qs_t %}
|
44
|
-
<a class="nav-link {% if not form.t.value %}active{% endif %}" href="?{{qs_t.urlencode}}">{% trans 'All Results' %}</a>
|
45
|
-
</li>
|
46
|
-
{% for pt in pagetypes %}
|
47
|
-
<li class="nav-item">
|
48
|
-
{% query_update qs_nop 't' pt.content_type.model as qs_t %}
|
49
|
-
<a class="nav-link {% if form.t.value == pt.content_type.model %}active{% endif %}" href="?{{qs_t.urlencode}}">{{pt|get_plural_name_of_class}}</a>
|
44
|
+
<a class="nav-link {% if not form.t.value %}active{% endif %}" href="?{{ qs_t.urlencode }}">{% trans 'All Results' %}</a>
|
50
45
|
</li>
|
46
|
+
{% for key, result in results_by_model.items %}
|
47
|
+
{% if result.count > 0 %}
|
48
|
+
{% query_update qs_nop 't' key as qs_t %}
|
49
|
+
<li class="nav-item">
|
50
|
+
<a class="nav-link {% if form.t.value == key %}active{% endif %}" href="?{{ qs_t.urlencode }}">{{ result.model|get_plural_name_of_class }}
|
51
|
+
<span class="badge badge-info">
|
52
|
+
{{ result.count }}
|
53
|
+
<span class="visually-hidden">search results</span>
|
54
|
+
</span>
|
55
|
+
</a>
|
56
|
+
</li>
|
57
|
+
{% endif %}
|
51
58
|
{% endfor %}
|
52
59
|
</ul>
|
53
60
|
</div>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{% load friendly_loader wagtailcore_tags wagtailsettings_tags cjkcms_tags %}
|
2
|
+
{% friendly_load webpack_loader %}
|
3
|
+
|
4
|
+
{% if settings.cjkcms.LayoutSettings.frontend_theme == 'python-webpack' %}
|
5
|
+
{% if app_name %}
|
6
|
+
{% if_has_tag javascript_pack %}{% javascript_pack 'app' app_name attrs='charset="UTF-8"' %}{% endif_has_tag %}
|
7
|
+
{% else %}
|
8
|
+
{% if_has_tag javascript_pack %}{% javascript_pack 'app' attrs='charset="UTF-8"' %}{% endif_has_tag %}
|
9
|
+
{% endif %}
|
10
|
+
{% else %}
|
11
|
+
<script src="{% theme_js %}"
|
12
|
+
crossorigin="anonymous"></script>
|
13
|
+
{% endif %}
|
@@ -5,6 +5,8 @@ from django.urls import reverse
|
|
5
5
|
from django.test import Client, TestCase, override_settings
|
6
6
|
|
7
7
|
from cjkcms.models.cms_models import ArticlePage
|
8
|
+
from wagtail.models import Locale
|
9
|
+
from wagtail.search import index as search_index
|
8
10
|
|
9
11
|
|
10
12
|
@override_settings(
|
@@ -81,9 +83,12 @@ class TestSearchBlocks(TestCase):
|
|
81
83
|
def create_article_page(self):
|
82
84
|
# Get the HomePage
|
83
85
|
home_page = Page.objects.get(path="00010001")
|
84
|
-
|
85
|
-
|
86
|
-
|
86
|
+
article_page = ArticlePage(
|
87
|
+
title="Test Article",
|
88
|
+
seo_title="Test Article",
|
89
|
+
locale_id=Locale.get_default().id,
|
90
|
+
body=None,
|
91
|
+
)
|
87
92
|
home_page.add_child(instance=article_page)
|
88
93
|
article_page.save_revision().publish()
|
89
94
|
|
@@ -92,13 +97,35 @@ class TestSearchBlocks(TestCase):
|
|
92
97
|
article_page.body = content
|
93
98
|
article_page.save_revision().publish()
|
94
99
|
|
100
|
+
# Manually update the search index after publishing the page
|
101
|
+
search_index.insert_or_update_object(article_page)
|
102
|
+
|
95
103
|
def test_page_type_in_search_results(self):
|
96
104
|
response = self.client.get(
|
97
105
|
reverse("cjkcms_search"), {"s": "doesn't matter"}, follow=True
|
98
106
|
)
|
99
107
|
|
100
108
|
self.assertEqual(response.status_code, 200)
|
101
|
-
self.
|
109
|
+
self.assertIn(
|
110
|
+
"ArticlePage",
|
111
|
+
[pagetype.__name__ for pagetype in response.context["pagetypes"]],
|
112
|
+
)
|
113
|
+
|
114
|
+
def test_search_article_title(self):
|
115
|
+
# Manually update the search index after publishing the page
|
116
|
+
article_page = ArticlePage.objects.get(title="Test Article")
|
117
|
+
search_index.insert_or_update_object(article_page)
|
118
|
+
|
119
|
+
response = self.client.get(
|
120
|
+
reverse("cjkcms_search"), {"s": "Test", "t": ""}, follow=True
|
121
|
+
)
|
122
|
+
self.assertEqual(len(response.context["results"]), 1)
|
123
|
+
|
124
|
+
response = self.client.get(
|
125
|
+
reverse("cjkcms_search"), {"s": "Best Article"}, follow=True
|
126
|
+
)
|
127
|
+
|
128
|
+
self.assertEqual(len(response.context["results"]), 0)
|
102
129
|
|
103
130
|
def test_search_richtext(self):
|
104
131
|
self.set_article_body(self.block_richtext)
|
@@ -113,7 +140,7 @@ class TestSearchBlocks(TestCase):
|
|
113
140
|
reverse("cjkcms_search"), {"s": "daisies"}, follow=True
|
114
141
|
)
|
115
142
|
|
116
|
-
self.assertEqual(len(response.context["results"]),
|
143
|
+
self.assertEqual(len(response.context["results"]), 1)
|
117
144
|
|
118
145
|
def test_search_button(self):
|
119
146
|
self.set_article_body(self.block_button_link)
|
@@ -127,8 +154,7 @@ class TestSearchBlocks(TestCase):
|
|
127
154
|
response = self.client.get(
|
128
155
|
reverse("cjkcms_search"), {"s": "Benjamin"}, follow=True
|
129
156
|
)
|
130
|
-
|
131
|
-
self.assertEqual(len(response.context["results"]), 2)
|
157
|
+
self.assertEqual(len(response.context["results"]), 1)
|
132
158
|
|
133
159
|
def test_search_html(self):
|
134
160
|
self.set_article_body(self.block_html)
|
@@ -143,7 +169,7 @@ class TestSearchBlocks(TestCase):
|
|
143
169
|
reverse("cjkcms_search"), {"s": "from HTML"}, follow=True
|
144
170
|
)
|
145
171
|
|
146
|
-
self.assertEqual(len(response.context["results"]),
|
172
|
+
self.assertEqual(len(response.context["results"]), 1)
|
147
173
|
|
148
174
|
def test_search_quote(self):
|
149
175
|
self.set_article_body(self.block_quote)
|
@@ -158,10 +184,10 @@ class TestSearchBlocks(TestCase):
|
|
158
184
|
reverse("cjkcms_search"), {"s": "quotably"}, follow=True
|
159
185
|
)
|
160
186
|
|
161
|
-
self.assertEqual(len(response.context["results"]),
|
187
|
+
self.assertEqual(len(response.context["results"]), 1)
|
162
188
|
|
163
189
|
response = self.client.get(
|
164
190
|
reverse("cjkcms_search"), {"s": "Nobody"}, follow=True
|
165
191
|
)
|
166
192
|
|
167
|
-
self.assertEqual(len(response.context["results"]),
|
193
|
+
self.assertEqual(len(response.context["results"]), 1)
|
@@ -8,12 +8,15 @@ from cjkcms.models import (
|
|
8
8
|
class ProjectArticlePage(CjkcmsArticlePage):
|
9
9
|
template = "cjkcms/pages/article_page.html"
|
10
10
|
search_template = "cjkcms/pages/article_page.search.html"
|
11
|
+
search_filterable = True
|
11
12
|
|
12
13
|
|
13
14
|
class ProjectArticleIndexPage(CjkcmsArticleIndexPage):
|
14
15
|
template = "cjkcms/pages/article_index_page.html"
|
16
|
+
search_filterable = True
|
15
17
|
|
16
18
|
|
17
19
|
class ProjectWebPage(CjkcmsWebPage):
|
18
20
|
# use cjkcms template by default
|
19
21
|
template = "cjkcms/pages/web_page.html"
|
22
|
+
search_filterable = True
|
@@ -23,6 +23,32 @@ from cjkcms.models import (
|
|
23
23
|
LayoutSettings,
|
24
24
|
)
|
25
25
|
|
26
|
+
from wagtail.models import Locale
|
27
|
+
|
28
|
+
|
29
|
+
def search_model_backend(model, search_query, current_locale):
|
30
|
+
"""
|
31
|
+
Helper function to search a specific model with the search backend.
|
32
|
+
|
33
|
+
Parameters:
|
34
|
+
- model: The model to search.
|
35
|
+
- search_query: The query string to search for.
|
36
|
+
- current_locale: The current locale for filtering pages.
|
37
|
+
|
38
|
+
Returns:
|
39
|
+
- list: Search results for the model.
|
40
|
+
"""
|
41
|
+
backend = get_search_backend()
|
42
|
+
if issubclass(model, Page):
|
43
|
+
# Search only live and public pages for models that are Page subclasses
|
44
|
+
return backend.search(
|
45
|
+
search_query,
|
46
|
+
model.objects.live().public().filter(locale=current_locale),
|
47
|
+
)
|
48
|
+
else:
|
49
|
+
# Search normally for non-page models
|
50
|
+
return backend.search(search_query, model)
|
51
|
+
|
26
52
|
|
27
53
|
def search(request):
|
28
54
|
"""
|
@@ -34,35 +60,51 @@ def search(request):
|
|
34
60
|
Returns:
|
35
61
|
HttpResponse: The rendered search results page.
|
36
62
|
"""
|
63
|
+
|
37
64
|
search_form = SearchForm(request.GET)
|
38
|
-
results =
|
65
|
+
results = None
|
39
66
|
results_paginated = []
|
40
67
|
indexed_models = []
|
41
|
-
|
42
|
-
if (
|
43
|
-
issubclass(model, index.Indexed)
|
44
|
-
and hasattr(model, "search_filterable")
|
45
|
-
and model.search_filterable
|
46
|
-
):
|
47
|
-
indexed_models.append(model)
|
68
|
+
results_by_model = {}
|
48
69
|
|
49
70
|
if search_form.is_valid():
|
71
|
+
current_locale = Locale.get_active()
|
50
72
|
search_query = search_form.cleaned_data["s"]
|
51
73
|
search_model = search_form.cleaned_data["t"]
|
52
|
-
|
74
|
+
results = []
|
75
|
+
for model in apps.get_models():
|
76
|
+
if (
|
77
|
+
issubclass(model, index.Indexed)
|
78
|
+
and hasattr(model, "search_filterable")
|
79
|
+
and model.search_filterable
|
80
|
+
):
|
81
|
+
indexed_models.append(model)
|
82
|
+
|
83
|
+
# If a specific model is selected
|
53
84
|
if search_model and ContentType.objects.filter(model=search_model).exists():
|
54
85
|
try:
|
55
86
|
# If provided a model name, try to get it
|
56
87
|
model = ContentType.objects.get(model=search_model).model_class()
|
57
|
-
results =
|
88
|
+
results = search_model_backend(model, search_query, current_locale)
|
89
|
+
# Store the count of results for this model
|
90
|
+
results_by_model[model._meta.model_name] = {
|
91
|
+
"model": model,
|
92
|
+
"count": results.count(),
|
93
|
+
}
|
58
94
|
except ContentType.DoesNotExist:
|
59
|
-
|
60
|
-
results = []
|
95
|
+
results = None
|
61
96
|
else:
|
62
|
-
|
63
|
-
# results=[]
|
97
|
+
# Search all indexed models
|
64
98
|
for model in indexed_models:
|
65
|
-
|
99
|
+
model_results = search_model_backend(
|
100
|
+
model, search_query, current_locale
|
101
|
+
)
|
102
|
+
# Store the count of results for this model
|
103
|
+
results_by_model[model._meta.model_name] = {
|
104
|
+
"model": model,
|
105
|
+
"count": model_results.count(),
|
106
|
+
}
|
107
|
+
results += model_results
|
66
108
|
# get and paginate results
|
67
109
|
if results:
|
68
110
|
paginator = Paginator(
|
@@ -84,6 +126,7 @@ def search(request):
|
|
84
126
|
"results": results,
|
85
127
|
"pagetypes": indexed_models,
|
86
128
|
"results_paginated": results_paginated,
|
129
|
+
"results_by_model": results_by_model,
|
87
130
|
}
|
88
131
|
# Render template
|
89
132
|
return render(
|
@@ -1,5 +1,3 @@
|
|
1
|
-
import mimetypes
|
2
|
-
|
3
1
|
from cjkcms import __version__
|
4
2
|
from cjkcms.draftail import (
|
5
3
|
NewWindowExternalLinkHandler,
|
@@ -8,7 +6,6 @@ from cjkcms.draftail import (
|
|
8
6
|
)
|
9
7
|
|
10
8
|
# from cjkcms.models.admin_sidebar import NavbarSnippet, EventCalendarSnippet
|
11
|
-
from django.http.response import HttpResponse
|
12
9
|
from django.templatetags.static import static
|
13
10
|
from django.utils.html import format_html
|
14
11
|
from wagtail import hooks
|
@@ -132,19 +129,6 @@ hooks.register("after_edit_snippet", clear_wagtailcache)
|
|
132
129
|
hooks.register("after_delete_snippet", clear_wagtailcache)
|
133
130
|
|
134
131
|
|
135
|
-
@hooks.register("before_serve_document") # type: ignore
|
136
|
-
def serve_document_directly(document, request):
|
137
|
-
"""
|
138
|
-
This hook prevents documents from being downloaded unless
|
139
|
-
specified by an <a> tag with the download attribute.
|
140
|
-
"""
|
141
|
-
content_type, content_encoding = mimetypes.guess_type(document.filename)
|
142
|
-
response = HttpResponse(document.file.read(), content_type=content_type)
|
143
|
-
response["Content-Disposition"] = 'inline;filename="{0}"'.format(document.filename)
|
144
|
-
response["Content-Encoding"] = str(content_encoding)
|
145
|
-
return response
|
146
|
-
|
147
|
-
|
148
132
|
class ImportExportMenuItem(MenuItem):
|
149
133
|
def is_shown(self, request):
|
150
134
|
return request.user.is_superuser
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# Using blocks from other apps
|
2
|
+
|
3
|
+
Page models inheriting from cjkcms (CjkcmsWebPage, CjkcmsArticlePage or CjkcmsIndexPage) in a given project may require inclusion of blocks from several apps into the list of blocks available in the "Body" section of the page model, or for use in custom fields.
|
4
|
+
|
5
|
+
The order in INSTALLED_APPS doesn't effect when the models are created. Django figures out that certain models depend on others and runs them in the correct order.
|
6
|
+
|
7
|
+
## Layout blocks and content blocks
|
8
|
+
CJKCMS defines two sets of blocks:
|
9
|
+
* layout blocks, e.g. grid of columns (rowcols), grid of cards, or custom html blocks.
|
10
|
+
* content blocks, typically allowed inside layout blocks, or in pages with simple layout structure, like "ArticlePage".
|
11
|
+
|
12
|
+
Some standard cms blocks are used in more than one place:
|
13
|
+
* HTML blocks are part of both layout and content blocks
|
14
|
+
* card blocks are used as content blocks, and as element of card grid layout block.
|
15
|
+
|
16
|
+
When creating your own blocks, decide whether it should be allowed at the layout level, at the content level. You can use any content block inside a layout, by putting it inside "RowCol"->"Column".
|
17
|
+
|
18
|
+
## Project-specific page models
|
19
|
+
|
20
|
+
If we want to ensure that blocks from apps A, B, C are available for standard page models in a given project, the typical solution is to override CMS models in your "home" app, including into the new models blocks collected from other apps (A, B, C).
|
21
|
+
|
22
|
+
Check out the home app in the project templates (basic or webpack) in the cjkcms repository for full code example.
|
23
|
+
Modify the home app, importing blocks from your own apps.
|
24
|
+
|
25
|
+
```python
|
26
|
+
# home/blocks/__init__.py
|
27
|
+
|
28
|
+
from appa.blocks import APPA_CONTENT_BLOCKS, APPA_LAYOUT_BLOCKS # noqa
|
29
|
+
from appb.blocks import APPB_CONTENT_BLOCKS, APPB_LAYOUT_BLOCKS # noqa
|
30
|
+
from appc.blocks import APPC_CONTENT_BLOCKS, APPC_LAYOUT_BLOCKS # noqa
|
31
|
+
from .blocks import HOME_CONTENT_STREAMBLOCKS, HOME_LAYOUT_STREAMBLOCKS # noqa
|
32
|
+
|
33
|
+
# add your own content block
|
34
|
+
PROJECT_CONTENT_STREAMBLOCKS = HOME_CONTENT_STREAMBLOCKS + APPA_CONTENT_BLOCKS + APPB_CONTENT_BLOCKS + APPC_CONTENT_BLOCKS
|
35
|
+
|
36
|
+
# add your own layout blocks
|
37
|
+
PROJECT_LAYOUT_STREAMBLOCKS = HOME_LAYOUT_STREAMBLOCKS + APPA_LAYOUT_BLOCKS + APPB_LAYOUT_BLOCKS + APPC_LAYOUT_BLOCKS
|
38
|
+
```
|
39
|
+
|
40
|
+
Once you have extra blocks added to your project configuration,
|
41
|
+
they will be picked up by the three standard page models defined in
|
42
|
+
`home/models/cms_models.py`, as follows:
|
43
|
+
|
44
|
+
```python
|
45
|
+
from home.blocks import (
|
46
|
+
PROJECT_CONTENT_STREAMBLOCKS,
|
47
|
+
PROJECT_LAYOUT_STREAMBLOCKS,
|
48
|
+
)
|
49
|
+
|
50
|
+
ALL_CONTENT_STREAMBLOCKS = CONTENT_STREAMBLOCKS + PROJECT_CONTENT_STREAMBLOCKS
|
51
|
+
ALL_LAYOUT_STREAMBLOCKS = LAYOUT_STREAMBLOCKS + PROJECT_LAYOUT_STREAMBLOCKS
|
52
|
+
|
53
|
+
[...]
|
54
|
+
|
55
|
+
# Override to CjkcmsStreamField to get rid of migration issues
|
56
|
+
# when modifying LAYOUT_STREAMBLOCKS.
|
57
|
+
body = CjkcmsStreamField(
|
58
|
+
ALL_LAYOUT_STREAMBLOCKS, null=True, blank=True, use_json_field=True
|
59
|
+
)
|
60
|
+
```
|
61
|
+
|
62
|
+
You may also define new fields in your models, using ALL_LAYOUT_STREAMBLOCKS or ALL_CONTENT_STREAMBLOCKS.
|
63
|
+
|
64
|
+
## Using blocks from APPA in APPB
|
65
|
+
|
66
|
+
The setup is similar if you want to use blocks from application A in application B. You need to add block definitions from APPA in your APPB, and use the new set of blocks in your APPB page models, or override the definition of the "body" field in your APPB page model.
|
67
|
+
|
68
|
+
The only caveat is that you need to avoid circular import problem, so you cannot use `PROJECT\_\*\_STREAMBLOCKS` in `APPB\_\*\_STREAMBLOCKS`, and at the same time add `APPB\_\*\_STREAMBLOCKS` into your `PROJECT\_\*\_STREAMBLOCKS`
|