Changes for page Public Web Site

Last modified by Agnease on 2026/05/30 16:24

From version 7.11
edited by Agnease
on 2026/05/12 14:48
Change comment: There is no comment for this version
To version 6.52
edited by Agnease
on 2026/05/12 14:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -159,7 +159,7 @@
159 159   <p>
160 160   A business-focused explanation of why regular LTS upgrades reduce security, compatibility and maintenance risk.
161 161   </p>
162 - <a href="$xwiki.getURL('resources.why-upgrade-xwiki')">Read the resource</a>
162 + <a href="/resources/why-upgrade-xwiki">Read the resource</a>
163 163   </article>
164 164  
165 165   <article class="resource-card">
... ... @@ -167,7 +167,7 @@
167 167   <p>
168 168   How Agnease approaches safe XWiki upgrades for real production environments with customizations and integrations.
169 169   </p>
170 - <a href="$xwiki.getURL('services.xwiki-upgrades')">View the service</a>
170 + <a href="/services/xwiki-upgrades">View the service</a>
171 171   </article>
172 172   </div>
173 173   </div>
XWiki.StyleSheetExtension[1]
code
... ... @@ -7,24 +7,47 @@
7 7  @line: #E4ECE9;
8 8  @brand-bg: #F4FCFA;
9 9  
10 +/* Top-level public menu links: Services + Contact */
11 +.navbar-nav > li > a,
12 +.navbar-nav > li.agnease-services-menu > a {
13 + color: @brand;
14 + font-size: inherit;
15 + font-weight: 400;
16 + background: transparent;
17 + background-color: transparent;
18 + box-shadow: none;
19 + text-decoration: none;
20 +}
21 +
22 +.navbar-nav > li > a:hover,
23 +.navbar-nav > li > a:focus,
24 +.navbar-nav > li.open > a,
25 +.navbar-nav > li.open > a:hover,
26 +.navbar-nav > li.open > a:focus,
27 +.navbar-nav > li.agnease-services-menu > a:hover,
28 +.navbar-nav > li.agnease-services-menu > a:focus,
29 +.navbar-nav > li.agnease-services-menu.open > a,
30 +.navbar-nav > li.agnease-services-menu.open > a:hover,
31 +.navbar-nav > li.agnease-services-menu.open > a:focus {
32 + color: @brand-strong;
33 + background: transparent;
34 + background-color: transparent;
35 + box-shadow: none;
36 + text-decoration: none;
37 +}
38 +
10 10  .agnease-services-menu {
11 11   .dropdown-toggle {
12 - font-weight: inherit;
41 + font-weight: 400;
13 13   font-size: inherit;
14 14   }
15 15  
16 - &.open > .dropdown-toggle,
17 - .dropdown-toggle:hover,
18 - .dropdown-toggle:focus {
19 - color: @brand;
20 - background: transparent;
21 - }
22 -
23 23   .caret {
24 24   margin-left: 4px;
25 25   }
26 26  }
27 27  
50 +/* Dropdown panel */
28 28  .agnease-services-dropdown {
29 29   min-width: 360px;
30 30   padding: 10px;
... ... @@ -31,6 +31,7 @@
31 31   border: 1px solid @line;
32 32   border-radius: 12px;
33 33   box-shadow: 0 12px 36px rgba(0, 0, 0, .10);
57 + background: #fff;
34 34  
35 35   > li > a {
36 36   display: flex;
... ... @@ -38,8 +38,10 @@
38 38   gap: 12px;
39 39   padding: 10px 12px;
40 40   border-radius: 10px;
41 - color: @text;
42 42   white-space: normal;
66 + text-decoration: none;
67 + background: transparent;
68 + color: @brand;
43 43  
44 44   &:hover,
45 45   &:focus {
... ... @@ -49,15 +49,15 @@
49 49  
50 50   .menu-icon {
51 51   color: @brand-strong;
52 - background: fade(@brand, 14%);
53 - border-color: fade(@brand, 28%);
78 + background: fade(@brand, 12%);
79 + border-color: fade(@brand, 24%);
54 54   }
55 55  
56 - strong {
82 + .menu-text strong {
57 57   color: @brand-strong;
58 58   }
59 59  
60 - small {
86 + .menu-text small {
61 61   color: @muted;
62 62   }
63 63   }
... ... @@ -89,8 +89,8 @@
89 89  
90 90   strong {
91 91   color: @brand;
92 - font-size: 14px;
93 - font-weight: 600;
118 + font-size: inherit;
119 + font-weight: 400;
94 94   }
95 95  
96 96   small {
... ... @@ -102,28 +102,77 @@
102 102   }
103 103  }
104 104  
131 +/* Mobile dropdown: compact vertical list */
105 105  @media (max-width: 767px) {
133 + .navbar-nav > li.agnease-services-menu {
134 + position: static;
135 + }
136 +
106 106   .agnease-services-dropdown {
138 + left: 50% !important;
139 + right: auto !important;
140 + transform: translateX(-50%);
141 + width: calc(100vw - 40px);
142 + max-width: 380px;
107 107   min-width: 0;
108 - width: 100%;
109 - padding: 6px;
110 - border-radius: 0;
111 - box-shadow: none;
144 + max-height: calc(100vh - 190px);
145 + overflow-y: auto;
112 112  
147 + padding: 8px;
148 + margin-top: 6px;
149 + border-radius: 12px;
150 + border: 1px solid @line;
151 + box-shadow: 0 12px 32px rgba(0, 0, 0, .12);
152 + background: #fff;
153 +
113 113   > li > a {
114 - padding: 10px;
155 + display: flex;
156 + align-items: center;
157 + gap: 10px;
158 + min-height: 0;
159 + padding: 9px 10px;
160 + border-radius: 9px;
161 + text-align: left;
162 + white-space: normal;
115 115   }
164 +
165 + .divider {
166 + margin: 6px 0;
167 + }
168 +
169 + .menu-icon {
170 + width: 28px;
171 + height: 28px;
172 + font-size: 13px;
173 + flex: 0 0 28px;
174 + }
175 +
176 + .menu-text {
177 + display: block;
178 + line-height: 1.25;
179 + }
180 +
181 + .menu-text strong {
182 + display: block;
183 + font-size: 14px;
184 + font-weight: 400;
185 + color: @brand;
186 + }
187 +
188 + .menu-text small {
189 + display: none;
190 + }
191 +
192 + > li > a:hover .menu-text strong,
193 + > li > a:focus .menu-text strong {
194 + color: @brand-strong;
195 + }
196 +
197 + > li > a:hover .menu-icon,
198 + > li > a:focus .menu-icon {
199 + color: @brand-strong;
200 + background: fade(@brand, 12%);
201 + border-color: fade(@brand, 24%);
202 + }
116 116   }
117 117  }
118 -/* Keep the top-level Services menu visually clean when hovered/open/focused */
119 -.navbar-nav > li.agnease-services-menu > a,
120 -.navbar-nav > li.agnease-services-menu > a:hover,
121 -.navbar-nav > li.agnease-services-menu > a:focus,
122 -.navbar-nav > li.agnease-services-menu.open > a,
123 -.navbar-nav > li.agnease-services-menu.open > a:hover,
124 -.navbar-nav > li.agnease-services-menu.open > a:focus {
125 - background: transparent;
126 - background-color: transparent;
127 - color: @brand-strong;
128 - box-shadow: none;
129 -}
XWiki.StyleSheetExtension[2]
cache
... ... @@ -1,1 +1,0 @@
1 -long
code
... ... @@ -1,174 +1,0 @@
1 -/* ========== Resource / Article Pages ========== */
2 -
3 -.resource-page {
4 - padding-top: 34px;
5 -}
6 -
7 -.resource-header {
8 - padding: 40px 0 30px;
9 - border-top: none;
10 - background:
11 - radial-gradient(42rem 14rem at 50% 0%, @brand-bg 0%, transparent 70%);
12 -
13 - .resource-kicker {
14 - display: inline-flex;
15 - align-items: center;
16 - gap: 8px;
17 - color: @brand;
18 - background: fade(@brand, 8%);
19 - border: 1px solid fade(@brand, 18%);
20 - border-radius: 999px;
21 - padding: 6px 12px;
22 - margin-bottom: 14px;
23 - font-size: 13px;
24 - font-weight: 700;
25 - }
26 -
27 - h1 {
28 - max-width: 820px;
29 - margin: 0 auto 14px;
30 - text-align: center;
31 - line-height: 1.18;
32 - }
33 -
34 - .resource-summary {
35 - max-width: 780px;
36 - margin: 0 auto;
37 - color: @muted;
38 - text-align: center;
39 - font-size: 18px;
40 - line-height: 1.55;
41 - }
42 -}
43 -
44 -.resource-layout {
45 - display: grid;
46 - grid-template-columns: minmax(0, 760px) 280px;
47 - gap: 42px;
48 - max-width: 1080px;
49 - margin: 0 auto;
50 - align-items: start;
51 -}
52 -
53 -.resource-content {
54 - color: @text;
55 - font-size: 16px;
56 - line-height: 1.68;
57 -
58 - h2 {
59 - text-align: left;
60 - margin: 34px 0 12px;
61 - line-height: 1.28;
62 - }
63 -
64 - h3 {
65 - margin: 24px 0 8px;
66 - line-height: 1.3;
67 - }
68 -
69 - p {
70 - margin: 0 0 16px;
71 - }
72 -
73 - ul,
74 - ol {
75 - margin: 0 0 18px;
76 - padding-left: 22px;
77 - }
78 -
79 - li {
80 - margin: 6px 0;
81 - }
82 -
83 - strong {
84 - color: @text;
85 - }
86 -}
87 -
88 -.resource-note {
89 - border-left: 4px solid @brand;
90 - background: @brand-bg;
91 - padding: 16px 18px;
92 - margin: 22px 0;
93 - border-radius: 0 @radius @radius 0;
94 -
95 - p:last-child {
96 - margin-bottom: 0;
97 - }
98 -}
99 -
100 -.resource-checklist {
101 - margin: 18px 0 24px;
102 - padding: 0;
103 - list-style: none;
104 -
105 - li {
106 - position: relative;
107 - padding: 10px 0 10px 34px;
108 - border-bottom: 1px solid @line;
109 -
110 - &:before {
111 - content: "\f00c";
112 - font-family: FontAwesome;
113 - position: absolute;
114 - left: 0;
115 - top: 11px;
116 - color: @brand;
117 - }
118 - }
119 -}
120 -
121 -.resource-sidebar {
122 - position: sticky;
123 - top: 96px;
124 - border: 1px solid @line;
125 - border-radius: @radius;
126 - padding: 18px;
127 - background: #fff;
128 - box-shadow: @shadow-sm;
129 -
130 - h4 {
131 - margin: 0 0 10px;
132 - }
133 -
134 - ul {
135 - margin: 0;
136 - padding-left: 18px;
137 - color: @muted;
138 - }
139 -
140 - li {
141 - margin: 8px 0;
142 - }
143 -
144 - a {
145 - color: @brand;
146 - font-weight: 600;
147 - }
148 -}
149 -
150 -.resource-cta {
151 - margin-top: 36px;
152 - padding: 22px;
153 - border: 1px solid fade(@brand, 20%);
154 - border-radius: @radius;
155 - background: @brand-bg;
156 -
157 - h3 {
158 - margin-top: 0;
159 - }
160 -
161 - p {
162 - color: @muted;
163 - }
164 -}
165 -
166 -@media (max-width: 900px) {
167 - .resource-layout {
168 - grid-template-columns: 1fr;
169 - }
170 -
171 - .resource-sidebar {
172 - position: static;
173 - }
174 -}
contentType
... ... @@ -1,1 +1,0 @@
1 -LESS
name
... ... @@ -1,1 +1,0 @@
1 -resources
use
... ... @@ -1,1 +1,0 @@
1 -onDemand