ultimate-jekyll-manager 1.1.4 → 1.1.6

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/CHANGELOG.md CHANGED
@@ -14,6 +14,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
14
14
  - `Fixed` for any bug fixes.
15
15
  - `Security` in case of vulnerabilities.
16
16
 
17
+ ---
18
+ ## [1.1.6] - 2026-04-09
19
+ ### Changed
20
+ - Add `hover-flex` prebuilt animation class to pricing page billing cycle toggle (Monthly/Annually) for subtle scale-up on hover
21
+ - Update README and TODO docs to use `npx mgr` instead of `npx uj`
22
+ - Fix `[Billing] Cancel complete` log to read product ID from current account instead of undefined variable
23
+
24
+ ---
25
+ ## [1.1.5] - 2026-04-09
26
+ ### Changed
27
+ - Move pricing and feature limit values from layout frontmatter to default `_config.yml` under `web_manager.payment.products`, making the pricing page fully config-driven
28
+ - Add default `payment.products` array with 4 example plans (basic, plus, pro, max) including limits, prices, and trial config
29
+ - Handle boolean `true` config limits in feature value display (renders feature name only, check icon in comparison table)
30
+
17
31
  ---
18
32
  ## [1.1.4] - 2026-04-09
19
33
  ### Changed
package/README.md CHANGED
@@ -81,13 +81,13 @@ Here are some examples:
81
81
  ### Run the `audit` task:
82
82
  ```bash
83
83
  # Run the audit task
84
- npx uj audit
84
+ npx mgr audit
85
85
 
86
86
  # Run with a Lighthouse URL (defaults to "/" if not provided)
87
- npx uj audit -- --lighthouseUrl="/contact"
87
+ npx mgr audit -- --lighthouseUrl="/contact"
88
88
 
89
89
  # Add autoExit to continue developing and testing AFTER the audit
90
- npx uj audit -- --lighthouseUrl="/contact" --autoExit=false
90
+ npx mgr audit -- --lighthouseUrl="/contact" --autoExit=false
91
91
  ```
92
92
 
93
93
  ### Run the `translation` task:
@@ -96,14 +96,14 @@ npx uj audit -- --lighthouseUrl="/contact" --autoExit=false
96
96
  GH_TOKEN=XXX \
97
97
  GITHUB_REPOSITORY=XXX \
98
98
  UJ_TRANSLATION_CACHE=true \
99
- npx uj translation
99
+ npx mgr translation
100
100
 
101
101
  # Test with only 1 file
102
102
  UJ_TRANSLATION_ONLY="index.html" \
103
103
  GH_TOKEN=XXX \
104
104
  GITHUB_REPOSITORY=XXX \
105
105
  UJ_TRANSLATION_CACHE=true \
106
- npx uj translation
106
+ npx mgr translation
107
107
  ```
108
108
 
109
109
  ### Run the `imagemin` task:
@@ -113,10 +113,10 @@ Test image optimization with GitHub cache in development mode:
113
113
  GH_TOKEN=XXX \
114
114
  GITHUB_REPOSITORY=XXX \
115
115
  UJ_IMAGEMIN_CACHE=true \
116
- npx uj imagemin
116
+ npx mgr imagemin
117
117
 
118
118
  # Or run locally without cache
119
- npx uj imagemin
119
+ npx mgr imagemin
120
120
  ```
121
121
  The imagemin task will:
122
122
  - Process images from `src/assets/images/**/*.{jpg,jpeg,png}`
@@ -136,7 +136,7 @@ npm run prepare:watch
136
136
  ### Run the `blogify` task:
137
137
  Create 12 test blog posts in the `_posts` directory with the `blogify` task. This is useful for testing and development purposes.
138
138
  ```bash
139
- npx uj blogify
139
+ npx mgr blogify
140
140
  ```
141
141
 
142
142
  ## Page Frontmatter
package/TODO.md CHANGED
@@ -146,7 +146,7 @@ QUESTIONS
146
146
 
147
147
  - easy system for a main css, js, etc bundle BUT user can make page specific bundles
148
148
  - uncompiled should move everything inside it to css/images/js/vendor
149
- - make an update fn that will update UJ eith er in `npx uj setup` or a separate process
149
+ - make an update fn that will update UJ eith er in `npx mgr setup` or a separate process
150
150
 
