ultimate-jekyll-manager 0.0.96 → 0.0.98

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.
Files changed (71) hide show
  1. package/.playwright-mcp/page-2025-10-22T19-11-27-666Z.png +0 -0
  2. package/.playwright-mcp/page-2025-10-22T19-11-57-357Z.png +0 -0
  3. package/CLAUDE.md +42 -0
  4. package/README.md +66 -0
  5. package/_backup/checkout copy 2.html +392 -0
  6. package/_backup/checkout copy 3.html +376 -0
  7. package/_backup/checkout copy 4.html +365 -0
  8. package/_backup/checkout copy.html +331 -0
  9. package/_backup/checkout-semi.html +331 -0
  10. package/_backup/cover-old.html +55 -0
  11. package/dist/assets/css/core/bindings.scss +7 -2
  12. package/dist/assets/css/core/utilities.scss +9 -1
  13. package/dist/assets/css/pages/payment/checkout/index.scss +52 -7
  14. package/dist/assets/js/core/complete.js +56 -0
  15. package/dist/assets/js/core/initialize.js +11 -0
  16. package/dist/assets/js/pages/app/index.js +82 -43
  17. package/dist/assets/js/pages/download/index.js +0 -6
  18. package/dist/assets/js/pages/payment/checkout/index.js +58 -52
  19. package/dist/assets/js/pages/payment/checkout/modules/discount-bindings.js +51 -0
  20. package/dist/assets/js/pages/payment/checkout/modules/pricing.js +55 -30
  21. package/dist/assets/js/pages/payment/checkout/modules/state.js +68 -14
  22. package/dist/assets/js/pages/payment/checkout/modules/ui-bindings.js +160 -0
  23. package/dist/assets/js/pages/payment/checkout/modules/ui.js +27 -42
  24. package/dist/assets/js/pages/payment/confirmation/index.js +58 -53
  25. package/dist/assets/js/pages/payment/confirmation/modules/bindings.js +28 -0
  26. package/dist/assets/js/pages/payment/confirmation/modules/state.js +19 -0
  27. package/dist/assets/js/ultimate-jekyll-manager.js +6 -2
  28. package/dist/assets/themes/classy/css/base/_spacing.scss +27 -0
  29. package/dist/defaults/dist/{redirects/authentication/helpers/well-known-change-password.html → .well-known/change-password.html} +4 -1
  30. package/dist/defaults/dist/.well-known/security.txt +15 -0
  31. package/dist/defaults/dist/_includes/core/body.html +31 -0
  32. package/dist/defaults/dist/_includes/core/foot.html +35 -0
  33. package/dist/defaults/dist/_layouts/blueprint/app.html +1 -1
  34. package/dist/defaults/dist/_layouts/blueprint/payment/checkout.html +6 -1
  35. package/dist/defaults/dist/_layouts/blueprint/payment/confirmation.html +6 -1
  36. package/dist/defaults/dist/_layouts/core/root.html +1 -0
  37. package/dist/defaults/dist/_layouts/modules/utilities/redirect.html +42 -31
  38. package/dist/defaults/dist/_layouts/themes/classy/backend/core/base.html +0 -35
  39. package/dist/defaults/dist/_layouts/themes/classy/frontend/core/base.html +0 -34
  40. package/dist/defaults/dist/_layouts/themes/classy/frontend/core/cover.html +6 -9
  41. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/404.html +35 -44
  42. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/account/index.html +1 -1
  43. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/app.html +83 -0
  44. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/oauth2.html +42 -44
  45. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/reset.html +57 -59
  46. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/signin.html +67 -69
  47. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/signup.html +76 -78
  48. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/download.html +1 -4
  49. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/payment/checkout.html +291 -240
  50. package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/payment/confirmation.html +43 -47
  51. package/dist/defaults/dist/humans.txt +25 -0
  52. package/dist/defaults/dist/opensearch.xml +26 -0
  53. package/dist/defaults/dist/pages/test/account/dashboard.html +3 -0
  54. package/dist/defaults/dist/pages/test/index.md +2 -2
  55. package/dist/defaults/dist/pages/test/libraries/ads.html +3 -0
  56. package/dist/defaults/dist/pages/test/libraries/bootstrap-components.html +11 -2
  57. package/dist/defaults/dist/pages/test/libraries/cover.html +47 -0
  58. package/dist/defaults/dist/pages/test/libraries/error.html +3 -0
  59. package/dist/defaults/dist/pages/test/libraries/lazy-loading.html +3 -0
  60. package/dist/defaults/dist/pages/test/redirect/external.md +3 -0
  61. package/dist/defaults/dist/pages/test/redirect/internal.md +3 -0
  62. package/dist/defaults/dist/pages/test/translation/index.md +2 -2
  63. package/dist/defaults/dist/redirects/authentication/helpers/change-password.html +1 -1
  64. package/dist/defaults/dist/redirects/authentication/helpers/forgot.html +1 -1
  65. package/dist/defaults/dist/redirects/authentication/helpers/recover.html +1 -1
  66. package/dist/defaults/dist/redirects/authentication/helpers/reset-password.html +1 -1
  67. package/dist/defaults/dist/sitemap.html +112 -28
  68. package/dist/defaults/dist/sitemap.xml +6 -1
  69. package/firebase-debug.log +388 -0
  70. package/package.json +1 -1
  71. package/dist/assets/js/core/init.js +0 -36
