ultimate-jekyll-manager 0.0.198 → 0.0.200
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +3 -2
- package/README.md +0 -2
- package/TODO-ATTRIBUTION2.md +753 -0
- package/bin/ultimate-jekyll +1 -1
- package/dist/assets/js/core/auth.js +37 -32
- package/dist/assets/js/core/exit-popup.js +3 -0
- package/dist/assets/js/core/query-strings.js +16 -12
- package/dist/assets/js/libs/auth.js +12 -0
- package/dist/assets/js/libs/form-manager.js +1 -1
- package/dist/assets/js/pages/account/sections/api-keys.js +1 -4
- package/dist/assets/js/pages/account/sections/connections.js +11 -17
- package/dist/assets/js/pages/account/sections/delete.js +5 -15
- package/dist/assets/js/pages/account/sections/security.js +2 -6
- package/dist/assets/js/pages/admin/notifications/new/index.js +5 -16
- package/dist/assets/js/pages/download/index.js +3 -6
- package/dist/assets/js/pages/oauth2/index.js +5 -5
- package/dist/assets/js/pages/payment/checkout/modules/session.js +1 -1
- package/dist/assets/js/pages/token/index.js +1 -5
- package/dist/assets/themes/bootstrap/overrides/_avatars.scss +5 -1
- package/dist/assets/themes/bootstrap/overrides/_buttons-adaptive.scss +68 -55
- package/dist/assets/themes/bootstrap/overrides/_color-shades.scss +25 -0
- package/dist/assets/themes/bootstrap/overrides/_index.scss +1 -0
- package/dist/assets/themes/classy/css/components/_buttons.scss +1 -2
- package/dist/build.js +1 -1
- package/dist/defaults/dist/pages/test/libraries/bootstrap.html +7 -0
- package/dist/defaults/src/_config.yml +10 -6
- package/dist/gulp/tasks/defaults.js +1 -1
- package/dist/gulp/tasks/sass.js +4 -0
- package/package.json +13 -13
|
@@ -3,93 +3,66 @@
|
|
|
3
3
|
// =============================================================================
|
|
4
4
|
// Buttons that automatically flip between light/dark styles based on theme.
|
|
5
5
|
// These are universal utilities available to all UJ themes.
|
|
6
|
-
//
|
|
7
|
-
// so we use CSS custom properties directly.
|
|
6
|
+
// Uses CSS custom properties from _color-shades.scss for hover/active states.
|
|
8
7
|
|
|
9
8
|
// ============================================
|
|
10
|
-
//
|
|
9
|
+
// Solid Adaptive Buttons
|
|
11
10
|
// ============================================
|
|
12
|
-
|
|
11
|
+
// Dark button in light mode, light button in dark mode
|
|
12
|
+
.btn-adaptive {
|
|
13
13
|
--bs-btn-color: #fff;
|
|
14
14
|
--bs-btn-bg: var(--bs-dark);
|
|
15
15
|
--bs-btn-border-color: var(--bs-dark);
|
|
16
16
|
--bs-btn-hover-color: #fff;
|
|
17
|
-
--bs-btn-hover-bg:
|
|
18
|
-
--bs-btn-hover-border-color:
|
|
19
|
-
--bs-btn-focus-shadow-rgb: 66, 70, 73;
|
|
17
|
+
--bs-btn-hover-bg: var(--bs-dark-hover);
|
|
18
|
+
--bs-btn-hover-border-color: var(--bs-dark-active);
|
|
20
19
|
--bs-btn-active-color: #fff;
|
|
21
|
-
--bs-btn-active-bg:
|
|
22
|
-
--bs-btn-active-border-color:
|
|
23
|
-
--bs-btn-disabled-color: #fff;
|
|
24
|
-
--bs-btn-disabled-bg: var(--bs-dark);
|
|
25
|
-
--bs-btn-disabled-border-color: var(--bs-dark);
|
|
20
|
+
--bs-btn-active-bg: var(--bs-dark-active);
|
|
21
|
+
--bs-btn-active-border-color: var(--bs-dark-active);
|
|
26
22
|
}
|
|
27
23
|
|
|
28
|
-
|
|
24
|
+
[data-bs-theme="dark"] .btn-adaptive {
|
|
29
25
|
--bs-btn-color: #000;
|
|
30
26
|
--bs-btn-bg: var(--bs-light);
|
|
31
27
|
--bs-btn-border-color: var(--bs-light);
|
|
32
28
|
--bs-btn-hover-color: #000;
|
|
33
|
-
--bs-btn-hover-bg:
|
|
34
|
-
--bs-btn-hover-border-color:
|
|
35
|
-
--bs-btn-focus-shadow-rgb: 211, 212, 213;
|
|
29
|
+
--bs-btn-hover-bg: var(--bs-light-hover);
|
|
30
|
+
--bs-btn-hover-border-color: var(--bs-light-active);
|
|
36
31
|
--bs-btn-active-color: #000;
|
|
37
|
-
--bs-btn-active-bg:
|
|
38
|
-
--bs-btn-active-border-color:
|
|
39
|
-
--bs-btn-disabled-color: #000;
|
|
40
|
-
--bs-btn-disabled-bg: var(--bs-light);
|
|
41
|
-
--bs-btn-disabled-border-color: var(--bs-light);
|
|
32
|
+
--bs-btn-active-bg: var(--bs-light-active);
|
|
33
|
+
--bs-btn-active-border-color: var(--bs-light-active);
|
|
42
34
|
}
|
|
43
35
|
|
|
44
|
-
|
|
36
|
+
// ============================================
|
|
37
|
+
// Outline Adaptive Buttons
|
|
38
|
+
// ============================================
|
|
39
|
+
.btn-outline-adaptive {
|
|
45
40
|
--bs-btn-color: var(--bs-dark);
|
|
41
|
+
--bs-btn-bg: transparent;
|
|
46
42
|
--bs-btn-border-color: var(--bs-dark);
|
|
47
43
|
--bs-btn-hover-color: #fff;
|
|
48
44
|
--bs-btn-hover-bg: var(--bs-dark);
|
|
49
45
|
--bs-btn-hover-border-color: var(--bs-dark);
|
|
50
|
-
--bs-btn-focus-shadow-rgb: 33, 37, 41;
|
|
51
46
|
--bs-btn-active-color: #fff;
|
|
52
47
|
--bs-btn-active-bg: var(--bs-dark);
|
|
53
48
|
--bs-btn-active-border-color: var(--bs-dark);
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
|
|
50
|
+
color: var(--bs-body-color);
|
|
51
|
+
border-color: var(--bs-dark);
|
|
56
52
|
}
|
|
57
53
|
|
|
58
|
-
|
|
54
|
+
[data-bs-theme="dark"] .btn-outline-adaptive {
|
|
59
55
|
--bs-btn-color: var(--bs-light);
|
|
56
|
+
--bs-btn-bg: transparent;
|
|
60
57
|
--bs-btn-border-color: var(--bs-light);
|
|
61
58
|
--bs-btn-hover-color: #000;
|
|
62
59
|
--bs-btn-hover-bg: var(--bs-light);
|
|
63
60
|
--bs-btn-hover-border-color: var(--bs-light);
|
|
64
|
-
--bs-btn-focus-shadow-rgb: 248, 249, 250;
|
|
65
61
|
--bs-btn-active-color: #000;
|
|
66
62
|
--bs-btn-active-bg: var(--bs-light);
|
|
67
63
|
--bs-btn-active-border-color: var(--bs-light);
|
|
68
|
-
--bs-btn-disabled-color: var(--bs-light);
|
|
69
|
-
--bs-btn-disabled-border-color: var(--bs-light);
|
|
70
|
-
}
|
|
71
64
|
|
|
72
|
-
|
|
73
|
-
// Solid Adaptive Buttons
|
|
74
|
-
// ============================================
|
|
75
|
-
// Dark button in light mode, light button in dark mode
|
|
76
|
-
.btn-adaptive {
|
|
77
|
-
@include btn-dark-styles;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
[data-bs-theme="dark"] .btn-adaptive {
|
|
81
|
-
@include btn-light-styles;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// ============================================
|
|
85
|
-
// Outline Adaptive Buttons
|
|
86
|
-
// ============================================
|
|
87
|
-
.btn-outline-adaptive {
|
|
88
|
-
@include btn-outline-dark-styles;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
[data-bs-theme="dark"] .btn-outline-adaptive {
|
|
92
|
-
@include btn-outline-light-styles;
|
|
65
|
+
border-color: var(--bs-light);
|
|
93
66
|
}
|
|
94
67
|
|
|
95
68
|
// ============================================
|
|
@@ -97,19 +70,59 @@
|
|
|
97
70
|
// ============================================
|
|
98
71
|
// The opposite of adaptive - light in light mode, dark in dark mode
|
|
99
72
|
.btn-adaptive-inverse {
|
|
100
|
-
|
|
73
|
+
--bs-btn-color: #000;
|
|
74
|
+
--bs-btn-bg: var(--bs-light);
|
|
75
|
+
--bs-btn-border-color: var(--bs-light);
|
|
76
|
+
--bs-btn-hover-color: #000;
|
|
77
|
+
--bs-btn-hover-bg: var(--bs-light-hover);
|
|
78
|
+
--bs-btn-hover-border-color: var(--bs-light-active);
|
|
79
|
+
--bs-btn-active-color: #000;
|
|
80
|
+
--bs-btn-active-bg: var(--bs-light-active);
|
|
81
|
+
--bs-btn-active-border-color: var(--bs-light-active);
|
|
101
82
|
}
|
|
102
83
|
|
|
103
84
|
[data-bs-theme="dark"] .btn-adaptive-inverse {
|
|
104
|
-
|
|
85
|
+
--bs-btn-color: #fff;
|
|
86
|
+
--bs-btn-bg: var(--bs-dark);
|
|
87
|
+
--bs-btn-border-color: var(--bs-dark);
|
|
88
|
+
--bs-btn-hover-color: #fff;
|
|
89
|
+
--bs-btn-hover-bg: var(--bs-dark-hover);
|
|
90
|
+
--bs-btn-hover-border-color: var(--bs-dark-active);
|
|
91
|
+
--bs-btn-active-color: #fff;
|
|
92
|
+
--bs-btn-active-bg: var(--bs-dark-active);
|
|
93
|
+
--bs-btn-active-border-color: var(--bs-dark-active);
|
|
105
94
|
}
|
|
106
95
|
|
|
96
|
+
// ============================================
|
|
97
|
+
// Outline Inverse Adaptive Buttons
|
|
98
|
+
// ============================================
|
|
107
99
|
.btn-outline-adaptive-inverse {
|
|
108
|
-
|
|
100
|
+
--bs-btn-color: var(--bs-light);
|
|
101
|
+
--bs-btn-bg: transparent;
|
|
102
|
+
--bs-btn-border-color: var(--bs-light);
|
|
103
|
+
--bs-btn-hover-color: #000;
|
|
104
|
+
--bs-btn-hover-bg: var(--bs-light);
|
|
105
|
+
--bs-btn-hover-border-color: var(--bs-light);
|
|
106
|
+
--bs-btn-active-color: #000;
|
|
107
|
+
--bs-btn-active-bg: var(--bs-light);
|
|
108
|
+
--bs-btn-active-border-color: var(--bs-light);
|
|
109
|
+
|
|
110
|
+
color: var(--bs-body-color);
|
|
111
|
+
border-color: var(--bs-light);
|
|
109
112
|
}
|
|
110
113
|
|
|
111
114
|
[data-bs-theme="dark"] .btn-outline-adaptive-inverse {
|
|
112
|
-
|
|
115
|
+
--bs-btn-color: var(--bs-dark);
|
|
116
|
+
--bs-btn-bg: transparent;
|
|
117
|
+
--bs-btn-border-color: var(--bs-dark);
|
|
118
|
+
--bs-btn-hover-color: #fff;
|
|
119
|
+
--bs-btn-hover-bg: var(--bs-dark);
|
|
120
|
+
--bs-btn-hover-border-color: var(--bs-dark);
|
|
121
|
+
--bs-btn-active-color: #fff;
|
|
122
|
+
--bs-btn-active-bg: var(--bs-dark);
|
|
123
|
+
--bs-btn-active-border-color: var(--bs-dark);
|
|
124
|
+
|
|
125
|
+
border-color: var(--bs-dark);
|
|
113
126
|
}
|
|
114
127
|
|
|
115
128
|
// ============================================
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Color Shade CSS Custom Properties
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Provides hover/active shade variants for light and dark colors.
|
|
5
|
+
// These are used by adaptive buttons and can be reused elsewhere.
|
|
6
|
+
|
|
7
|
+
:root,
|
|
8
|
+
[data-bs-theme="light"] {
|
|
9
|
+
// Dark color shades (for hover/active states on dark buttons)
|
|
10
|
+
--bs-dark-hover: #3a3a44;
|
|
11
|
+
--bs-dark-active: #34343e;
|
|
12
|
+
|
|
13
|
+
// Light color shades (for hover/active states on light buttons)
|
|
14
|
+
--bs-light-hover: #d3d6db;
|
|
15
|
+
--bs-light-active: #c8ccd1;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
[data-bs-theme="dark"] {
|
|
19
|
+
// In dark mode, the values are the same but semantic meaning is swapped
|
|
20
|
+
--bs-dark-hover: #3a3a44;
|
|
21
|
+
--bs-dark-active: #34343e;
|
|
22
|
+
|
|
23
|
+
--bs-light-hover: #d3d6db;
|
|
24
|
+
--bs-light-active: #c8ccd1;
|
|
25
|
+
}
|
|
@@ -110,11 +110,10 @@
|
|
|
110
110
|
// Outline Button Overrides
|
|
111
111
|
// ============================================
|
|
112
112
|
[class*="btn-outline-"] {
|
|
113
|
-
background: transparent !important;
|
|
114
113
|
border-width: 2px !important;
|
|
115
114
|
border-style: solid !important;
|
|
116
115
|
|
|
117
|
-
&:not(:hover) {
|
|
116
|
+
&:not(:hover):not(:active):not(.active) {
|
|
118
117
|
background: transparent !important;
|
|
119
118
|
}
|
|
120
119
|
}
|
package/dist/build.js
CHANGED
|
@@ -3,7 +3,7 @@ const path = require('path');
|
|
|
3
3
|
const jetpack = require('fs-jetpack');
|
|
4
4
|
const fs = require('fs');
|
|
5
5
|
const JSON5 = require('json5');
|
|
6
|
-
const argv = require('yargs').argv;
|
|
6
|
+
const argv = require('yargs')(process.argv.slice(2)).parseSync();
|
|
7
7
|
const { force, execute } = require('node-powertools');
|
|
8
8
|
const yaml = require('js-yaml');
|
|
9
9
|
|
|
@@ -453,6 +453,13 @@ meta:
|
|
|
453
453
|
<button type="button" class="btn btn-outline-light">Light</button>
|
|
454
454
|
<button type="button" class="btn btn-outline-dark">Dark</button>
|
|
455
455
|
|
|
456
|
+
<h3 class="mt-4 mb-3">Adaptive Buttons (Theme-Aware)</h3>
|
|
457
|
+
<p class="text-muted">These buttons automatically adapt to light/dark mode. Use instead of btn-light/btn-dark.</p>
|
|
458
|
+
<button type="button" class="btn btn-adaptive">Adaptive</button>
|
|
459
|
+
<button type="button" class="btn btn-outline-adaptive">Outline Adaptive</button>
|
|
460
|
+
<button type="button" class="btn btn-adaptive-inverse">Adaptive Inverse</button>
|
|
461
|
+
<button type="button" class="btn btn-outline-adaptive-inverse">Outline Adaptive Inverse</button>
|
|
462
|
+
|
|
456
463
|
<h3 class="mt-4 mb-3">Button Sizes</h3>
|
|
457
464
|
<button type="button" class="btn btn-primary btn-lg">Large button</button>
|
|
458
465
|
<button type="button" class="btn btn-primary">Default button</button>
|
|
@@ -157,12 +157,9 @@ tracking:
|
|
|
157
157
|
meta-pixel: null
|
|
158
158
|
tiktok-pixel: null
|
|
159
159
|
|
|
160
|
-
#
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
safari-pinned-tab: "#5bbad5"
|
|
164
|
-
msapp-tile-color: "#da532c"
|
|
165
|
-
theme-color: "#ffffff"
|
|
160
|
+
# reCAPTCHA
|
|
161
|
+
recaptcha:
|
|
162
|
+
site-key: null
|
|
166
163
|
|
|
167
164
|
# Cloudflare
|
|
168
165
|
cloudflare:
|
|
@@ -191,6 +188,13 @@ extension:
|
|
|
191
188
|
edge: ""
|
|
192
189
|
brave: ""
|
|
193
190
|
|
|
191
|
+
# Favicon
|
|
192
|
+
favicon:
|
|
193
|
+
path: "https://cdn.itwcreativeworks.com/assets/itw-creative-works/images/favicon"
|
|
194
|
+
safari-pinned-tab: "#5bbad5"
|
|
195
|
+
msapp-tile-color: "#da532c"
|
|
196
|
+
theme-color: "#ffffff"
|
|
197
|
+
|
|
194
198
|
# Manifest
|
|
195
199
|
manifest:
|
|
196
200
|
name: ""
|
|
@@ -8,7 +8,7 @@ const path = require('path');
|
|
|
8
8
|
const { minimatch } = require('minimatch');
|
|
9
9
|
const { template } = require('node-powertools');
|
|
10
10
|
const createTemplateTransform = require('./utils/template-transform');
|
|
11
|
-
const argv = require('yargs').argv;
|
|
11
|
+
const argv = require('yargs')(process.argv.slice(2)).parseSync();
|
|
12
12
|
const JSON5 = require('json5');
|
|
13
13
|
|
|
14
14
|
// Load package
|
package/dist/gulp/tasks/sass.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultimate-jekyll-manager",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.200",
|
|
4
4
|
"description": "Ultimate Jekyll dependency manager",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
"lighthouse": "Removed from deps to avoid @sentry/core version conflicts with web-manager. Install globally: npm i -g lighthouse"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@babel/core": "^7.28.
|
|
64
|
-
"@babel/preset-env": "^7.28.
|
|
65
|
-
"@fullhuman/postcss-purgecss": "^
|
|
63
|
+
"@babel/core": "^7.28.6",
|
|
64
|
+
"@babel/preset-env": "^7.28.6",
|
|
65
|
+
"@fullhuman/postcss-purgecss": "^8.0.0",
|
|
66
66
|
"@minify-html/node": "^0.18.1",
|
|
67
67
|
"@octokit/rest": "^22.0.1",
|
|
68
68
|
"@popperjs/core": "^2.11.8",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"babel-loader": "^10.0.0",
|
|
72
72
|
"browser-sync": "^3.0.4",
|
|
73
73
|
"chalk": "^5.6.2",
|
|
74
|
-
"cheerio": "^1.
|
|
74
|
+
"cheerio": "^1.2.0",
|
|
75
75
|
"chrome-launcher": "^1.2.1",
|
|
76
76
|
"dotenv": "^17.2.3",
|
|
77
77
|
"fast-xml-parser": "^5.3.3",
|
|
@@ -84,25 +84,25 @@
|
|
|
84
84
|
"gulp-responsive-modern": "^1.0.0",
|
|
85
85
|
"gulp-sass": "^6.0.1",
|
|
86
86
|
"html-minifier-terser": "^7.2.0",
|
|
87
|
-
"html-validate": "^10.
|
|
87
|
+
"html-validate": "^10.7.0",
|
|
88
88
|
"itwcw-package-analytics": "^1.0.6",
|
|
89
|
-
"js-yaml": "^
|
|
89
|
+
"js-yaml": "^4.1.1",
|
|
90
90
|
"json5": "^2.2.3",
|
|
91
|
-
"libsodium-wrappers": "^0.
|
|
92
|
-
"lodash": "^4.17.
|
|
91
|
+
"libsodium-wrappers": "^0.8.2",
|
|
92
|
+
"lodash": "^4.17.23",
|
|
93
93
|
"minimatch": "^10.1.1",
|
|
94
94
|
"node-powertools": "^2.3.2",
|
|
95
95
|
"npm-api": "^1.0.1",
|
|
96
96
|
"postcss": "^8.5.6",
|
|
97
|
-
"prettier": "^3.
|
|
98
|
-
"sass": "^1.97.
|
|
97
|
+
"prettier": "^3.8.1",
|
|
98
|
+
"sass": "^1.97.3",
|
|
99
99
|
"spellchecker": "^3.7.1",
|
|
100
100
|
"through2": "^4.0.2",
|
|
101
|
-
"web-manager": "^4.1.
|
|
101
|
+
"web-manager": "^4.1.6",
|
|
102
102
|
"webpack": "^5.104.1",
|
|
103
103
|
"wonderful-fetch": "^1.3.4",
|
|
104
104
|
"wonderful-version": "^1.3.2",
|
|
105
|
-
"yargs": "^
|
|
105
|
+
"yargs": "^18.0.0"
|
|
106
106
|
},
|
|
107
107
|
"peerDependencies": {
|
|
108
108
|
"gulp": "^5.0.1"
|