wagtail-cjkcms 24.3.1__py2.py3-none-any.whl → 25.1.6__py2.py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- cjkcms/.DS_Store +0 -0
- cjkcms/__init__.py +1 -1
- cjkcms/blocks/__init__.py +4 -0
- cjkcms/blocks/content/countdown.py +116 -0
- cjkcms/blocks/content_blocks.py +46 -9
- cjkcms/migrations/0018_layoutsettings_search_format.py +10 -5
- cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py +28 -11
- cjkcms/migrations/0020_socialmediasettings_github_and_more.py +18 -11
- cjkcms/migrations/0021_remove_layoutsettings_navbar_color_scheme_and_more.py +85 -0
- cjkcms/migrations/0022_cjkcmspage_breadcrumb_label_and_more.py +23 -0
- cjkcms/migrations/0023_alter_navbar_language.py +18 -0
- cjkcms/models/admin_sidebar.py +0 -28
- cjkcms/models/page_models.py +33 -0
- cjkcms/models/snippet_models.py +22 -7
- cjkcms/models/wagtailsettings_models.py +40 -21
- cjkcms/settings.py +96 -64
- cjkcms/static/.DS_Store +0 -0
- cjkcms/static/cjkcms/css/cjkcms-custom-theme-disabled.css +73 -0
- cjkcms/static/cjkcms/css/cjkcms-front.css +41 -5
- cjkcms/static/cjkcms/js/cjkcms-front.js +2 -2
- cjkcms/static/vendor/.DS_Store +0 -0
- cjkcms/static/vendor/mdb/.DS_Store +0 -0
- cjkcms/static/vendor/mdb/css/.DS_Store +0 -0
- cjkcms/static/vendor/mdb/css/mdb.min.css +18 -0
- cjkcms/static/vendor/mdb/css/mdb.min.css.map +1 -0
- cjkcms/static/vendor/mdb/js/.DS_Store +0 -0
- cjkcms/static/vendor/mdb/js/mdb.umd.min.js +21 -0
- cjkcms/static/vendor/mdb/js/mdb.umd.min.js.map +1 -0
- cjkcms/static/vendor/simplycountdown/css/circle.css +73 -0
- cjkcms/static/vendor/simplycountdown/css/cyber.css +155 -0
- cjkcms/static/vendor/simplycountdown/css/dark.css +85 -0
- cjkcms/static/vendor/simplycountdown/css/light.css +85 -0
- cjkcms/static/vendor/simplycountdown/css/losange.css +83 -0
- cjkcms/static/vendor/simplycountdown/js/simplyCountdown.umd.js +2 -0
- cjkcms/static/vendor/simplycountdown/js/simplyCountdown.umd.js.map +1 -0
- cjkcms/templates/.DS_Store +0 -0
- cjkcms/templates/404.html +72 -104
- cjkcms/templates/cjkcms/.DS_Store +0 -0
- cjkcms/templates/cjkcms/blocks/base_link_block.html +48 -51
- cjkcms/templates/cjkcms/blocks/button_block.html +2 -2
- cjkcms/templates/cjkcms/blocks/card_landing1.html +2 -2
- cjkcms/templates/cjkcms/blocks/card_landing2.html +3 -3
- cjkcms/templates/cjkcms/blocks/countdown.html +24 -0
- cjkcms/templates/cjkcms/blocks/highlight_block.html +21 -0
- cjkcms/templates/cjkcms/blocks/pricelistitem_block.html +9 -5
- cjkcms/templates/cjkcms/pages/base.html +3 -3
- cjkcms/templates/cjkcms/pages/page.mini.html +1 -1
- cjkcms/templates/cjkcms/pages/search.html +10 -1
- cjkcms/templates/cjkcms/robots.txt +0 -4
- cjkcms/templates/cjkcms/snippets/breadcrumbs.html +2 -2
- cjkcms/templates/cjkcms/snippets/frontend_assets.html +8 -0
- cjkcms/templates/cjkcms/snippets/navbar.html +12 -9
- cjkcms/templates/cjkcms/snippets/navbar_search.html +6 -35
- cjkcms/templates/cjkcms/snippets/navbar_search_modal.html +34 -0
- cjkcms/templatetags/cjkcms_tags.py +80 -17
- cjkcms/tests/test_countdown_block.py +100 -0
- cjkcms/tests/test_search_blocks.py +10 -10
- cjkcms/tests/test_templatetags.py +19 -1
- cjkcms/tests/test_urls.py +8 -6
- cjkcms/urls.py +3 -0
- cjkcms/views.py +80 -78
- cjkcms/wagtail_hooks.py +37 -5
- {wagtail_cjkcms-24.3.1.dist-info → wagtail_cjkcms-25.1.6.dist-info}/METADATA +6 -6
- {wagtail_cjkcms-24.3.1.dist-info → wagtail_cjkcms-25.1.6.dist-info}/RECORD +70 -42
- {wagtail_cjkcms-24.3.1.dist-info → wagtail_cjkcms-25.1.6.dist-info}/WHEEL +1 -1
- /cjkcms/tests/media/images/{test_d8sVYy7.original.png → test_O3GLriA.original.png} +0 -0
- /cjkcms/tests/media/original_images/{test_d8sVYy7.png → test_O3GLriA.png} +0 -0
- {wagtail_cjkcms-24.3.1.dist-info → wagtail_cjkcms-25.1.6.dist-info}/LICENSE +0 -0
- {wagtail_cjkcms-24.3.1.dist-info → wagtail_cjkcms-25.1.6.dist-info}/entry_points.txt +0 -0
- {wagtail_cjkcms-24.3.1.dist-info → wagtail_cjkcms-25.1.6.dist-info}/top_level.txt +0 -0
@@ -161,17 +161,6 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
161
161
|
verbose_name=_("Default SEO Image"),
|
162
162
|
)
|
163
163
|
|
164
|
-
navbar_color_scheme = models.CharField(
|
165
|
-
blank=True,
|
166
|
-
max_length=50,
|
167
|
-
choices=None,
|
168
|
-
default="",
|
169
|
-
verbose_name=_("Navbar color scheme"),
|
170
|
-
help_text=_(
|
171
|
-
"Optimizes text and other navbar elements for use with light or dark backgrounds."
|
172
|
-
), # noqa
|
173
|
-
)
|
174
|
-
|
175
164
|
navbar_class = models.CharField(
|
176
165
|
blank=True,
|
177
166
|
max_length=255,
|
@@ -199,7 +188,7 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
199
188
|
navbar_collapse_mode = models.CharField(
|
200
189
|
blank=True,
|
201
190
|
max_length=50,
|
202
|
-
choices=
|
191
|
+
choices=[],
|
203
192
|
default="",
|
204
193
|
verbose_name=_("Collapse navbar menu"),
|
205
194
|
help_text=_(
|
@@ -209,7 +198,7 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
209
198
|
navbar_format = models.CharField(
|
210
199
|
blank=True,
|
211
200
|
max_length=50,
|
212
|
-
choices=
|
201
|
+
choices=[],
|
213
202
|
default="",
|
214
203
|
verbose_name=_("Navbar format"),
|
215
204
|
)
|
@@ -260,7 +249,7 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
260
249
|
blank=True,
|
261
250
|
null=True,
|
262
251
|
max_length=255,
|
263
|
-
choices=
|
252
|
+
choices=[],
|
264
253
|
default=None,
|
265
254
|
verbose_name=_("Language selector"),
|
266
255
|
help_text=_("Choose lang choice selector"),
|
@@ -271,6 +260,23 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
271
260
|
verbose_name=_("Breadcrumbs"),
|
272
261
|
help_text=_("Show breadcrumbs in page header"),
|
273
262
|
)
|
263
|
+
|
264
|
+
# # defines layout for the breadcrumb: full, shortened
|
265
|
+
# breadcrumb_layout_default = "full"
|
266
|
+
# breadcrumb_layout_choices = (
|
267
|
+
# ("full", _("Display full")),
|
268
|
+
# ("shortened_dots", _("Shortened with dots in middle levels")),
|
269
|
+
# ("shortened_mobile_dots", _("Shortened with dots on mobile view")),
|
270
|
+
# )
|
271
|
+
|
272
|
+
# breadcrumb_layout = models.CharField(
|
273
|
+
# max_length=255,
|
274
|
+
# choices=breadcrumb_layout_choices,
|
275
|
+
# default=breadcrumb_layout_default,
|
276
|
+
# blank=True,
|
277
|
+
# verbose_name=_("Breadcrumbs layout"),
|
278
|
+
# )
|
279
|
+
|
274
280
|
breadcrumb_icon = models.CharField(
|
275
281
|
blank=True,
|
276
282
|
max_length=32,
|
@@ -279,10 +285,25 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
279
285
|
help_text=_("Bootstrap icon name. See docs for built-in options."),
|
280
286
|
)
|
281
287
|
|
288
|
+
color_scheme = models.CharField(
|
289
|
+
blank=True,
|
290
|
+
max_length=50,
|
291
|
+
choices=[],
|
292
|
+
default="",
|
293
|
+
verbose_name=_("Color scheme"),
|
294
|
+
help_text=_("Default light/dark/custom theme. (MD/Bootstrap only)"), # noqa
|
295
|
+
)
|
296
|
+
|
297
|
+
light_dark_switch = models.BooleanField(
|
298
|
+
default=False,
|
299
|
+
verbose_name=_("Light/Dark switch"),
|
300
|
+
help_text=_("Show switch to toggle light/dark theme (MD/Bootstrap only)"),
|
301
|
+
)
|
302
|
+
|
282
303
|
frontend_theme = models.CharField(
|
283
304
|
blank=True,
|
284
305
|
max_length=50,
|
285
|
-
choices=
|
306
|
+
choices=[],
|
286
307
|
default="",
|
287
308
|
verbose_name=_("Theme variant"),
|
288
309
|
help_text=cms_settings.CJKCMS_FRONTEND_THEME_HELP,
|
@@ -361,7 +382,6 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
361
382
|
),
|
362
383
|
MultiFieldPanel(
|
363
384
|
[
|
364
|
-
FieldPanel("navbar_color_scheme"),
|
365
385
|
FieldPanel("navbar_class"),
|
366
386
|
FieldPanel("navbar_fixed"),
|
367
387
|
FieldPanel("navbar_wrapper_fluid"),
|
@@ -396,6 +416,7 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
396
416
|
),
|
397
417
|
MultiFieldPanel(
|
398
418
|
[
|
419
|
+
FieldPanel("color_scheme"),
|
399
420
|
FieldPanel("frontend_theme"),
|
400
421
|
FieldPanel("base_template"),
|
401
422
|
FieldPanel("awesome_cdn"),
|
@@ -429,8 +450,8 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
429
450
|
"navbar_collapse_mode"
|
430
451
|
).choices = cms_settings.CJKCMS_FRONTEND_NAVBAR_COLLAPSE_MODE_CHOICES # type: ignore
|
431
452
|
self._meta.get_field(
|
432
|
-
"
|
433
|
-
).choices = cms_settings.
|
453
|
+
"color_scheme"
|
454
|
+
).choices = cms_settings.CJKCMS_FRONTEND_COLOR_SCHEME_CHOICES # type: ignore
|
434
455
|
self._meta.get_field(
|
435
456
|
"navbar_format"
|
436
457
|
).choices = cms_settings.CJKCMS_FRONTEND_NAVBAR_FORMAT_CHOICES # type: ignore
|
@@ -447,9 +468,7 @@ class LayoutSettings(ClusterableModel, BaseSiteSetting):
|
|
447
468
|
self.navbar_collapse_mode = (
|
448
469
|
cms_settings.CJKCMS_FRONTEND_NAVBAR_COLLAPSE_MODE_DEFAULT
|
449
470
|
)
|
450
|
-
self.
|
451
|
-
cms_settings.CJKCMS_FRONTEND_NAVBAR_COLOR_SCHEME_DEFAULT
|
452
|
-
)
|
471
|
+
self.color_scheme = cms_settings.CJKCMS_FRONTEND_COLOR_SCHEME_DEFAULT
|
453
472
|
self.navbar_format = cms_settings.CJKCMS_FRONTEND_NAVBAR_FORMAT_DEFAULT
|
454
473
|
self.search_format = cms_settings.CJKCMS_FRONTEND_SEARCH_FORMAT_DEFAULT
|
455
474
|
self.base_template = cms_settings.CJKCMS_BASE_TEMPLATE_DEFAULT
|
cjkcms/settings.py
CHANGED
@@ -89,10 +89,11 @@ class _DefaultSettings:
|
|
89
89
|
("cjkcms/snippets/bottom_corner_lang_selector.html", "Bottom Corner Selector"),
|
90
90
|
]
|
91
91
|
|
92
|
-
|
93
|
-
|
94
|
-
("
|
95
|
-
("
|
92
|
+
CJKCMS_FRONTEND_COLOR_SCHEME_DEFAULT = "light"
|
93
|
+
CJKCMS_FRONTEND_COLOR_SCHEME_CHOICES = [
|
94
|
+
("light", "Light theme"),
|
95
|
+
("dark", "Dark theme"),
|
96
|
+
("custom", "Custom from cjkcms-custom-theme.css"),
|
96
97
|
]
|
97
98
|
|
98
99
|
CJKCMS_FRONTEND_NAVBAR_CLASS_DEFAULT = "bg-light"
|
@@ -113,9 +114,10 @@ class _DefaultSettings:
|
|
113
114
|
CJKCMS_FRONTEND_THEME_DEFAULT = "bootstrap5"
|
114
115
|
CJKCMS_FRONTEND_THEME_CHOICES = (
|
115
116
|
("bootstrap5", "Default - Bootstrap 5 (CDN)"),
|
117
|
+
("mdb", "MDBootstrap 5 (CDN)"),
|
116
118
|
("python-webpack", "Python Webpack Boilerplate by Michael Yin"),
|
117
|
-
("mdb.light", "MDBootstrap 5 (
|
118
|
-
("mdb.dark", "MDBootstrap 5 dark (
|
119
|
+
("mdb.light", "MDBootstrap 5 (local)"),
|
120
|
+
("mdb.dark", "MDBootstrap 5 dark (local)"),
|
119
121
|
("bootswatch.cerulean", "Bootswatch Cerulean (CDN)"),
|
120
122
|
("bootswatch.cosmo", "Bootswatch Cosmo (CDN)"),
|
121
123
|
("bootswatch.cyborg", "Bootswatch Cyborg (CDN)"),
|
@@ -149,116 +151,120 @@ class _DefaultSettings:
|
|
149
151
|
CJKCMS_THEME_FILES = {
|
150
152
|
"python-webpack": ["@include", "@include"], # this entry will be ignored
|
151
153
|
"bootstrap5": [
|
152
|
-
"https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.
|
153
|
-
"https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.
|
154
|
+
"https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css",
|
155
|
+
"https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js",
|
154
156
|
],
|
155
|
-
"mdb
|
156
|
-
"https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/
|
157
|
-
"https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/
|
157
|
+
"mdb": [
|
158
|
+
"https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/8.1.0/mdb.min.css",
|
159
|
+
"https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/8.1.0/mdb.umd.min.js",
|
158
160
|
],
|
159
|
-
"mdb.
|
160
|
-
"
|
161
|
-
"
|
161
|
+
"mdb.light": [ # 8.1.0
|
162
|
+
"vendor/mdb/css/mdb.min.css",
|
163
|
+
"vendor/mdb/js/mdb.umd.min.js",
|
164
|
+
],
|
165
|
+
"mdb.dark": [ # 8.1.0
|
166
|
+
"vendor/mdb/css/mdb.dark.min.css",
|
167
|
+
"vendor/mdb/js/mdb.umd.min.js",
|
162
168
|
],
|
163
169
|
"bootswatch.cerulean": [
|
164
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
165
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
170
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/cerulean/bootstrap.min.css",
|
171
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
166
172
|
],
|
167
173
|
"bootswatch.cosmo": [
|
168
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
169
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
174
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/cosmo/bootstrap.min.css",
|
175
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
170
176
|
],
|
171
177
|
"bootswatch.cyborg": [
|
172
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
173
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
178
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/cyborg/bootstrap.min.css",
|
179
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
174
180
|
],
|
175
181
|
"bootswatch.darkly": [
|
176
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
177
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
182
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/darkly/bootstrap.min.css",
|
183
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
178
184
|
],
|
179
185
|
"bootswatch.flatly": [
|
180
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
181
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
186
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/flatly/bootstrap.min.css",
|
187
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
182
188
|
],
|
183
189
|
"bootswatch.journal": [
|
184
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
185
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
190
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/journal/bootstrap.min.css",
|
191
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
186
192
|
],
|
187
193
|
"bootswatch.litera": [
|
188
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
189
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
194
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/litera/bootstrap.min.css",
|
195
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
190
196
|
],
|
191
197
|
"bootswatch.lumen": [
|
192
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
193
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
198
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/lumen/bootstrap.min.css",
|
199
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
194
200
|
],
|
195
201
|
"bootswatch.lux": [
|
196
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
197
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
202
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/lux/bootstrap.min.css",
|
203
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
198
204
|
],
|
199
205
|
"bootswatch.materia": [
|
200
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
201
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
206
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/materia/bootstrap.min.css",
|
207
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
202
208
|
],
|
203
209
|
"bootswatch.minty": [
|
204
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
205
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
210
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/minty/bootstrap.min.css",
|
211
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
206
212
|
],
|
207
213
|
"bootswatch.morph": [
|
208
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
209
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
214
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/morph/bootstrap.min.css",
|
215
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
210
216
|
],
|
211
217
|
"bootswatch.pulse": [
|
212
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
213
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
218
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/pulse/bootstrap.min.css",
|
219
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
214
220
|
],
|
215
221
|
"bootswatch.quartz": [
|
216
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
217
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
222
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/quartz/bootstrap.min.css",
|
223
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
218
224
|
],
|
219
225
|
"bootswatch.sandstone": [
|
220
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
221
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
226
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/sandstone/bootstrap.min.css",
|
227
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
222
228
|
],
|
223
229
|
"bootswatch.simplex": [
|
224
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
225
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
230
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/simplex/bootstrap.min.css",
|
231
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
226
232
|
],
|
227
233
|
"bootswatch.sketchy": [
|
228
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
229
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
234
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/sketchy/bootstrap.min.css",
|
235
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
230
236
|
],
|
231
237
|
"bootswatch.slate": [
|
232
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
233
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
238
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/slate/bootstrap.min.css",
|
239
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
234
240
|
],
|
235
241
|
"bootswatch.solar": [
|
236
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
237
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
242
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/solar/bootstrap.min.css",
|
243
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
238
244
|
],
|
239
245
|
"bootswatch.spacelab": [
|
240
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
241
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
246
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/spacelab/bootstrap.min.css",
|
247
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
242
248
|
],
|
243
249
|
"bootswatch.superhero": [
|
244
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
245
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
250
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/superhero/bootstrap.min.css",
|
251
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
246
252
|
],
|
247
253
|
"bootswatch.united": [
|
248
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
249
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
254
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/united/bootstrap.min.css",
|
255
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
250
256
|
],
|
251
257
|
"bootswatch.vapor": [
|
252
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
253
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
258
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/vapor/bootstrap.min.css",
|
259
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
254
260
|
],
|
255
261
|
"bootswatch.yeti": [
|
256
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
257
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
262
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/yeti/bootstrap.min.css",
|
263
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
258
264
|
],
|
259
265
|
"bootswatch.zephyr": [
|
260
|
-
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.
|
261
|
-
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.
|
266
|
+
"https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/zephyr/bootstrap.min.css",
|
267
|
+
"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js",
|
262
268
|
],
|
263
269
|
}
|
264
270
|
|
@@ -360,6 +366,29 @@ class _DefaultSettings:
|
|
360
366
|
("hidden", "Hidden for all"),
|
361
367
|
)
|
362
368
|
|
369
|
+
CJKCMS_HIGHLIGHT_COLORS = (
|
370
|
+
("primary", "Dark Blue"),
|
371
|
+
("secondary", "Gray"),
|
372
|
+
("success", "Green"),
|
373
|
+
("danger", "Red"),
|
374
|
+
("warning", "Yellow"),
|
375
|
+
("info", "Light Blue"),
|
376
|
+
("light", "Light"),
|
377
|
+
("dark", "Dark"),
|
378
|
+
)
|
379
|
+
CJKCMS_HIGHLIGHT_DEFAULT_COLOR = "none"
|
380
|
+
|
381
|
+
FONT_AWESOME_ICONS = (
|
382
|
+
("fa-solid fa-circle-check", "Checkmark"),
|
383
|
+
("fa-solid fa-scissors", "Scissors"),
|
384
|
+
("fa-solid fa-pencil", "Pencil"),
|
385
|
+
("fa-solid fa-question", "Question mark"),
|
386
|
+
("fa-solid fa-globe", "Globe"),
|
387
|
+
("fa-regular fa-folder", "Folder"),
|
388
|
+
("fa-solid fa-triangle-exclamation", "Warning Triangle"),
|
389
|
+
)
|
390
|
+
FONT_AWESOME_ICONS_DEFAULT = "fa-solid fa-circle-check"
|
391
|
+
|
363
392
|
BANNER = None
|
364
393
|
BANNER_BACKGROUND = "#f00"
|
365
394
|
BANNER_TEXT_COLOR = "#fff"
|
@@ -449,6 +478,9 @@ class _DefaultSettings:
|
|
449
478
|
("btn-outline-link", "Link Outline"),
|
450
479
|
]
|
451
480
|
|
481
|
+
CJKCMS_VERSION_MONITOR_TOKEN = "" # blank token = disabled version monitor api
|
482
|
+
CJKCMS_VERSION_MONITOR_ALLOWED_DOMAINS = [] # disallow from any domain by default
|
483
|
+
|
452
484
|
def __getattribute__(self, attr: str):
|
453
485
|
# First load from Django settings.
|
454
486
|
# If it does not exist, load from _DefaultSettings.
|
cjkcms/static/.DS_Store
ADDED
Binary file
|
@@ -0,0 +1,73 @@
|
|
1
|
+
|
2
|
+
:root {
|
3
|
+
/* --bs-blue: #0d6efd;
|
4
|
+
--bs-indigo: #6610f2;
|
5
|
+
--bs-purple: #6f42c1;
|
6
|
+
--bs-pink: #d63384;
|
7
|
+
--bs-red: #dc3545;
|
8
|
+
--bs-orange: #fd7e14;
|
9
|
+
--bs-yellow: #ffc107;
|
10
|
+
--bs-green: #198754;
|
11
|
+
--bs-teal: #20c997;
|
12
|
+
--bs-cyan: #0dcaf0;
|
13
|
+
--bs-black: #000;
|
14
|
+
--bs-white: #fff;
|
15
|
+
--bs-gray: #6c757d;
|
16
|
+
--bs-gray-dark: #343a40;
|
17
|
+
--bs-gray-100: #f8f9fa;
|
18
|
+
--bs-gray-200: #e9ecef;
|
19
|
+
--bs-gray-300: #dee2e6;
|
20
|
+
--bs-gray-400: #ced4da;
|
21
|
+
--bs-gray-500: #adb5bd;
|
22
|
+
--bs-gray-600: #6c757d;
|
23
|
+
--bs-gray-700: #495057;
|
24
|
+
--bs-gray-800: #343a40;
|
25
|
+
--bs-gray-900: #212529;
|
26
|
+
--bs-primary: #0d6efd;
|
27
|
+
--bs-secondary: #6c757d;
|
28
|
+
--bs-success: #198754;
|
29
|
+
--bs-info: #0dcaf0;
|
30
|
+
--bs-warning: #ffc107;
|
31
|
+
--bs-danger: #dc3545;
|
32
|
+
--bs-light: #f8f9fa;
|
33
|
+
--bs-dark: #212529;
|
34
|
+
--bs-primary-rgb: 13, 110, 253;
|
35
|
+
--bs-secondary-rgb: 108, 117, 125;
|
36
|
+
--bs-success-rgb: 25, 135, 84;
|
37
|
+
--bs-info-rgb: 13, 202, 240;
|
38
|
+
--bs-warning-rgb: 255, 193, 7;
|
39
|
+
--bs-danger-rgb: 220, 53, 69;
|
40
|
+
--bs-light-rgb: 248, 249, 250;
|
41
|
+
--bs-dark-rgb: 33, 37, 41;
|
42
|
+
--bs-white-rgb: 255, 255, 255;
|
43
|
+
--bs-black-rgb: 0, 0, 0;
|
44
|
+
--bs-body-color-rgb: 33, 37, 41;
|
45
|
+
--bs-body-bg-rgb: 255, 255, 255;
|
46
|
+
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
47
|
+
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
48
|
+
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
|
49
|
+
--bs-body-font-family: var(--bs-font-sans-serif);
|
50
|
+
--bs-body-font-size: 1rem;
|
51
|
+
--bs-body-font-weight: 400;
|
52
|
+
--bs-body-line-height: 1.5;
|
53
|
+
--bs-body-color: #212529;
|
54
|
+
--bs-body-bg: #fff;
|
55
|
+
--bs-border-width: 1px;
|
56
|
+
--bs-border-style: solid;
|
57
|
+
--bs-border-color: #dee2e6;
|
58
|
+
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
|
59
|
+
--bs-border-radius: 0.375rem;
|
60
|
+
--bs-border-radius-sm: 0.25rem;
|
61
|
+
--bs-border-radius-lg: 0.5rem;
|
62
|
+
--bs-border-radius-xl: 1rem;
|
63
|
+
--bs-border-radius-2xl: 2rem;
|
64
|
+
--bs-border-radius-pill: 50rem;
|
65
|
+
--bs-code-color: #d63384;
|
66
|
+
--bs-highlight-bg: #fff3cd;
|
67
|
+
--bs-link-color: #008bbb;
|
68
|
+
--bs-link-hover-color: #ff8300;
|
69
|
+
--bs-link-color-rgb: 0, 139, 187;
|
70
|
+
--bs-link-hover-color-rgb: 255, 131, 0;
|
71
|
+
*/
|
72
|
+
|
73
|
+
}
|
@@ -82,6 +82,11 @@ License: https://github.com/coderedcorp/coderedcms/blob/dev/LICENSE
|
|
82
82
|
content: ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";
|
83
83
|
}
|
84
84
|
|
85
|
+
.leaders-dots {
|
86
|
+
border-bottom: 1px dotted currentColor;
|
87
|
+
margin-bottom: 5px;
|
88
|
+
}
|
89
|
+
|
85
90
|
.leaders span:first-child {
|
86
91
|
padding-right: 0.33em;
|
87
92
|
background: white;
|
@@ -248,13 +253,39 @@ License: https://github.com/coderedcorp/coderedcms/blob/dev/LICENSE
|
|
248
253
|
}
|
249
254
|
|
250
255
|
.-fixed-img-offset {
|
251
|
-
margin-top:
|
256
|
+
margin-top: 104px;
|
252
257
|
}
|
253
258
|
|
254
259
|
.-fixed-offset {
|
255
|
-
margin-top:
|
260
|
+
margin-top: 104px;
|
261
|
+
}
|
262
|
+
|
263
|
+
.cjkcms-navbar-center-fixed-img-offset {
|
264
|
+
margin-top: 175px;
|
265
|
+
}
|
266
|
+
|
267
|
+
.cjkcms-navbar-center-fixed-offset {
|
268
|
+
margin-top: 104px;
|
269
|
+
}
|
270
|
+
|
271
|
+
.cjkcms-navbar-center {
|
272
|
+
text-align: center;
|
273
|
+
}
|
274
|
+
|
275
|
+
.cjkcms-navbar-center .navbar-collapse {
|
276
|
+
justify-content: center;
|
277
|
+
}
|
278
|
+
|
279
|
+
.cjkcms-navbar-center .navbar-brand {
|
280
|
+
margin: 0;
|
281
|
+
}
|
282
|
+
|
283
|
+
.cjkcms-navbar-center .navbar-brand img {
|
284
|
+
height: 150px;
|
285
|
+
width: auto;
|
256
286
|
}
|
257
287
|
|
288
|
+
|
258
289
|
[class^="container"] [class^="container"] {
|
259
290
|
width: 100%;
|
260
291
|
padding: 0;
|
@@ -300,6 +331,11 @@ License: https://github.com/coderedcorp/coderedcms/blob/dev/LICENSE
|
|
300
331
|
border: gray 1px solid;
|
301
332
|
}
|
302
333
|
|
303
|
-
/*
|
304
|
-
|
305
|
-
|
334
|
+
/* this can be used to create a stretched-link with a hidden button */
|
335
|
+
.zero-sized {
|
336
|
+
opacity: 0;
|
337
|
+
overflow: hidden;
|
338
|
+
height: 0;
|
339
|
+
width: 0;
|
340
|
+
display: block;
|
341
|
+
}
|
@@ -15,7 +15,7 @@ CJK CMS based on CodeRed CMS
|
|
15
15
|
* This file must run with "pure" JavaScript - assume jQuery or any other
|
16
16
|
* scripts are not yet loaded.
|
17
17
|
*/
|
18
|
-
const
|
18
|
+
const cjkcms_libs = {
|
19
19
|
masonry: {
|
20
20
|
url: "https://cdn.jsdelivr.net/npm/masonry-layout@4.2.2/dist/masonry.pkgd.min.js",
|
21
21
|
integrity: "sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI=",
|
@@ -116,7 +116,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
|
116
116
|
|
117
117
|
/** Masonry **/
|
118
118
|
if (document.querySelectorAll("[data-masonry]").length > 0) {
|
119
|
-
load_script(
|
119
|
+
load_script(cjkcms_libs.masonry);
|
120
120
|
}
|
121
121
|
|
122
122
|
/** Film Strip Controls **/
|
Binary file
|
Binary file
|
Binary file
|