@@ -6,71 +6,67 @@ layout: themes/[ site.theme.id ]/frontend/core/cover
6
6
  ---
7
7
 
8
8
  <!-- Confirmation Section -->
9
- <section>
10
- <div class="d-flex justify-content-center align-items-center flex-column">
11
- <div class="col-12 col-md-10 col-lg-8 col-xl-6">
9
+ <section class="col-12 col-md-10 col-lg-8 col-xl-6 mw-md">
10
+ <div class="card border-0 shadow-lg">
11
+ <div class="card-body p-3 p-md-5">
12
12
  <!-- Success Icon -->
13
13
  <div class="text-center mb-5">
14
14
  <div class="bg-success avatar avatar-xl rounded-circle d-inline-flex align-items-center justify-content-center mb-3">
15
15
  {% uj_icon "check", "fs-2 text-light" %}
16
16
  </div>
17
- <h1 class="h1 mb-3">Thank You for Your Purchase!</h1>
18
- <p class="fs-5 text-muted">Your order has been successfully processed.</p>
17
+ <h1 class="h2 mb-3">Thank You for Your Purchase!</h1>
18
+ <p class="text-muted">Your order has been successfully processed.</p>
19
19
  </div>
20
20
 
21
- <!-- Order Summary Card -->
22
- <div class="card border-0 shadow-sm mb-4">
23
- <div class="card-body p-4">
24
- <h4 class="fw-bold mb-3">Order Summary</h4>
21
+ <!-- Order Summary -->
22
+ <div class="mb-5">
23
+ <h4 class="fw-bold mb-3">Order Summary</h4>
25
24
 
26
- <div class="d-flex justify-content-between mb-3">
27
- <span class="text-muted">Order Number:</span>
28
- <span class="fw-semibold" id="order-number">Loading...</span>
29
- </div>
25
+ <div class="d-flex justify-content-between mb-3 wm-binding-skeleton" data-wm-bind="@show confirmation">
26
+ <span class="text-muted">Order Number:</span>
27
+ <span class="fw-semibold" data-wm-bind="@text confirmation.order.id">Loading...</span>
28
+ </div>
30
29
 
31
- <hr>
30
+ <hr>
32
31
 
33
- <div class="mb-0">
34
- <h6 class="fw-semibold mb-2" id="product-name">Loading...</h6>
35
- <div class="d-flex justify-content-between">
36
- <span class="text-muted">Total Paid:</span>
37
- <span class="fw-bold fs-5" id="total-paid">$--</span>
38
- </div>
32
+ <div class="mb-0 wm-binding-skeleton" data-wm-bind="@show confirmation">
33
+ <h6 class="fw-semibold mb-2" data-wm-bind="@text confirmation.order.productName">Loading...</h6>
34
+ <div class="d-flex justify-content-between">
35
+ <span class="text-muted">Total Paid:</span>
36
+ <span class="fw-bold fs-5" data-wm-bind="@text confirmation.order.total">$--</span>
39
37
  </div>
