@eox/pages-theme-eox 2.0.0-alpha.1 → 2.0.0-alpha.10
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/.gitlab-ci.yml +4 -1
- package/README.md +75 -11
- package/cypress/support/mocks/authors.data.js +14 -0
- package/cypress/support/mocks/helpers.js +65 -4
- package/cypress.config.js +9 -0
- package/package.json +3 -1
- package/src/Layout.vue +14 -3
- package/src/components/BlogList.vue +74 -55
- package/src/components/BlogPost.vue +46 -24
- package/src/components/CTASection.vue +18 -4
- package/src/components/FeatureCard/Index.vue +113 -26
- package/src/components/FeatureCard/Poster.vue +25 -3
- package/src/components/FeatureSection.cy.js +16 -0
- package/src/components/FeatureSection.vue +3 -8
- package/src/components/FeaturesGallery.vue +34 -2
- package/src/components/Footer.cy.js +52 -2
- package/src/components/Footer.vue +17 -5
- package/src/components/HeroSection.cy.js +20 -0
- package/src/components/HeroSection.vue +139 -24
- package/src/components/ImageCarousel.vue +11 -2
- package/src/components/ImageElement.vue +16 -4
- package/src/components/ImageGallery.vue +29 -4
- package/src/components/LogoSection.vue +26 -3
- package/src/components/MobileNavDropdown.vue +13 -3
- package/src/components/NavBar.cy.js +15 -0
- package/src/components/NavBar.vue +149 -21
- package/src/components/NavDropdown.vue +12 -2
- package/src/components/OpenPositions.vue +292 -0
- package/src/components/TagList.vue +32 -14
- package/src/components/TeamPage.vue +34 -20
- package/src/components/TestimonialsSection.cy.js +2 -5
- package/src/components/TestimonialsSection.vue +119 -16
- package/src/components/TextSection.cy.js +115 -0
- package/src/components/TextSection.vue +396 -0
- package/src/helpers.js +182 -37
- package/src/helpers.test.js +181 -0
- package/src/index.js +4 -0
- package/src/pages/author/[author].md +1 -0
- package/src/pages/author/[author].paths.js +2 -2
- package/src/pages/blog.md +1 -0
- package/src/pages/tag/[tag].md +1 -0
- package/src/pages/tag.md +1 -0
- package/src/pages/team.md +2 -1
- package/src/posts.data.js +39 -1
- package/src/style.css +232 -11
- package/src/tagUtils.js +5 -5
- package/src/vitepressConfig.mjs +6 -3
package/src/style.css
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
:root {
|
|
4
4
|
--vp-nav-height: 58px;
|
|
5
|
+
--vp-nav-logo-height: 28px;
|
|
5
6
|
}
|
|
6
7
|
:root:has(.top-nav.at-top) {
|
|
7
8
|
--vp-nav-height: 90px;
|
|
@@ -49,6 +50,11 @@ body {
|
|
|
49
50
|
transition: padding-top 0.3s ease-in-out;
|
|
50
51
|
}
|
|
51
52
|
|
|
53
|
+
main {
|
|
54
|
+
padding: 0 !important;
|
|
55
|
+
margin: 0 !important;
|
|
56
|
+
}
|
|
57
|
+
|
|
52
58
|
*:has(> nav.top:not(.s, .m, .l)) {
|
|
53
59
|
padding-block-start: 0;
|
|
54
60
|
}
|
|
@@ -92,6 +98,85 @@ body {
|
|
|
92
98
|
margin-block-end: 0 !important;
|
|
93
99
|
}
|
|
94
100
|
|
|
101
|
+
.layout-blog .cta-section {
|
|
102
|
+
margin-block-end: 0 !important;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* When a section follows a title (title plus section combination), eliminate start padding */
|
|
106
|
+
:is(
|
|
107
|
+
h1,
|
|
108
|
+
h2,
|
|
109
|
+
h3,
|
|
110
|
+
h4,
|
|
111
|
+
h5,
|
|
112
|
+
h6,
|
|
113
|
+
header,
|
|
114
|
+
.section-header-group,
|
|
115
|
+
[class*="section-title"]
|
|
116
|
+
)
|
|
117
|
+
+ section,
|
|
118
|
+
:is(
|
|
119
|
+
h1,
|
|
120
|
+
h2,
|
|
121
|
+
h3,
|
|
122
|
+
h4,
|
|
123
|
+
h5,
|
|
124
|
+
h6,
|
|
125
|
+
header,
|
|
126
|
+
.section-header-group,
|
|
127
|
+
[class*="section-title"]
|
|
128
|
+
)
|
|
129
|
+
+ :not(section, hr)
|
|
130
|
+
+ section,
|
|
131
|
+
:is(
|
|
132
|
+
h1,
|
|
133
|
+
h2,
|
|
134
|
+
h3,
|
|
135
|
+
h4,
|
|
136
|
+
h5,
|
|
137
|
+
h6,
|
|
138
|
+
header,
|
|
139
|
+
.section-header-group,
|
|
140
|
+
[class*="section-title"]
|
|
141
|
+
)
|
|
142
|
+
+ :not(section, hr)
|
|
143
|
+
+ :not(section, hr)
|
|
144
|
+
+ section,
|
|
145
|
+
:is(
|
|
146
|
+
h1,
|
|
147
|
+
h2,
|
|
148
|
+
h3,
|
|
149
|
+
h4,
|
|
150
|
+
h5,
|
|
151
|
+
h6,
|
|
152
|
+
header,
|
|
153
|
+
.section-header-group,
|
|
154
|
+
[class*="section-title"]
|
|
155
|
+
)
|
|
156
|
+
+ :not(section, hr)
|
|
157
|
+
+ :not(section, hr)
|
|
158
|
+
+ :not(section, hr)
|
|
159
|
+
+ section,
|
|
160
|
+
:is(
|
|
161
|
+
h1,
|
|
162
|
+
h2,
|
|
163
|
+
h3,
|
|
164
|
+
h4,
|
|
165
|
+
h5,
|
|
166
|
+
h6,
|
|
167
|
+
header,
|
|
168
|
+
.section-header-group,
|
|
169
|
+
[class*="section-title"]
|
|
170
|
+
)
|
|
171
|
+
+ :not(section, hr)
|
|
172
|
+
+ :not(section, hr)
|
|
173
|
+
+ :not(section, hr)
|
|
174
|
+
+ :not(section, hr)
|
|
175
|
+
+ section {
|
|
176
|
+
padding-block-start: 0 !important;
|
|
177
|
+
padding-top: 0 !important;
|
|
178
|
+
}
|
|
179
|
+
|
|
95
180
|
.VPHome .vp-doc a {
|
|
96
181
|
font-weight: 400;
|
|
97
182
|
color: inherit;
|
|
@@ -149,7 +234,8 @@ footer {
|
|
|
149
234
|
margin-top: 0 !important;
|
|
150
235
|
position: relative;
|
|
151
236
|
z-index: var(--vp-z-index-footer);
|
|
152
|
-
background: var(--surface-container-
|
|
237
|
+
background: var(--surface-container-lowest);
|
|
238
|
+
border-top: 1px solid var(--vp-c-divider, rgba(0, 0, 0, 0.08));
|
|
153
239
|
}
|
|
154
240
|
|
|
155
241
|
/**/
|
|
@@ -174,14 +260,24 @@ button.text:hover,
|
|
|
174
260
|
}
|
|
175
261
|
}
|
|
176
262
|
|
|
177
|
-
.
|
|
263
|
+
.hero-gradient-bg {
|
|
178
264
|
/*Fallback*/
|
|
179
|
-
background:
|
|
180
|
-
background:
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
var(--primary)
|
|
184
|
-
|
|
265
|
+
background: #000c14;
|
|
266
|
+
background: linear-gradient(
|
|
267
|
+
180deg,
|
|
268
|
+
#000c14 0%,
|
|
269
|
+
var(--primary, #004170) 100%
|
|
270
|
+
) !important;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.primary-gradient-bg,
|
|
274
|
+
.dark-section-gradient-bg {
|
|
275
|
+
/*Fallback*/
|
|
276
|
+
background: #000c14;
|
|
277
|
+
background: linear-gradient(
|
|
278
|
+
180deg,
|
|
279
|
+
var(--primary, #004170) 0%,
|
|
280
|
+
#000c14 100%
|
|
185
281
|
) !important;
|
|
186
282
|
}
|
|
187
283
|
|
|
@@ -365,7 +461,7 @@ eox-feedback-button {
|
|
|
365
461
|
margin-inline: auto;
|
|
366
462
|
padding-block-start: 66px; /* Exactly 156px from top of viewport (90px navbar + 66px padding) */
|
|
367
463
|
padding-block-end: 96px;
|
|
368
|
-
padding-inline:
|
|
464
|
+
padding-inline: 24px;
|
|
369
465
|
}
|
|
370
466
|
|
|
371
467
|
/* Remove double inner padding on custom layout elements to ensure absolute alignment */
|
|
@@ -374,7 +470,11 @@ eox-feedback-button {
|
|
|
374
470
|
}
|
|
375
471
|
|
|
376
472
|
/* Constrain standard reading elements to 1000px max-width, while letting full-width custom page components span 1200px */
|
|
377
|
-
.layout-page
|
|
473
|
+
.layout-page
|
|
474
|
+
.VPPage
|
|
475
|
+
> div
|
|
476
|
+
> div
|
|
477
|
+
> :is(p, ul, ol, blockquote, h1, h2, h3, h4, h5, h6, pre, table) {
|
|
378
478
|
max-width: 1000px;
|
|
379
479
|
margin-inline-start: 0;
|
|
380
480
|
margin-inline-end: auto;
|
|
@@ -473,7 +573,9 @@ eox-feedback-button {
|
|
|
473
573
|
text-decoration: underline;
|
|
474
574
|
text-underline-offset: 3px;
|
|
475
575
|
text-decoration-thickness: 1px;
|
|
476
|
-
transition:
|
|
576
|
+
transition:
|
|
577
|
+
color 0.2s ease,
|
|
578
|
+
text-decoration-color 0.2s ease;
|
|
477
579
|
}
|
|
478
580
|
|
|
479
581
|
.layout-page .VPPage a:not(.button):hover {
|
|
@@ -505,3 +607,122 @@ eox-feedback-button {
|
|
|
505
607
|
overflow-x: auto;
|
|
506
608
|
}
|
|
507
609
|
|
|
610
|
+
/* Local Search styles overrides */
|
|
611
|
+
.VPLocalSearchBox .search-actions button {
|
|
612
|
+
height: 36px !important;
|
|
613
|
+
width: 36px !important;
|
|
614
|
+
min-width: 0 !important;
|
|
615
|
+
max-width: none !important;
|
|
616
|
+
border-radius: 50% !important;
|
|
617
|
+
padding: 0 !important;
|
|
618
|
+
display: inline-flex !important;
|
|
619
|
+
align-items: center !important;
|
|
620
|
+
justify-content: center !important;
|
|
621
|
+
border: none !important;
|
|
622
|
+
background: transparent !important;
|
|
623
|
+
box-shadow: none !important;
|
|
624
|
+
color: var(--vp-c-text-2) !important;
|
|
625
|
+
transition:
|
|
626
|
+
background-color 0.15s,
|
|
627
|
+
color 0.15s !important;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
.VPLocalSearchBox .search-actions button:not([disabled]):hover {
|
|
631
|
+
background-color: var(--vp-c-default-soft) !important;
|
|
632
|
+
color: var(--vp-c-brand-1) !important;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
.VPLocalSearchBox .search-actions button:disabled {
|
|
636
|
+
opacity: 0.37 !important;
|
|
637
|
+
background: transparent !important;
|
|
638
|
+
color: var(--vp-c-text-3) !important;
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
.VPLocalSearchBox .results {
|
|
642
|
+
list-style: none !important;
|
|
643
|
+
padding-left: 0 !important;
|
|
644
|
+
margin: 0 !important;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
.VPLocalSearchBox .results li {
|
|
648
|
+
list-style: none !important;
|
|
649
|
+
margin: 0 !important;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
/* Screen Reader Only Utility */
|
|
653
|
+
.sr-only {
|
|
654
|
+
position: absolute !important;
|
|
655
|
+
width: 1px !important;
|
|
656
|
+
height: 1px !important;
|
|
657
|
+
padding: 0 !important;
|
|
658
|
+
margin: -1px !important;
|
|
659
|
+
overflow: hidden !important;
|
|
660
|
+
clip: rect(0, 0, 0, 0) !important;
|
|
661
|
+
white-space: nowrap !important;
|
|
662
|
+
border-width: 0 !important;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
/* ==========================================================================
|
|
666
|
+
Links in text hover underline
|
|
667
|
+
========================================================================== */
|
|
668
|
+
|
|
669
|
+
a.link {
|
|
670
|
+
text-decoration: none;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
:is(p, li, blockquote, figcaption, td, th, dd, dt, .card-body-text)
|
|
674
|
+
a:not(
|
|
675
|
+
.button,
|
|
676
|
+
[role="button"],
|
|
677
|
+
.chip,
|
|
678
|
+
.badge,
|
|
679
|
+
.circle,
|
|
680
|
+
.header-anchor,
|
|
681
|
+
.card-cover-link,
|
|
682
|
+
.grid-link,
|
|
683
|
+
.sidebar-tag,
|
|
684
|
+
.post-tag,
|
|
685
|
+
.clickable-chip,
|
|
686
|
+
.tag-link,
|
|
687
|
+
.social-link-btn,
|
|
688
|
+
.custom-cta-button,
|
|
689
|
+
:has(> img:only-child),
|
|
690
|
+
:has(> svg:only-child)
|
|
691
|
+
):hover,
|
|
692
|
+
a.link:hover,
|
|
693
|
+
.vp-doc
|
|
694
|
+
a:not(
|
|
695
|
+
.button,
|
|
696
|
+
[role="button"],
|
|
697
|
+
.header-anchor,
|
|
698
|
+
.card-cover-link,
|
|
699
|
+
.grid-link,
|
|
700
|
+
.sidebar-tag,
|
|
701
|
+
.post-tag,
|
|
702
|
+
.clickable-chip,
|
|
703
|
+
.tag-link,
|
|
704
|
+
.social-link-btn,
|
|
705
|
+
.custom-cta-button,
|
|
706
|
+
:has(> img:only-child),
|
|
707
|
+
:has(> svg:only-child)
|
|
708
|
+
):hover {
|
|
709
|
+
text-decoration: underline;
|
|
710
|
+
text-underline-offset: 2px;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
/* Ensure navigation bars, dropdown menus, sidebars, and outline links do not get hover underline unless explicitly marked .link */
|
|
714
|
+
:is(
|
|
715
|
+
nav,
|
|
716
|
+
menu,
|
|
717
|
+
dialog,
|
|
718
|
+
.top-nav,
|
|
719
|
+
.social-links,
|
|
720
|
+
.VPSidebar,
|
|
721
|
+
.VPDocAsideOutline,
|
|
722
|
+
.VPLocalSearchBox
|
|
723
|
+
)
|
|
724
|
+
a:not(.link):hover,
|
|
725
|
+
menu a:hover,
|
|
726
|
+
menu li a:hover {
|
|
727
|
+
text-decoration: none !important;
|
|
728
|
+
}
|
package/src/tagUtils.js
CHANGED
|
@@ -103,31 +103,31 @@ export function getTagStyle(tag) {
|
|
|
103
103
|
return {
|
|
104
104
|
backgroundColor: "rgba(255, 94, 94, 0.15)",
|
|
105
105
|
border: "1px solid rgb(255, 94, 94)",
|
|
106
|
-
color: "#d32f2f"
|
|
106
|
+
color: "#d32f2f",
|
|
107
107
|
};
|
|
108
108
|
} else if (color.startsWith("rgb(0, 177, 176)")) {
|
|
109
109
|
return {
|
|
110
110
|
backgroundColor: "rgba(0, 177, 176, 0.15)",
|
|
111
111
|
border: "1px solid rgb(0, 177, 176)",
|
|
112
|
-
color: "#00796b"
|
|
112
|
+
color: "#00796b",
|
|
113
113
|
};
|
|
114
114
|
} else if (color.startsWith("rgb(219, 173, 66)")) {
|
|
115
115
|
return {
|
|
116
116
|
backgroundColor: "rgba(219, 173, 66, 0.15)",
|
|
117
117
|
border: "1px solid rgb(219, 173, 66)",
|
|
118
|
-
color: "#f57c00"
|
|
118
|
+
color: "#f57c00",
|
|
119
119
|
};
|
|
120
120
|
} else if (color.startsWith("rgb(218, 71, 228)")) {
|
|
121
121
|
return {
|
|
122
122
|
backgroundColor: "rgba(218, 71, 228, 0.15)",
|
|
123
123
|
border: "1px solid rgb(218, 71, 228)",
|
|
124
|
-
color: "#c2185b"
|
|
124
|
+
color: "#c2185b",
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
return {
|
|
128
128
|
backgroundColor: "rgba(0, 0, 0, 0.05)",
|
|
129
129
|
border: "1px solid rgba(0, 0, 0, 0.1)",
|
|
130
|
-
color: "#475569"
|
|
130
|
+
color: "#475569",
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
133
|
|
package/src/vitepressConfig.mjs
CHANGED
|
@@ -98,8 +98,8 @@ export const generate = (brandConfig) => {
|
|
|
98
98
|
cleanUrls: true,
|
|
99
99
|
markdown: {
|
|
100
100
|
headers: {
|
|
101
|
-
level: [2, 3, 4, 5, 6]
|
|
102
|
-
}
|
|
101
|
+
level: [2, 3, 4, 5, 6],
|
|
102
|
+
},
|
|
103
103
|
},
|
|
104
104
|
rewrites: {
|
|
105
105
|
...getBlogRewrites(),
|
|
@@ -212,7 +212,7 @@ export const generate = (brandConfig) => {
|
|
|
212
212
|
></span>`,
|
|
213
213
|
copyright:
|
|
214
214
|
brandConfig.theme?.footer?.copyright ||
|
|
215
|
-
'Copyright ©
|
|
215
|
+
'Copyright © 2008-present <a href="https://eox.at" target="_blank">EOX IT Services GmbH</a>',
|
|
216
216
|
},
|
|
217
217
|
},
|
|
218
218
|
title: brandConfig.meta?.title,
|
|
@@ -220,6 +220,9 @@ export const generate = (brandConfig) => {
|
|
|
220
220
|
ssr: {
|
|
221
221
|
noExternal: ["@eox/pages-theme-eox"],
|
|
222
222
|
},
|
|
223
|
+
optimizeDeps: {
|
|
224
|
+
exclude: ["@eox/pages-theme-eox"],
|
|
225
|
+
},
|
|
223
226
|
},
|
|
224
227
|
vue: {
|
|
225
228
|
template: {
|