ultimate-jekyll-manager 0.0.181 → 0.0.183
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.md +21 -1
- package/README.md +20 -0
- package/dist/assets/js/core/exit-popup.js +5 -4
- package/dist/assets/js/modules/vert.js +11 -2
- package/dist/commands/setup.js +1 -1
- package/dist/defaults/dist/_includes/modules/adunits/promo-server.html +18 -0
- package/dist/defaults/dist/_layouts/themes/classy/admin/core/base.html +6 -0
- package/dist/defaults/dist/_layouts/themes/classy/admin/core/iframe.html +6 -0
- package/dist/defaults/dist/_layouts/themes/classy/admin/core/minimal.html +7 -0
- package/dist/defaults/dist/_layouts/themes/classy/backend/pages/dashboard/index.html +6 -0
- package/dist/defaults/dist/pages/test/account/dashboard.html +0 -2
- package/dist/defaults/dist/pages/test/index.md +1 -1
- package/dist/defaults/dist/pages/test/libraries/ads.html +1 -1
- package/dist/defaults/dist/pages/test/libraries/bootstrap.html +1 -1
- package/dist/defaults/dist/pages/test/libraries/cover.html +10 -3
- package/dist/defaults/dist/pages/test/libraries/error.html +1 -1
- package/dist/defaults/dist/pages/test/libraries/form-manager.html +10 -2
- package/dist/defaults/dist/pages/test/libraries/lazy-loading.html +1 -1
- package/dist/defaults/dist/pages/test/redirect/external.md +2 -1
- package/dist/defaults/dist/pages/test/redirect/internal.md +2 -1
- package/dist/defaults/dist/pages/test/translation/index.md +1 -1
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -814,6 +814,26 @@ fm.on('submit', async ({ data, $submitButton }) => {
|
|
|
814
814
|
|
|
815
815
|
Ultimate Jekyll uses three tracking platforms: Google Analytics (gtag), Facebook Pixel (fbq), and TikTok Pixel (ttq).
|
|
816
816
|
|
|
817
|
+
### ITM (Internal Tracking Medium)
|
|
818
|
+
|
|
819
|
+
Internal tracking system modeled after UTM for cross-property user journey tracking.
|
|
820
|
+
|
|
821
|
+
| Parameter | Purpose | Examples |
|
|
822
|
+
|-----------|---------|----------|
|
|
823
|
+
| `itm_source` | Platform/origin | `website`, `browser-extension`, `app`, `email` |
|
|
824
|
+
| `itm_medium` | Delivery mechanism | `modal`, `prompt`, `banner`, `tooltip` |
|
|
825
|
+
| `itm_campaign` | Specific campaign/feature | `exit-popup`, `premium-unlock`, `newsletter-signup` |
|
|
826
|
+
| `itm_content` | Specific context | Page path, feature ID, variant |
|
|
827
|
+
|
|
828
|
+
**Examples:**
|
|
829
|
+
```
|
|
830
|
+
# Website exit popup
|
|
831
|
+
?itm_source=website&itm_medium=modal&itm_campaign=exit-popup&itm_content=/pricing
|
|
832
|
+
|
|
833
|
+
# Extension premium unlock
|
|
834
|
+
?itm_source=browser-extension&itm_medium=prompt&itm_campaign=premium-unlock&itm_content=bulk-export
|
|
835
|
+
```
|
|
836
|
+
|
|
817
837
|
### Tracking Guidelines
|
|
818
838
|
|
|
819
839
|
**IMPORTANT Rules:**
|
|
@@ -892,7 +912,7 @@ The `<html>` element has data attributes for JavaScript/CSS targeting:
|
|
|
892
912
|
| `data-platform` | `windows`, `mac`, `linux`, `ios`, `android`, `chromeos`, `unknown` |
|
|
893
913
|
| `data-browser` | `chrome`, `firefox`, `safari`, `edge`, `opera`, `brave` |
|
|
894
914
|
| `data-device` | `mobile` (<768px), `tablet` (768-1199px), `desktop` (>=1200px) |
|
|
895
|
-
| `data-runtime` | `web`, `extension`, `electron`, `node` |
|
|
915
|
+
| `data-runtime` | `web`, `browser-extension`, `electron`, `node` |
|
|
896
916
|
| `aria-busy` | `true` (loading), `false` (ready) |
|
|
897
917
|
|
|
898
918
|
**Detection source:** `web-manager/src/modules/utilities.js`
|
package/README.md
CHANGED
|
@@ -607,6 +607,26 @@ formManager.ready(); // Now form is interactive
|
|
|
607
607
|
|
|
608
608
|
**Test Page:** Navigate to `/test/libraries/form-manager` to see FormManager in action with various configurations.
|
|
609
609
|
|
|
610
|
+
### ITM (Internal Tracking Medium)
|
|
611
|
+
|
|
612
|
+
Internal tracking system modeled after UTM for cross-property user journey tracking.
|
|
613
|
+
|
|
614
|
+
| Parameter | Purpose | Examples |
|
|
615
|
+
|-----------|---------|----------|
|
|
616
|
+
| `itm_source` | Platform/origin | `website`, `browser-extension`, `app`, `email` |
|
|
617
|
+
| `itm_medium` | Delivery mechanism | `modal`, `prompt`, `banner`, `tooltip` |
|
|
618
|
+
| `itm_campaign` | Specific campaign/feature | `exit-popup`, `premium-unlock`, `newsletter-signup` |
|
|
619
|
+
| `itm_content` | Specific context | Page path, feature ID, variant |
|
|
620
|
+
|
|
621
|
+
**Examples:**
|
|
622
|
+
```
|
|
623
|
+
# Website exit popup
|
|
624
|
+
?itm_source=website&itm_medium=modal&itm_campaign=exit-popup&itm_content=/pricing
|
|
625
|
+
|
|
626
|
+
# Extension premium unlock
|
|
627
|
+
?itm_source=browser-extension&itm_medium=prompt&itm_campaign=premium-unlock&itm_content=bulk-export
|
|
628
|
+
```
|
|
629
|
+
|
|
610
630
|
### Icons
|
|
611
631
|
* Fontawesome
|
|
612
632
|
* https://fontawesome.com/search
|
|
@@ -65,11 +65,12 @@ export default function (Manager, options) {
|
|
|
65
65
|
$buttonText.textContent = effectiveConfig.okButton.text;
|
|
66
66
|
}
|
|
67
67
|
if (effectiveConfig.okButton.link) {
|
|
68
|
-
// Add
|
|
68
|
+
// Add ITM parameters to track exit popup conversions
|
|
69
69
|
const url = new URL(effectiveConfig.okButton.link, window.location.origin);
|
|
70
|
-
url.searchParams.set('itm_source', '
|
|
71
|
-
url.searchParams.set('itm_medium', '
|
|
72
|
-
url.searchParams.set('itm_campaign',
|
|
70
|
+
url.searchParams.set('itm_source', 'website');
|
|
71
|
+
url.searchParams.set('itm_medium', 'modal');
|
|
72
|
+
url.searchParams.set('itm_campaign', 'exit-popup');
|
|
73
|
+
url.searchParams.set('itm_content', window.location.pathname);
|
|
73
74
|
$button.href = url.toString();
|
|
74
75
|
}
|
|
75
76
|
}
|
|
@@ -27,6 +27,8 @@ webManager.dom().ready().then(() => {
|
|
|
27
27
|
type: $currentScript.getAttribute('data-ad-type') || 'display',
|
|
28
28
|
layout: $currentScript.getAttribute('data-ad-layout'),
|
|
29
29
|
style: $currentScript.getAttribute('data-ad-style') || '',
|
|
30
|
+
size: $currentScript.getAttribute('data-ad-size') || '',
|
|
31
|
+
vertId: $currentScript.getAttribute('data-ad-vert-id') || '',
|
|
30
32
|
};
|
|
31
33
|
|
|
32
34
|
// Log the configuration for debugging
|
|
@@ -149,14 +151,21 @@ const createCustomAd = ($vertUnit, config) => {
|
|
|
149
151
|
const iframeId = `vert-${window.__ujVertIdCounter = (window.__ujVertIdCounter || 0) + 1}`;
|
|
150
152
|
|
|
151
153
|
// Build base URL for the ad content
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
// Use local server if debug=true OR if we're in development mode
|
|
155
|
+
const baseURL = (qsDebug || webManager.isDevelopment())
|
|
156
|
+
? `${window.location.protocol}//${window.location.host}/verts/main`
|
|
154
157
|
: 'https://promo-server.itwcreativeworks.com/verts/main';
|
|
155
158
|
|
|
156
159
|
// Build full URL with parameters
|
|
157
160
|
const adURL = new URL(baseURL);
|
|
158
161
|
adURL.searchParams.set('parentURL', window.location.href);
|
|
159
162
|
adURL.searchParams.set('frameId', iframeId);
|
|
163
|
+
if (config.size) {
|
|
164
|
+
adURL.searchParams.set('size', config.size);
|
|
165
|
+
}
|
|
166
|
+
if (config.vertId) {
|
|
167
|
+
adURL.searchParams.set('loadVertId', config.vertId);
|
|
168
|
+
}
|
|
160
169
|
|
|
161
170
|
// Set iframe attributes
|
|
162
171
|
$iframe.id = iframeId;
|
package/dist/commands/setup.js
CHANGED
|
@@ -174,7 +174,7 @@ async function updateManager() {
|
|
|
174
174
|
// Check if we need to update
|
|
175
175
|
if (!isUpToDate) {
|
|
176
176
|
// Quit if major version difference
|
|
177
|
-
if (levelDifference === 'major') {
|
|
177
|
+
if (levelDifference === 'major' && installedVersion !== 'latest') {
|
|
178
178
|
return logger.error(`Major version difference detected. Please update to ${latestVersion} manually.`);
|
|
179
179
|
}
|
|
180
180
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!-- Promo Server Ad Unit (Direct custom ads - no AdSense) -->
|
|
2
|
+
<!-- Usage: include modules/adunits/promo-server.html size="banner" vert-id="/verts/units/test/google" -->
|
|
3
|
+
|
|
4
|
+
{% assign vert-size = include.size | default: "" %}
|
|
5
|
+
{% assign vert-id = include.vert-id | default: "" %}
|
|
6
|
+
{% assign vert-style = include.style | default: "" %}
|
|
7
|
+
|
|
8
|
+
<div data-lazy='@script {
|
|
9
|
+
"src": "{{ site.url }}/assets/js/modules/vert.bundle.js?cb={{ site.uj.cache_breaker }}",
|
|
10
|
+
"attributes": {
|
|
11
|
+
"data-ad-type": "custom",
|
|
12
|
+
"data-ad-size": "{{ vert-size }}",
|
|
13
|
+
"data-ad-vert-id": "{{ vert-id }}",
|
|
14
|
+
"data-ad-style": "{{ vert-style }}",
|
|
15
|
+
"async": ""
|
|
16
|
+
}
|
|
17
|
+
}'>
|
|
18
|
+
</div>
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
###
|
|
2
|
+
### ALL PAGES ###
|
|
3
3
|
layout: themes/[ site.theme.id ]/frontend/core/cover
|
|
4
4
|
permalink: /test/libraries/cover
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
### REGULAR PAGES ###
|
|
7
|
+
sitemap:
|
|
8
|
+
include: false
|
|
9
|
+
meta:
|
|
10
|
+
title: "Cover Page Example"
|
|
11
|
+
description: "Example of a centered cover page layout"
|
|
12
|
+
breadcrumb: "Cover Page"
|
|
13
|
+
index: false
|
|
7
14
|
---
|
|
8
15
|
|
|
9
16
|
<!-- Login Section - max-width keeps form dainty on larger screens -->
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
+
### ALL PAGES ###
|
|
2
3
|
layout: themes/[ site.theme.id ]/frontend/core/base
|
|
3
|
-
title: FormManager Test
|
|
4
4
|
permalink: /test/libraries/form-manager
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
### REGULAR PAGES ###
|
|
7
|
+
sitemap:
|
|
8
|
+
include: false
|
|
9
|
+
meta:
|
|
10
|
+
title: "FormManager Test Page"
|
|
11
|
+
description: "Testing different configurations of the FormManager library."
|
|
12
|
+
breadcrumb: "FormManager Test"
|
|
13
|
+
index: false
|
|
6
14
|
---
|
|
7
15
|
|
|
8
16
|
<div class="container py-5">
|
|
@@ -5,13 +5,14 @@ permalink: /test/redirect/external
|
|
|
5
5
|
|
|
6
6
|
### REGULAR PAGES ###
|
|
7
7
|
sitemap:
|
|
8
|
-
include:
|
|
8
|
+
include: false
|
|
9
9
|
meta:
|
|
10
10
|
title: "External Redirect Test Page"
|
|
11
11
|
description: "This is a test External Redirect page for the Ultimate Jekyll Manager."
|
|
12
12
|
breadcrumb: "External Redirect Test Page"
|
|
13
13
|
index: false
|
|
14
14
|
|
|
15
|
+
### REDIRECT PAGES ###
|
|
15
16
|
redirect:
|
|
16
17
|
url: "https://google.com"
|
|
17
18
|
---
|
|
@@ -5,13 +5,14 @@ permalink: /test/redirect/internal
|
|
|
5
5
|
|
|
6
6
|
### REGULAR PAGES ###
|
|
7
7
|
sitemap:
|
|
8
|
-
include:
|
|
8
|
+
include: false
|
|
9
9
|
meta:
|
|
10
10
|
title: "Internal Redirect Test Page"
|
|
11
11
|
description: "This is a test Internal Redirect page for the Ultimate Jekyll Manager."
|
|
12
12
|
breadcrumb: "Internal Redirect Test Page"
|
|
13
13
|
index: false
|
|
14
14
|
|
|
15
|
+
### REDIRECT PAGES ###
|
|
15
16
|
redirect:
|
|
16
17
|
url: "/test"
|
|
17
18
|
---
|