38
+ </div>
40
39
 
41
- <div id="subscription-info" class="d-none">
42
- <hr>
43
- <div class="alert alert-info mb-0">
44
- <p class="mb-0 small" id="billing-info"></p>
45
- </div>
40
+ <div data-wm-bind="@show confirmation.subscription.show" hidden>
41
+ <hr>
42
+ <div class="alert alert-info mb-0">
43
+ <p class="mb-0 small" data-wm-bind="@text confirmation.subscription.infoText"></p>
46
44
  </div>
47
45
  </div>
48
46
  </div>
49
47
 
50
48
  <!-- Next Steps -->
51
- <div class="card border-0 shadow-sm mb-4">
52
- <div class="card-body p-4">
53
- <h5 class="mb-3">What's Next?</h5>
54
- <div class="mb-0">
55
- <div class="d-flex mb-2">
56
- <div class="text-success me-3">{% uj_icon "check-circle" %}</div>
57
- <div>Check your email for the order confirmation and receipt</div>
58
- </div>
59
- <div class="d-flex mb-2">
60
- <div class="text-success me-3">{% uj_icon "check-circle" %}</div>
61
- <div>Access your purchase from your <a href="/account">account dashboard</a></div>
62
- </div>
63
- <div class="d-flex mb-2">
64
- <div class="text-success me-3">{% uj_icon "check-circle" %}</div>
65
- <div>If you have any questions, <a href="/contact">contact our support team</a></div>
66
- </div>
49
+ <div class="mb-4">
50
+ <h5 class="mb-3">What's Next?</h5>
51
+ <div class="mb-0">
52
+ <div class="d-flex mb-2">
53
+ <div class="text-success me-3">{% uj_icon "check-circle" %}</div>
54
+ <div>Check your email for the order confirmation and receipt</div>
55
+ </div>
56
+ <div class="d-flex mb-2">
57
+ <div class="text-success me-3">{% uj_icon "check-circle" %}</div>
58
+ <div>Access your purchase from your <a href="/account">account dashboard</a></div>
59
+ </div>
60
+ <div class="d-flex mb-2">
61
+ <div class="text-success me-3">{% uj_icon "check-circle" %}</div>
62
+ <div>If you have any questions, <a href="/contact">contact our support team</a></div>
67
63
  </div>
68
64
  </div>
69
65
  </div>
70
66
 
71
67
  <!-- Action Buttons -->
72
68
  <div class="d-flex flex-column flex-sm-row gap-3 justify-content-center">
73
- <a href="/account" class="btn btn-primary btn-lg w-100 w-sm-auto">
69
+ <a href="/account" class="btn btn-adaptive btn-lg w-100 w-sm-auto">
74
70
  {% uj_icon "user", "me-2" %}
75
71
  Go to Dashboard
76
72
  </a>
@@ -81,13 +77,13 @@ layout: themes/[ site.theme.id ]/frontend/core/cover
81
77
  </div>
82
78
 
83
79
  <!-- Support Section -->
84
- <div class="text-center mt-5 pt-5 border-top">
80
+ <div class="text-center mt-5 pt-4 border-top">
85
81
  <h5 class="mb-3">Need Help?</h5>
86
- <p class="text-muted mb-4">Our support team is here to assist you</p>
87
- <div class="d-flex justify-content-center gap-4">
88
- <a href="mailto:{{ site.brand.contact.email }}" class="text-decoration-none link-primary">
82
+ <p class="text-muted mb-2">Our support team is here to assist you</p>
83
+ <div class="d-flex flex-column flex-sm-row justify-content-center gap-3">
84
+ <a href="/contact" class="text-decoration-none link-primary">
89
85
  {% uj_icon "envelope", "me-2" %}
90
- <span>{{ site.brand.contact.email }}</span>
86
+ <span>Email us</span>
91
87
  </a>
92
88
  <a href="/contact" class="text-decoration-none link-primary">
93
89
  {% uj_icon "comments", "me-2" %}
