@eox/pages-theme-eox 1.1.0 → 1.1.1

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
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.1](https://gitlab.eox.at/eox/hub/eoxhub-portal/compare/v1.1.0...v1.1.1) (2026-03-02)
4
+
5
+ ### Bug Fixes
6
+
7
+ - render (HTML) footer message correctly ([6ea74ae](https://gitlab.eox.at/eox/hub/eoxhub-portal/commit/6ea74ae9df24fda7b677d6daa1e740b1d1dd6d97))
8
+
3
9
  # [1.1.0](https://gitlab.eox.at/eox/hub/eoxhub-portal/compare/v1.0.0...v1.1.0) (2026-02-16)
4
10
 
5
11
  ### Bug Fixes
package/README.md CHANGED
@@ -69,7 +69,7 @@ The following standard VitePress configurations are handled as follows:
69
69
  - **Site Title**: Explicitly disabled (`siteTitle: false`). The theme relies on the logo for branding.
70
70
  - **Logo**: Used for branding. Must be configured as an object `{ light: string, dark: string }`.
71
71
  - **Nav**: Fully supported (see above).
72
- - **Footer**: Supported. The theme uses `theme.footer.copyright` for the copyright text.
72
+ - **Footer**: Supported. The theme uses `theme.footer.message` for the footer message and `theme.footer.copyright` for the copyright text (both supporting HTML).
73
73
  - **Dark Mode**: The theme enforces a specific appearance. `appearance: false` is set in the base config.
74
74
 
75
75
  ### Internationalization (i18n)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eox/pages-theme-eox",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "type": "module",
5
5
  "description": "Vitepress Theme with EOX branding",
6
6
  "main": "src/index.js",
@@ -12,6 +12,7 @@ describe("<Footer />", () => {
12
12
  { text: "Contact", link: "/contact" },
13
13
  ],
14
14
  footer: {
15
+ message: 'Powered by <a href="https://eox.at">EOX</a>',
15
16
  copyright: "© 2026 EOX",
16
17
  },
17
18
  theme: {
@@ -50,6 +51,31 @@ describe("<Footer />", () => {
50
51
  cy.contains("a", "Privacy").should("have.attr", "href", "/privacy");
51
52
  });
52
53
 
54
+ it("renders footer message with HTML content", () => {
55
+ __setMockData({
56
+ site: { title: "EOX Site" },
57
+ theme: {
58
+ logo: { light: "/logo.png" },
59
+ nav: [
60
+ { text: "Link 1", link: "/link1" },
61
+ { text: "Contact", link: "/contact" },
62
+ ],
63
+ footer: {
64
+ message: 'Powered by <a href="https://eox.at">EOX</a>',
65
+ copyright: "© 2026 EOX",
66
+ },
67
+ theme: {
68
+ brandConfig: {},
69
+ },
70
+ },
71
+ });
72
+ cy.mount(Footer);
73
+ cy.contains("p", "Powered by")
74
+ .find("a")
75
+ .should("have.attr", "href", "https://eox.at")
76
+ .and("contain", "EOX");
77
+ });
78
+
53
79
  it("renders i18n overrides", () => {
54
80
  __setMockData({
55
81
  site: { title: "EOX Site" },
@@ -72,6 +98,13 @@ describe("<Footer />", () => {
72
98
  cy.mount(Footer);
73
99
  cy.contains("Über uns").should("exist");
74
100
  cy.contains("Rechtliches").should("exist");
75
- cy.contains("Unterstützt von").should("exist");
101
+ });
102
+
103
+ it("renders footer message with HTML content", () => {
104
+ cy.mount(Footer);
105
+ cy.contains("p", "Powered by")
106
+ .find("a")
107
+ .should("have.attr", "href", "https://eox.at")
108
+ .and("contain", "EOX");
76
109
  });
77
110
  });
@@ -22,18 +22,8 @@
22
22
  theme.nav.find((i) => i.link && i.link.includes("contact")).text
23
23
  }}</a
24
24
  >
25
+ <p v-html="theme.footer.message"></p>
25
26
  <p v-html="theme.footer.copyright"></p>
26
- <p class="middle-align">
27
- {{ t("Powered by", theme.i18n) }}
28
- <a
29
- href="https://hub.eox.at"
30
- target="_blank"
31
- class="left-margin small-margin"
32
- ><img
33
- src="https://hub.eox.at/hub/custom/logos/eoxhub.svg"
34
- style="height: 25px"
35
- /></a>
36
- </p>
37
27
  </div>
38
28
  <div class="s12 l6">
39
29
  <div class="grid large-line">
@@ -105,7 +105,13 @@ export const generate = (brandConfig) => {
105
105
  footer: {
106
106
  message:
107
107
  brandConfig.theme?.footer?.message ||
108
- `Powered by <img src="https://cockpit.hub.eox.at/storage/uploads/eoxhub/eoxhub_icon.svg" style="display: inline; height: 20px; transform: translateY(5px)" />`,
108
+ `<span class="middle-align">
109
+ Powered by
110
+ <a href="https://hub.eox.at" target="_blank" class="left-margin small-margin"
111
+ ><img
112
+ src="https://hub.eox.at/hub/custom/logos/eoxhub.svg"
113
+ style="height: 25px" /></a
114
+ ></span>`,
109
115
  copyright:
110
116
  brandConfig.theme?.footer?.copyright ||
111
117
  'Copyright © 2014-present <a href="https://eox.at" target="_blank">EOX IT Services GmbH</a>',