151
151
  - we shoudl be able to MERGE site settings
152
152
  - so site is default, then merge layount, then merge page (each OVERWRITING the previous one)
@@ -366,7 +366,7 @@ MAYBE
366
366
  # - name: Run node build
367
367
  # # run: npm run build -- --buildLocation='server'
368
368
  # run: |
369
- # UJ_BUILD_MODE=true UJ_IS_SERVER=true node node_modules/ultimate-jekyll-manager/ensure-production-build.js && npx uj setup && npm run build
369
+ # UJ_BUILD_MODE=true UJ_IS_SERVER=true node node_modules/ultimate-jekyll-manager/ensure-production-build.js && npx mgr setup && npm run build
370
370
  # - name: Create build.json
371
371
  # run: |
372
372
  # export TZ=UTC date
@@ -401,7 +401,7 @@ MAYBE
401
401
  # with:
402
402
  # name: github-pages
403
403
 
404
- "deploy": "UJ_BUILD_MODE=true UJ_IS_SERVER=true npx uj setup && npm run build"
404
+ "deploy": "UJ_BUILD_MODE=true UJ_IS_SERVER=true npx mgr setup && npm run build"
405
405
 
406
406
 
407
407
  tempalte names
@@ -257,7 +257,7 @@ function setupCancellationForm() {
257
257
  throw new Error(response.message || 'Failed to cancel subscription. Please try again.');
258
258
  }
259
259
 
260
- console.log('[Billing] Cancel complete:', { isTrialCancel, productId });
260
+ console.log('[Billing] Cancel complete:', { isTrialCancel, productId: currentAccount?.subscription?.product?.id });
261
261
 