@@ -0,0 +1,25 @@
1
+ ---
2
+ ### ALL PAGES ###
3
+ layout: null
4
+ permalink: /humans.txt
5
+
6
+ ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: false
9
+ ---
10
+ /* TEAM */
11
+ Website: {{ site.brand.name }}
12
+ Site: {{ site.url }}
13
+ Twitter: {{ site.brand.social.twitter }}
14
+ Location: {{ site.brand.location }}
15
+
16
+ /* THANKS */
17
+ Framework: Ultimate Jekyll
18
+ Built with: Jekyll, Bootstrap, Font Awesome
19
+ Hosting: Various
20
+
21
+ /* SITE */
22
+ Last update: {{ site.time | date: "%Y/%m/%d" }}
23
+ Standards: HTML5, CSS3, JavaScript ES6+
24
+ Components: Jekyll, Liquid, SCSS, Webpack
25
+ IDE: Visual Studio Code
@@ -0,0 +1,26 @@
1
+ ---
2
+ ### ALL PAGES ###
3
+ layout: null
4
+ permalink: /opensearch.xml
5
+
6
+ ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: false
9
+ ---
10
+
11
+ {% assign favicon-path = site.url | append: "/assets/images/favicon" %}
12
+ {%- iftruthy page.resolved.favicon.path -%}
13
+ {% assign favicon-path = page.resolved.favicon.path %}
14
+ {%- endiftruthy -%}
15
+
16
+ <?xml version="1.0" encoding="UTF-8"?>
17
+ <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
18
+ <ShortName>{{ site.brand.name }}</ShortName>
19
+ <Description>Search {{ site.brand.name }}</Description>
20
+ <InputEncoding>UTF-8</InputEncoding>
21
+ <Image width="16" height="16" type="image/x-icon">{{ favicon-path }}/favicon.ico?cb={{ site.uj.cache_breaker }}</Image>
22
+ <Image width="32" height="32" type="image/png">{{ favicon-path }}/favicon-32x32.png?cb={{ site.uj.cache_breaker }}</Image>
23
+ <Image width="64" height="64" type="image/png">{{ favicon-path }}/favicon-32x32.png?cb={{ site.uj.cache_breaker }}</Image>
24
+ <Url type="text/html" template="{{ site.url }}/search?q={searchTerms}"/>
25
+ <Url type="application/opensearchdescription+xml" rel="self" template="{{ site.url }}/opensearch.xml"/>
26
+ </OpenSearchDescription>
@@ -4,10 +4,13 @@ layout: themes/[ site.theme.id ]/frontend/core/minimal
4
4
  permalink: /test/account/dashboard
5
5
 
6
6
  ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: true
7
9
  meta:
8
10
  title: "Dashboard Account Test Page"
9
11
  description: "Test"
10
12
  breadcrumb: "Dashboard Test page"
13
+ index: false
11
14
 
12
15
  ### WEB MANAGER CONFIG ###
13
16
  web_manager:
@@ -3,14 +3,14 @@
3
3
  layout: themes/[ site.theme.id ]/frontend/core/minimal
4
4
  permalink: /test
5
5
 
6
+ ### REGULAR PAGES ###
6
7
  sitemap:
7
8
  include: true
8
-
9
- ### REGULAR PAGES ###
10
9
  meta:
11
10
  title: "Test Page"
12
11
  description: "This is a test page for the Ultimate Jekyll Manager."
13
12
  breadcrumb: "Test Page"
13
+ index: false
14
14
  ---
15
15
 
16
16
  This is a test page for the Ultimate Jekyll Manager. It is designed to demonstrate various features and functionalities of the system.
@@ -4,10 +4,13 @@ layout: themes/[ site.theme.id ]/frontend/core/base
4
4
  permalink: /test/libraries/ads
5
5
 
6
6
  ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: true
7
9
  meta:
8
10
  title: "AdSense Test Page"
9
11
  description: "Test page for demonstrating AdSense ad units"
10
12
  breadcrumb: "AdSense Test"
13
+ index: false
11
14
  ---
12
15
 
13
16
  <div class="container py-5">
@@ -1,7 +1,16 @@
1
1
  ---
2
+ ### ALL PAGES ###
2
3
  layout: themes/[ site.theme.id ]/frontend/core/base
