ultimate-jekyll-manager 1.0.21 → 1.0.22
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
|
@@ -15,6 +15,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
|
15
15
|
- `Security` in case of vulnerabilities.
|
|
16
16
|
|
|
17
17
|
---
|
|
18
|
+
## [1.0.22] - 2026-04-05
|
|
19
|
+
### Changed
|
|
20
|
+
- Bump web-manager from ^4.1.36 to ^4.1.37
|
|
21
|
+
- Bump dotenv from ^17.4.0 to ^17.4.1
|
|
22
|
+
- Bump html-validate from ^10.11.2 to ^10.11.3
|
|
23
|
+
|
|
18
24
|
## [1.0.21] - 2026-04-03
|
|
19
25
|
### Fixed
|
|
20
26
|
- Disable cache breaker on Slapform contact form fetch to prevent appending cache-busting query params to POST request
|
package/TODO-themes.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
I want you to COMPLETELY REDESIGN CLASSY'S THEME. You are creating a WHIOLE NEW theme for a SaaS website.
|
|
2
|
+
|
|
3
|
+
HTML
|
|
4
|
+
/Users/ian/Developer/Repositories/ITW-Creative-Works/ultimate-jekyll-manager/src/defaults/dist/_layouts/themes/classy/frontend/pages
|
|
5
|
+
|
|
6
|
+
INCLUDES
|
|
7
|
+
/Users/ian/Developer/Repositories/ITW-Creative-Works/ultimate-jekyll-manager/src/defaults/dist/_includes/themes/classy
|
|
8
|
+
|
|
9
|
+
THEME JS,CSS, ETC
|
|
10
|
+
/Users/ian/Developer/Repositories/ITW-Creative-Works/ultimate-jekyll-manager/src/assets/themes/classy
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
So when you make your NEW theme, you should COPY THIS STRUCTURE, but with your NEW THEME NAME
|
|
14
|
+
|
|
15
|
+
It should primarily be darkmopde, but support light mode as well. THe design should be WARM, MODERN, SIMPLE, BUT PROFESSIONAL.
|
|
16
|
+
|
|
17
|
+
For the purposes of testing this theme, you only need to make the following pages
|
|
18
|
+
|
|
19
|
+
index
|
|
20
|
+
pricing
|
|
21
|
+
signup + signin
|
|
22
|
+
account
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
Today i want you to build a new theme for our framework, ultimate jekyll.
|
|
26
|
+
|
|
27
|
+
See the consuming project which has the theme set in config
|
|
28
|
+
/Users/ian/Developer/Repositories/ITW-Creative-Works/ultimate-jekyll-website/src/_config.yml
|
|
29
|
+
|
|
30
|
+
here is a page that uses the BLUEPRINT
|
|
31
|
+
/Users/ian/Developer/Repositories/ITW-Creative-Works/ultimate-jekyll-website/src/pages/index.md
|
|
32
|
+
|
|
33
|
+
WHICH IS THIS
|
|
34
|
+
/Users/ian/Developer/Repositories/ITW-Creative-Works/ultimate-jekyll-manager/src/defaults/dist/_layouts/blueprint/index.html
|
package/TODO.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Authorized Fetch - Wrapper for wonderful-fetch with Firebase Authentication
|
|
2
2
|
import fetch from 'wonderful-fetch';
|
|
3
|
+
import webManager from 'web-manager';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
|
-
* Makes an authorized API request with Firebase token
|
|
6
|
+
* Makes an authorized API request with Firebase token.
|
|
7
|
+
* Automatically extracts usage data from bm-properties response header
|
|
8
|
+
* and updates webManager bindings so data-wm-bind elements stay in sync.
|
|
9
|
+
*
|
|
6
10
|
* @param {string} url - The API endpoint URL
|
|
7
11
|
* @param {Object} options - Request options for wonderful-fetch
|
|
8
12
|
* @returns {Promise} - The response from the API
|
|
@@ -31,8 +35,51 @@ export async function authorizedFetch(url, options = {}) {
|
|
|
31
35
|
requestOptions.headers['Authorization'] = `Bearer ${idToken}`;
|
|
32
36
|
}
|
|
33
37
|
|
|
38
|
+
// Override to 'complete' so we can always read response headers
|
|
39
|
+
const callerWantsComplete = requestOptions.output === 'complete';
|
|
40
|
+
requestOptions.output = 'complete';
|
|
41
|
+
|
|
34
42
|
// Make the request using wonderful-fetch
|
|
35
|
-
|
|
43
|
+
const response = await fetch(url, requestOptions);
|
|
44
|
+
|
|
45
|
+
// Sync usage from bm-properties header into bindings
|
|
46
|
+
_syncUsageFromHeaders(response.headers);
|
|
47
|
+
|
|
48
|
+
// Return full response if caller requested it, otherwise just the body
|
|
49
|
+
return callerWantsComplete ? response : response.body;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Sync usage data from bm-properties response header into the top-level
|
|
54
|
+
* `usage` bindings key (same key web-manager seeds on auth settle).
|
|
55
|
+
*
|
|
56
|
+
* Merges fresh usage counters + limits so the structure becomes:
|
|
57
|
+
* { credits: { monthly: 5, daily: 2, limit: 100 } }
|
|
58
|
+
*/
|
|
59
|
+
function _syncUsageFromHeaders(headers) {
|
|
60
|
+
const bmProps = headers?.['bm-properties'];
|
|
61
|
+
if (!bmProps?.usage) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const { current, limits } = bmProps.usage;
|
|
66
|
+
if (!current) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Get existing usage context and merge fresh data
|
|
71
|
+
const existing = webManager.bindings().getContext().usage || {};
|
|
72
|
+
const usage = { ...existing };
|
|
73
|
+
|
|
74
|
+
for (const key of Object.keys(current)) {
|
|
75
|
+
usage[key] = {
|
|
76
|
+
...existing[key],
|
|
77
|
+
...current[key],
|
|
78
|
+
limit: limits?.[key] || 0,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
webManager.bindings().update({ usage });
|
|
36
83
|
}
|
|
37
84
|
|
|
38
85
|
// Export default
|
|
@@ -3,6 +3,7 @@ import { state, buildBindingsState } from './modules/state.js';
|
|
|
3
3
|
import { trackPurchaseIfNeeded } from './modules/tracking.js';
|
|
4
4
|
import { triggerCelebration } from './modules/celebration.js';
|
|
5
5
|
import webManager from 'web-manager';
|
|
6
|
+
|
|
6
7
|
/* Test URL
|
|
7
8
|
https://localhost:3000/payment/confirmation?orderId=ORD-TRIAL-123&productId=pro&productName=Pro%20Plan&amount=0¤cy=USD&frequency=annually&paymentMethod=stripe&trial=true&track=true
|
|
8
9
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultimate-jekyll-manager",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.22",
|
|
4
4
|
"description": "Ultimate Jekyll dependency manager",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"chart.js": "^4.5.1",
|
|
79
79
|
"cheerio": "^1.2.0",
|
|
80
80
|
"chrome-launcher": "^1.2.1",
|
|
81
|
-
"dotenv": "^17.4.
|
|
81
|
+
"dotenv": "^17.4.1",
|
|
82
82
|
"fast-xml-parser": "^5.5.10",
|
|
83
83
|
"fs-jetpack": "^5.1.0",
|
|
84
84
|
"glob": "^13.0.6",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"gulp-responsive-modern": "^1.0.0",
|
|
90
90
|
"gulp-sass": "^6.0.1",
|
|
91
91
|
"html-minifier-terser": "^7.2.0",
|
|
92
|
-
"html-validate": "^10.11.
|
|
92
|
+
"html-validate": "^10.11.3",
|
|
93
93
|
"itwcw-package-analytics": "^1.0.8",
|
|
94
94
|
"js-yaml": "^4.1.1",
|
|
95
95
|
"json5": "^2.2.3",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"sass": "^1.99.0",
|
|
105
105
|
"spellchecker": "^3.7.1",
|
|
106
106
|
"through2": "^4.0.2",
|
|
107
|
-
"web-manager": "^4.1.
|
|
107
|
+
"web-manager": "^4.1.37",
|
|
108
108
|
"webpack": "^5.105.4",
|
|
109
109
|
"wonderful-fetch": "^2.0.4",
|
|
110
110
|
"wonderful-version": "^1.3.2",
|