262
262
  if (isTrialCancel) {
263
263
  cancelFormManager.showSuccess('Your trial has been cancelled. You\'ve been moved to the free plan. You can subscribe again anytime.');
@@ -33,50 +33,37 @@ pricing:
33
33
  name: "Basic"
34
34
  tagline: "best for getting started"
35
35
  url: "/dashboard" # URL to get started
36
- pricing:
37
- monthly: 0
38
- annually: 0
39
36
  features:
40
- # Common features
37
+ # Common features (values resolve from _config.yml payment.products.limits)
41
38
  - id: "credits"
42
39
  name: "Credits"
43
- value: 10
44
40
  icon: "sparkles"
45
41
  - id: "exports"
46
42
  name: "Exports"
47
- value: "Watermarked"
48
43
  icon: "download"
49
44
  # Additional features
50
45
  - id: "storage"
51
46
  name: "Logo Storage"
52
- value: "7 days"
53
47
  icon: "clock"
54
48
 
55
49
  - id: "plus"
56
50
  name: "Plus"
57
51
  tagline: "best for individuals"
58
52
  url: null
59
- pricing:
60
- monthly: 28
61
- annually: 276 # Total annual price (~20% off monthly)
62
53
  features:
63
54
  # Common features
64
55
  - id: "credits"
65
56
  name: "Credits"
66
- value: 100
67
57
  icon: "sparkles"
68
58
  - id: "exports"
69
59
  name: "Exports"
70
- value: "Unlimited"
71
60
  icon: "download"
72
61
  # Additional features
73
62
  - id: "api_access"
74
63
  name: "API Access"
75
- value: "Full"
76
64
  icon: "code"
77
65
  - id: "priority_support"
78
66
  name: "Priority Support"
79
- value: "24/7"
80
67
  icon: "headset"
81
68
 
82
69
  - id: "pro"
@@ -84,18 +71,13 @@ pricing:
84
71
  tagline: "best for small businesses"
85
72
  url: null
86
73
  popular: true
87
- pricing:
88
- monthly: 50
89
- annually: 504 # Total annual price (~16% off monthly)
90
74
  features:
91
75
  # Common features
92
76
  - id: "credits"
93
77
  name: "Credits"
94
- value: 200
95
78
  icon: "sparkles"
96
79
  - id: "exports"
97
80
  name: "Exports"
98
- value: "Unlimited"
99
81
  icon: "download"
100
82
  # Additional features
101
83
 
@@ -103,27 +85,20 @@ pricing:
103
85
  name: "Max"
104
86
  tagline: "best for growing businesses"
105
87
  url: null
106
- pricing:
107
- monthly: 100
108
- annually: 960 # Total annual price (20% off monthly)
109
88
  features:
110
89
  # Common features
111
90
  - id: "credits"
112
91
  name: "Credits"
113
- value: 500
114
92
  icon: "sparkles"
115
93
  - id: "exports"
116
94
  name: "Exports"
117
- value: "Unlimited"
118
95
  icon: "download"
119
96
  # Additional features
120
97
  - id: "team_collaboration"
121
98
  name: "Team Collaboration"
122
- value: "Included"
123
99
  icon: "users"
124
100
  - id: "custom_branding"
125
101
  name: "Custom Branding"
126
- value: "Available"
127
102
  icon: "palette"
128
103
 
129
104
  # Feature Comparison Section
@@ -265,10 +240,10 @@ faqs:
265
240
  <div class="text-center mb-5">
266
241
  <div class="btn-group" role="group" aria-label="Billing toggle" data-lazy="@class animation-popup">
267
242
  <input type="radio" class="btn-check" name="billing" id="monthly" autocomplete="off" data-billing="monthly">
268
- <label class="btn btn-outline-adaptive rounded-start-pill" for="monthly">Monthly</label>
243
+ <label class="btn btn-outline-adaptive rounded-start-pill hover-flex" for="monthly">Monthly</label>
269
244
 
270
245
  <input type="radio" class="btn-check" name="billing" id="annually" autocomplete="off" checked data-billing="annually">
271
- <label class="btn btn-primary rounded-end-pill position-relative" for="annually">
246
+ <label class="btn btn-primary rounded-end-pill position-relative hover-flex" for="annually">
272
247
  Annually
273
248
  <!-- <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-primary">
274
249
  up to 20% off
@@ -530,7 +505,7 @@ faqs:
530
505
  <span>
531
506
  {% if _feature_value == "24/7" %}
532
507
  {{ _feature_value }}
533
- {% elsif _feature_value == "Included" or _feature_value == "Available" or _feature_value == "Full" %}
508
+ {% elsif _feature_value == true or _feature_value == "Included" or _feature_value == "Available" or _feature_value == "Full" %}
534
509
  <!-- No prefix for these values -->
535
510
  {% else %}
536
511
  {{ _feature_value | uj_commaify }}
@@ -597,7 +572,7 @@ faqs:
597
572
  <span>
598
573
  {% if _feature_value == "24/7" %}
599
574
  {{ _feature_value }}
600
- {% elsif _feature_value == "Included" or _feature_value == "Available" or _feature_value == "Full" %}
575
+ {% elsif _feature_value == true or _feature_value == "Included" or _feature_value == "Available" or _feature_value == "Full" %}
601
576
  <!-- No prefix for these values -->
602
577
  {% else %}
603
578
  {{ _feature_value | uj_commaify }}
@@ -144,7 +144,47 @@ web_manager:
144
144
  site: null
145
145
  coinbase:
146
146
  enabled: false
147
- products: []
147
+ products:
148
+ - id: basic
149
+ name: Basic
150
+ type: subscription
151
+ limits:
152
+ credits: 10
153
+ exports: "Watermarked"
154
+ storage: "7 days"
155
+ - id: plus
156
+ name: Plus
157
+ type: subscription
158
+ limits:
159
+ credits: 100
160
+ exports: -1
161
+ api_access: "Full"
162
+ priority_support: "24/7"
163
+ trial:
164
+ days: 14
165
+ prices:
166
+ monthly: 28
167
+ annually: 276
168
+ - id: pro
169
+ name: Pro
170
+ type: subscription
171
+ limits:
172
+ credits: 200
173
+ exports: -1
174
+ prices:
175
+ monthly: 50
176
+ annually: 504
177
+ - id: max
178
+ name: Max
179
+ type: subscription
180
+ limits:
181
+ credits: 500
182
+ exports: -1
183
+ team_collaboration: true
184
+ custom_branding: true
185
+ prices:
186
+ monthly: 100
187
+ annually: 960
148
188
 
149
189
  # OAuth2
150
190
  oauth2:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ultimate-jekyll-manager",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "Ultimate Jekyll dependency manager",
5
5
  "main": "dist/index.js",
6
6
  "exports": {