3
- title: Bootstrap Components Test
4
- permalink: /test/libraries/bootstrap-components/
4
+ permalink: /test/libraries/bootstrap-components
5
+
6
+ ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: true
9
+ meta:
10
+ title: "Bootstrap Components Test Page"
11
+ description: "Test page for demonstrating Bootstrap components"
12
+ breadcrumb: "Bootstrap Components Test"
13
+ index: false
5
14
  ---
6
15
 
7
16
  <div class="container py-5">
@@ -0,0 +1,47 @@
1
+ ---
2
+ ### COVER LAYOUT ###
3
+ layout: themes/[ site.theme.id ]/frontend/core/cover
4
+ permalink: /test/libraries/cover
5
+ title: Cover Page Example
6
+ description: Example of a centered cover page layout
7
+ ---
8
+
9
+ <!-- Login Section - max-width keeps form dainty on larger screens -->
10
+ <section class="col-12 col-md-8 col-lg-6 col-xl-5 mw-sm">
11
+ <div class="card shadow">
12
+ <div class="card-body p-4">
13
+ <h2 class="text-center mb-4">Welcome Back</h2>
14
+ <form>
15
+ <div class="mb-3">
16
+ <label for="emailInput" class="form-label">Email address</label>
17
+ <input type="email" class="form-control" id="emailInput" placeholder="Enter email">
18
+ </div>
19
+ <div class="mb-3">
20
+ <label for="passwordInput" class="form-label">Password</label>
21
+ <input type="password" class="form-control" id="passwordInput" placeholder="Password">
22
+ </div>
23
+ <div class="mb-3 form-check">
24
+ <input type="checkbox" class="form-check-input" id="rememberCheck">
25
+ <label class="form-check-label" for="rememberCheck">
26
+ Remember me
27
+ </label>
28
+ </div>
29
+ <button type="submit" class="btn btn-primary w-100">Sign In</button>
30
+ <div class="text-center mt-3">
31
+ <small class="text-muted">
32
+ Don't have an account? <a href="#">Sign up</a>
33
+ </small>
34
+ </div>
35
+ </form>
36
+ </div>
37
+ </div>
38
+
39
+ <!-- Additional content to test scrolling behavior -->
40
+ <div class="mt-4 text-center">
41
+ <p class="text-muted">
42
+ <small>This layout centers content vertically and horizontally.</small><br>
43
+ <small>Use column classes with style="max-width: 540px;" to control form width.</small><br>
44
+ <small>If content exceeds viewport height, it scrolls naturally.</small>
45
+ </p>
46
+ </div>
47
+ </section>
@@ -4,10 +4,13 @@ layout: themes/[ site.theme.id ]/frontend/core/base
4
4
  permalink: /test/libraries/error
5
5
 
6
6
  ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: true
7
9
  meta:
8
10
  title: "Error Test Page"
9
11
  description: "Test page for demonstrating error handling"
10
12
  breadcrumb: "Error Test"
13
+ index: false
11
14
  ---
12
15
 
13
16
  <div class="container py-5">
@@ -4,10 +4,13 @@ layout: themes/[ site.theme.id ]/frontend/core/base
4
4
  permalink: /test/libraries/lazy-loading
5
5
 
6
6
  ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: true
7
9
  meta:
8
10
  title: "Lazy Loading Test Page"
9
11
  description: "Test page for demonstrating lazy loading functionality"
10
12
  breadcrumb: "Lazy Loading Test"
13
+ index: false
11
14
  ---
12
15
 
13
16
  <div class="container py-5">
@@ -4,10 +4,13 @@ layout: modules/utilities/redirect
4
4
  permalink: /test/redirect/external
5
5
 
6
6
  ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: true
7
9
  meta:
8
10
  title: "External Redirect Test Page"
9
11
  description: "This is a test External Redirect page for the Ultimate Jekyll Manager."
10
12
  breadcrumb: "External Redirect Test Page"
13
+ index: false
11
14
 
12
15
  redirect:
13
16
  url: "https://google.com"
@@ -4,10 +4,13 @@ layout: modules/utilities/redirect
4
4
  permalink: /test/redirect/internal
5
5
 
6
6
  ### REGULAR PAGES ###
7
+ sitemap:
8
+ include: true
7
9
  meta:
8
10
  title: "Internal Redirect Test Page"
9
11
  description: "This is a test Internal Redirect page for the Ultimate Jekyll Manager."
10
12
  breadcrumb: "Internal Redirect Test Page"
13
+ index: false
11
14
 
12
15
  redirect:
13
16
  url: "/test"
@@ -3,14 +3,14 @@
3
3
  layout: themes/[ site.theme.id ]/frontend/core/minimal
4
4
  permalink: /test/translation
5
5
 
6
+ ### REGULAR PAGES ###
6
7
  sitemap:
7
8
  include: true
8
-
9
- ### REGULAR PAGES ###
10
9
  meta:
11
10
  title: "Test Translation Page"
12
11
  description: "This is a test Translation page for the Ultimate Jekyll Manager."
13
12
  breadcrumb: "Test Translation Page"
13
+ index: false
14
14
 
15
15
  ### WEB MANAGER CONFIG ###
16
16
  web_manager:
@@ -5,5 +5,5 @@ permalink: /change-password
5
5
 
6
6
  ### REGULAR PAGES ###
7
7
  redirect:
8
- url: /reset?signout=true
8
+ url: /reset?authSignout=true
9
9
  ---
@@ -5,5 +5,5 @@ permalink: /forgot
5
5
 
6
6
  ### REGULAR PAGES ###
7
7
  redirect:
8
- url: /reset?signout=true
8
+ url: /reset?authSignout=true
9
9
  ---
@@ -5,5 +5,5 @@ permalink: /recover
5
5
 
6
6
  ### REGULAR PAGES ###
7
7
  redirect:
8
- url: /reset?signout=true
8
+ url: /reset?authSignout=true
9
9
  ---
@@ -5,5 +5,5 @@ permalink: /reset-password
5
5
 
6
6
  ### REGULAR PAGES ###
7
7
  redirect:
8
- url: /rest?signout=true
8
+ url: /rest?authSignout=true
9
9
  ---
@@ -1,38 +1,122 @@
1
1
  ---
2
2
  ### ALL PAGES ###
3
- layout: core/root
3
+ layout: themes/classy/frontend/core/minimal
4
4
  permalink: /sitemap
5
5
 
6
6
  ### REGULAR PAGES ###
7
+ sitemap:
8
+ # include: false
7
9
  meta:
8
- index: false
10
+ title: "Sitemap - {{ site.brand.name }}"
11
+ description: "This sitemap has been compiled to better serve those who are looking for a specific page on {{ site.brand.name }}."
12
+ breadcrumb: "Sitemap"
13
+ # index: false
9
14
 
10
- sitemap:
11
- include: false
15
+ ### WEB MANAGER CONFIG ###
16
+ web_manager:
17
+ exitPopup:
18
+ enabled: false
12
19
  ---
13
20
 
14
- <!DOCTYPE html>
15
- <html lang="en" dir="ltr">
16
- <head>
17
- <meta charset="utf-8">
18
- <title></title>
19
- </head>
20
- <body>
21
- {% for page in site.pages %}
22
- <!-- Skip reference pages -->
23
- {%- if page.url contains '/@reference' -%}
24
- {%- continue -%}
25
- {%- endif -%}
26
-
27
- <ul>
28
- <li>{{ page.url }}</li>
29
- <li>
30
- <ul>
31
- <li>{{ page.title }}</li>
32
- </ul>
33
- </li>
34
- </ul>
21
+ {% assign all_pages = site.pages %}
22
+ {% for collection in site.collections %}
23
+ {% assign all_pages = all_pages | concat: collection.docs %}
24
+ {% endfor %}
25
+
26
+ {% comment %} Build a hash of pages organized by their path segments {% endcomment %}
27
+ {% assign sitemap_sections = "" | split: "" %}
28
+ {% assign processed_paths = "" | split: "" %}
29
+
30
+ {% for page in all_pages %}
31
+ {%- if page.url contains '/_' -%}
32
+ {%- continue -%}
33
+ {%- endif -%}
34
+
35
+ {%- assign url_start = page.url | slice: 0, 5 -%}
36
+ {%- if url_start == '/test' -%}
37
+ {%- continue -%}
38
+ {%- endif -%}
39
+
40
+ {%- if page.layout contains 'redirect' -%}
41
+ {%- continue -%}
42
+ {%- endif -%}
43
+
44
+ {%- if page.resolved.sitemap.include == false or page.layout_data.sitemap.include == false -%}
45
+ {%- continue -%}
46
+ {%- endif -%}
47
+
48
+ {%- if page.url contains '.js' or page.url contains '.xml' or page.url contains '.json' -%}
49
+ {%- continue -%}
50
+ {%- endif -%}
51
+
52
+ {% assign url_parts = page.url | split: '/' %}
53
+ {% assign section_name = "Root Pages" %}
54
+
55
+ {% if url_parts.size > 2 %}
56
+ {% assign section_name = url_parts[1] | replace: '-', ' ' | replace: '_', ' ' | capitalize %}
57
+ {% endif %}
58
+
59
+ {% unless processed_paths contains section_name %}
60
+ {% assign processed_paths = processed_paths | push: section_name %}
61
+ {% endunless %}
62
+ {% endfor %}
35
63
 
36
- {%- endfor -%}
37
- </body>
38
- </html>
64
+ {% assign sorted_sections = processed_paths | sort %}
65
+
66
+ <div class="container py-5">
67
+ <div class="row justify-content-center">
68
+ <div class="col-12 col-lg-10">
69
+ <h1 class="mb-4">Sitemap</h1>
70
+ <p class="lead mb-5">Browse all pages on {{ site.brand.name }}</p>
71
+
72
+ {% for section in sorted_sections %}
73
+ <section class="mb-5">
74
+ <h2 class="h4 mb-3 pb-2 border-bottom">{{ section }}</h2>
75
+ <ul class="list-unstyled">
76
+ {% for page in all_pages %}
77
+ {%- if page.url contains '/@reference' or page.url contains '/_' -%}
78
+ {%- continue -%}
79
+ {%- endif -%}
80
+
81
+ {%- assign url_start = page.url | slice: 0, 5 -%}
82
+ {%- if url_start == '/test' -%}
83
+ {%- continue -%}
84
+ {%- endif -%}
85
+
86
+ {%- if page.layout contains 'redirect' -%}
87
+ {%- continue -%}
88
+ {%- endif -%}
89
+
90
+ {%- if page.resolved.sitemap.include == false or page.layout_data.sitemap.include == false -%}
91
+ {%- continue -%}
92
+ {%- endif -%}
93
+
94
+ {%- if page.url contains '.js' or page.url contains '.xml' or page.url contains '.json' -%}
95
+ {%- continue -%}
96
+ {%- endif -%}
97
+
98
+ {% assign url_parts = page.url | split: '/' %}
99
+ {% assign page_section = "Root Pages" %}
100
+
101
+ {% if url_parts.size > 2 %}
102
+ {% assign page_section = url_parts[1] | replace: '-', ' ' | replace: '_', ' ' | capitalize %}
103
+ {% endif %}
104
+
105
+ {% if page_section == section %}
106
+ {% assign page_title = page.title | default: page.meta.title | default: page.url %}
107
+ {% assign depth = url_parts.size | minus: 2 %}
108
+ {% if depth < 0 %}{% assign depth = 0 %}{% endif %}
109
+
110
+ <li class="mb-2" style="margin-left: {{ depth | times: 20 }}px;">
111
+ <a href="{{ page.url }}" class="text-decoration-none">
112
+ {{ page_title }}
113
+ </a>
114
+ </li>
115
+ {% endif %}
116
+ {% endfor %}
117
+ </ul>
118
+ </section>
119
+ {% endfor %}
120
+ </div>
121
+ </div>
122
+ </div>
@@ -23,7 +23,12 @@ sitemap:
23
23
  {% endfor %}
24
24
 
25
25
  {% for page in pages %}
26
- {%- if page.url contains '/@reference' or page.url contains '/_' -%}
26
+ {%- if page.url contains '/_' -%}
27
+ {%- continue -%}
28
+ {%- endif -%}
29
+
30
+ {%- assign url_start = page.url | slice: 0, 5 -%}
31
+ {%- if url_start == '/test' -%}
27
32
  {%- continue -%}
28
33
  {%- endif -%}
29
34