Changes for page Public Web Site
Last modified by Agnease on 2026/06/24 15:34
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,9 +1,11 @@ 1 +{{include reference="PublicWebSite.MacrosAndVariables" /}} 2 + 1 1 {{velocity}} 2 2 #macro (displayPublicContent) 3 3 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 4 4 {{html clean="false"}} 5 5 6 - <section class="hero hero-centered" aria-labelledby="hero-title"> 8 + <section class="hero hero-centered main-page-hero" aria-labelledby="hero-title"> 7 7 <div class="container hero-inner"> 8 8 <h1 id="hero-title">Professional XWiki consulting and engineering</h1> 9 9 ... ... @@ -20,7 +20,7 @@ 20 20 </ul> 21 21 22 22 <div class="hero-actions"> 23 - <a class="btn btn-primary" href=" https://calendly.com/alex-agnease/30min?back=1&month=2026-06">Book afreediscussion</a>25 + <a class="btn btn-primary" href="$freeXWikiReviewCallURL">$freeXWikiReviewCallLabel</a> 24 24 ##<a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request a consultation</a> 25 25 <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 26 26 </div> ... ... @@ -111,36 +111,6 @@ 111 111 </div> 112 112 </section> 113 113 114 - <section class="industry-trust-section" aria-labelledby="industry-trust-title"> 115 - <div class="container"> 116 - <div class="industry-trust-panel"> 117 - <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2> 118 - 119 - <p class="section-intro"> 120 - Experience supporting XWiki platforms used in healthcare, financial services, scientific research, 121 - government institutions, transportation, software development, compliance programs and regulated environments. 122 - </p> 123 - 124 - <div class="industry-tags" aria-label="Industries and environments supported"> 125 - <span>Healthcare</span> 126 - <span>Financial services</span> 127 - <span>Scientific research</span> 128 - <span>Government institutions</span> 129 - <span>Transportation</span> 130 - <span>Software development</span> 131 - <span>Compliance programs</span> 132 - <span>Regulated environments</span> 133 - </div> 134 - 135 - <p class="industry-support"> 136 - Organizations rely on these platforms to manage documentation, workflows, compliance processes, 137 - research knowledge and critical business information. From upgrades and authentication integrations 138 - to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future. 139 - </p> 140 - </div> 141 - </div> 142 - </section> 143 - 144 144 <section class="split-section" aria-labelledby="why-title"> 145 145 <div class="container"> 146 146 <div class="split-grid"> ... ... @@ -148,11 +148,10 @@ 148 148 <h2 id="why-title">Why work with an XWiki specialist</h2> 149 149 <p> 150 150 XWiki projects often involve more than pages. Production platforms may include custom code, 151 - extensions, authentication, permissions, workflows, integrations, compliance documentation 152 - and business-critical knowledge. 123 + extensions, authentication, permissions, workflows, integrations and business-critical content. 153 153 </p> 154 154 <p> 155 - Agnease brings 11+ years of hands-on XWiki experience to help reduce risk, supportlong-termreliability126 + Agnease brings 11+ years of hands-on XWiki experience to help reduce risk, deliver practical improvements 156 156 and leave the platform easier to maintain after the work is complete. 157 157 </p> 158 158 </div>
- main-page-hero.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Admin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.0 MB - Content
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -167,8 +167,7 @@ 167 167 168 168 .hero { 169 169 overflow: hidden; 170 - background-repeat: no-repeat; 171 - background-attachment: scroll; 170 + position: relative; 172 172 173 173 &.hero-centered { 174 174 text-align: center; ... ... @@ -181,6 +181,54 @@ 181 181 min-height: 330px; 182 182 } 183 183 183 + &.main-page-hero { 184 + background: 185 + linear-gradient( 186 + rgba(244, 252, 250, 0.50), 187 + rgba(255, 255, 255, 0.60) 188 + ), 189 + url('/bin/download/PublicWebSite/WebHome/main-page-hero.png') center center / cover no-repeat; 190 + 191 + &::before, 192 + &::after { 193 + content: ""; 194 + position: absolute; 195 + pointer-events: none; 196 + z-index: 1; 197 + } 198 + 199 + /* Fade left and right image edges into the page background */ 200 + &::before { 201 + inset: 0; 202 + background: 203 + linear-gradient( 204 + 90deg, 205 + #fff 0%, 206 + rgba(255, 255, 255, 0) 13%, 207 + rgba(255, 255, 255, 0) 87%, 208 + #fff 100% 209 + ); 210 + } 211 + 212 + /* Fade bottom edge into white before the next section */ 213 + &::after { 214 + left: 0; 215 + right: 0; 216 + bottom: 0; 217 + height: 90px; 218 + background: linear-gradient( 219 + 180deg, 220 + rgba(255, 255, 255, 0) 0%, 221 + #fff 100% 222 + ); 223 + } 224 + 225 + .hero-inner { 226 + position: relative; 227 + z-index: 2; 228 + } 229 + } 230 + 184 184 .hero-inner { 185 185 max-width: 860px; 186 186 margin: 0 auto; ... ... @@ -431,80 +431,6 @@ 431 431 } 432 432 } 433 433 434 -.industry-trust-section { 435 - background: 436 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 437 - 438 - .industry-trust-panel { 439 - max-width: 1040px; 440 - margin: 0 auto; 441 - padding: 30px 28px; 442 - border: 1px solid fade(@brand, 16%); 443 - border-radius: @radius; 444 - background: 445 - radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 446 - box-shadow: @shadow-sm; 447 - text-align: center; 448 - } 449 - 450 - h2 { 451 - margin-bottom: 12px; 452 - } 453 - 454 - .section-intro { 455 - margin-bottom: 20px; 456 - max-width: 820px; 457 - } 458 - 459 - .industry-tags { 460 - max-width: 880px; 461 - margin: 0 auto; 462 - display: flex; 463 - flex-wrap: wrap; 464 - justify-content: center; 465 - gap: 10px; 466 - } 467 - 468 - .industry-tags span { 469 - display: inline-flex; 470 - align-items: center; 471 - padding: 7px 12px; 472 - border: 1px solid fade(@brand, 20%); 473 - border-radius: 999px; 474 - background: #fff; 475 - color: @text; 476 - font-size: 13px; 477 - font-weight: 600; 478 - line-height: 1.2; 479 - box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 480 - } 481 - 482 - .industry-support { 483 - max-width: 820px; 484 - margin: 22px auto 0; 485 - color: @muted; 486 - font-size: 16px; 487 - line-height: 1.6; 488 - } 489 -} 490 - 491 -@media (max-width: 640px) { 492 - .industry-trust-section { 493 - .industry-trust-panel { 494 - padding: 24px 18px; 495 - } 496 - 497 - .industry-tags { 498 - gap: 8px; 499 - } 500 - 501 - .industry-tags span { 502 - font-size: 12px; 503 - padding: 6px 10px; 504 - } 505 - } 506 -} 507 - 508 508 /* ========== Services ========== */ 509 509 510 510 .services { ... ... @@ -864,6 +864,15 @@ 864 864 min-height: 280px; 865 865 } 866 866 840 + .hero.main-page-hero { 841 + background: 842 + linear-gradient( 843 + rgba(244, 252, 250, 0.92), 844 + rgba(255, 255, 255, 0.97) 845 + ), 846 + url('/bin/download/PublicWebSite/WebHome/main-page-hero.png') center center / cover no-repeat; 847 + } 848 + 867 867 .hero { 868 868 .lead { 869 869 font-size: 17px; ... ... @@ -996,45 +996,6 @@ 996 996 } 997 997 } 998 998 999 -.resource-note.related-resources { 1000 - p { 1001 - margin-bottom: 10px; 1002 - } 1003 - 1004 - ul { 1005 - margin: 0; 1006 - padding-left: 20px; 1007 - } 1008 - 1009 - li { 1010 - margin: 6px 0; 1011 - color: @muted; 1012 - } 1013 -} 1014 - 1015 -.resource-faq-item { 1016 - display: flow-root; 1017 - border-bottom: 1px solid @line; 1018 - padding: 12px 0; 1019 - 1020 - summary { 1021 - cursor: pointer; 1022 - font-weight: 700; 1023 - color: @text; 1024 - line-height: 1.4; 1025 - } 1026 - 1027 - summary:hover, 1028 - summary:focus { 1029 - color: @brand-strong; 1030 - } 1031 - 1032 - p { 1033 - margin: 10px 0 4px; 1034 - color: @muted; 1035 - } 1036 -} 1037 - 1038 1038 .resource-checklist { 1039 1039 margin: 18px 0 24px; 1040 1040 padding: 0; ... ... @@ -1156,40 +1156,30 @@ 1156 1156 } 1157 1157 1158 1158 .product-card-grid { 1159 - max-width: 980px;1160 - margin: 2 6px auto 0;1102 + max-width: 840px; 1103 + margin: 22px auto 0; 1161 1161 display: grid; 1162 1162 grid-template-columns: 1fr; 1163 - grid-gap: 22px;1106 + grid-gap: 18px; 1164 1164 } 1165 1165 1166 1166 .product-card { 1167 - position: relative; 1168 1168 background: #fff; 1169 1169 border: 1px solid @line; 1170 1170 border-radius: @radius; 1171 1171 box-shadow: @shadow-sm; 1172 - padding: 32px;1114 + padding: 28px; 1173 1173 display: grid; 1174 - grid-template-columns: 70px 1fr;1175 - grid-gap: 2 4px;1116 + grid-template-columns: 68px 1fr; 1117 + grid-gap: 22px; 1176 1176 align-items: start; 1177 - overflow: hidden; 1178 1178 1179 - &:before { 1180 - content: ""; 1181 - position: absolute; 1182 - inset: 0 auto 0 0; 1183 - width: 5px; 1184 - background: linear-gradient(180deg, @brand 0%, @brand-strong 100%); 1185 - } 1186 - 1187 1187 .product-card-icon { 1188 1188 width: 58px; 1189 1189 height: 58px; 1190 1190 border-radius: 50%; 1191 1191 background: fade(@brand, 10%); 1192 - border: 1px solid fade(@brand, 2 2%);1125 + border: 1px solid fade(@brand, 20%); 1193 1193 color: @brand; 1194 1194 display: flex; 1195 1195 align-items: center; ... ... @@ -1198,15 +1198,11 @@ 1198 1198 flex-shrink: 0; 1199 1199 } 1200 1200 1201 - .product-card-body { 1202 - min-width: 0; 1203 - } 1204 - 1205 1205 h3 { 1206 1206 margin: 0 0 10px; 1207 1207 color: @text; 1208 - font-size: 2 5px;1209 - line-height: 1.2 2;1137 + font-size: 23px; 1138 + line-height: 1.25; 1210 1210 font-weight: 800; 1211 1211 } 1212 1212 ... ... @@ -1215,36 +1215,25 @@ 1215 1215 line-height: 1.6; 1216 1216 } 1217 1217 1218 - .product-card-description { 1219 - max-width: 760px; 1220 - margin: 0 0 14px; 1221 - font-size: 16px; 1147 + .card-link { 1148 + margin: 0; 1149 + 1150 + a { 1151 + font-weight: 700; 1152 + } 1222 1222 } 1223 1223 } 1224 1224 1225 1225 .product-card-kicker { 1226 - display: inline-flex; 1227 - align-items: center; 1228 - gap: 7px; 1229 - width: fit-content; 1230 1230 margin-bottom: 10px; 1231 1231 padding: 5px 10px; 1232 - border: 1px solid fade(@brand, 24%); 1233 - border-radius: 999px; 1234 - background: fade(@brand, 8%); 1235 - color: @brand-strong; 1236 1236 font-size: 12px; 1237 - font-weight: 800; 1238 1238 text-transform: uppercase; 1239 1239 letter-spacing: .04em; 1240 - 1241 - i { 1242 - color: @brand; 1243 - } 1244 1244 } 1245 1245 1246 1246 .product-highlights { 1247 - margin: 14px 0 2 2px;1165 + margin: 14px 0 20px; 1248 1248 padding-left: 18px; 1249 1249 color: @muted; 1250 1250 ... ... @@ -1254,58 +1254,12 @@ 1254 1254 } 1255 1255 } 1256 1256 1257 -.product-card-actions { 1258 - display: flex; 1259 - align-items: center; 1260 - gap: 16px; 1261 - flex-wrap: wrap; 1262 - 1263 - .btn { 1264 - font-weight: 700; 1265 - } 1266 -} 1267 - 1268 -.product-card-contact { 1269 - color: @brand; 1270 - font-weight: 700; 1271 - text-decoration: underline; 1272 - 1273 - &:hover, 1274 - &:focus { 1275 - color: @brand-strong; 1276 - } 1277 -} 1278 - 1279 -@media (max-width: 640px) { 1280 - .product-card { 1281 - grid-template-columns: 1fr; 1282 - padding: 26px 22px; 1283 - text-align: left; 1284 - 1285 - &:before { 1286 - width: 4px; 1287 - } 1288 - 1289 - .product-card-icon { 1290 - margin-bottom: 2px; 1291 - } 1292 - 1293 - h3 { 1294 - font-size: 22px; 1295 - } 1296 - } 1297 - 1298 - .product-card-actions { 1299 - gap: 12px; 1300 - } 1301 -} 1302 - 1303 1303 /* ========== Individual Product Pages ========== */ 1304 1304 1305 1305 .product-layout { 1306 1306 display: grid; 1307 - grid-template-columns: minmax(0,1.12fr)minmax(280px,.88fr);1308 - grid-gap: 3 2px;1179 + grid-template-columns: 1.1fr .9fr; 1180 + grid-gap: 36px; 1309 1309 max-width: 1040px; 1310 1310 margin: 0 auto; 1311 1311 align-items: start; ... ... @@ -1313,7 +1313,6 @@ 1313 1313 1314 1314 .product-summary-card, 1315 1315 .product-info-card, 1316 -.product-feature, 1317 1317 .product-gallery-panel { 1318 1318 background: #fff; 1319 1319 border: 1px solid @line; ... ... @@ -1322,18 +1322,16 @@ 1322 1322 } 1323 1323 1324 1324 .product-summary-card { 1325 - padding: 2 8px;1196 + padding: 26px; 1326 1326 1327 1327 h2 { 1328 1328 text-align: left; 1329 1329 margin-top: 0; 1330 - margin-bottom: 14px; 1331 - line-height: 1.25; 1332 1332 } 1333 1333 1334 1334 p { 1335 1335 color: @muted; 1336 - line-height: 1.6 2;1205 + line-height: 1.6; 1337 1337 } 1338 1338 1339 1339 p:last-child { ... ... @@ -1342,19 +1342,13 @@ 1342 1342 } 1343 1343 1344 1344 .product-info-card { 1345 - padding: 2 4px;1214 + padding: 22px; 1346 1346 1347 1347 h3 { 1348 1348 margin-top: 0; 1349 1349 margin-bottom: 12px; 1350 - line-height: 1.3; 1351 1351 } 1352 1352 1353 - p { 1354 - color: @muted; 1355 - line-height: 1.55; 1356 - } 1357 - 1358 1358 ul { 1359 1359 margin: 0; 1360 1360 padding-left: 20px; ... ... @@ -1363,30 +1363,25 @@ 1363 1363 1364 1364 li { 1365 1365 margin: 8px 0; 1366 - line-height: 1. 3;1229 + line-height: 1.45; 1367 1367 } 1368 1368 } 1369 1369 1370 -.product-card-note { 1371 - margin: 0 0 14px; 1372 - color: @muted; 1373 - line-height: 1.55; 1374 -} 1375 - 1376 1376 .product-feature-grid { 1377 1377 display: grid; 1378 1378 grid-template-columns: repeat(3, minmax(0, 1fr)); 1379 - grid-gap: 20px;1236 + grid-gap: 18px; 1380 1380 max-width: 1040px; 1381 - margin: 2 4px auto 0;1238 + margin: 22px auto 0; 1382 1382 } 1383 1383 1384 1384 .product-feature { 1385 - padding: 24px; 1386 - min-width: 0; 1387 - min-height: 100%; 1242 + background: #fff; 1243 + border: 1px solid @line; 1244 + border-radius: @radius; 1245 + box-shadow: @shadow-sm; 1246 + padding: 22px; 1388 1388 1389 - .card-heading, 1390 1390 .feature-heading { 1391 1391 display: flex; 1392 1392 align-items: center; ... ... @@ -1417,56 +1417,10 @@ 1417 1417 p { 1418 1418 margin: 0; 1419 1419 color: @muted; 1420 - line-height: 1.5 2;1278 + line-height: 1.5; 1421 1421 } 1422 1422 } 1423 1423 1424 -.product-gallery-caption { 1425 - max-width: 820px; 1426 - margin: 12px auto 0; 1427 - color: @muted; 1428 - font-size: 14px; 1429 - line-height: 1.5; 1430 - text-align: center; 1431 -} 1432 - 1433 -/* Keep the default XWiki gallery style. 1434 - Only add spacing before it and center it. */ 1435 -.gallery.xGallery { 1436 - margin: 25px auto; 1437 - width: 920px; 1438 - height: 518px; 1439 -} 1440 - 1441 -.product-section-muted { 1442 - background: 1443 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1444 -} 1445 - 1446 -/* Compact process list when used inside a product card. */ 1447 -.product-summary-card .process-list { 1448 - margin-top: 16px; 1449 - 1450 - li { 1451 - padding: 13px 14px 13px 50px; 1452 - margin-bottom: 10px; 1453 - box-shadow: none; 1454 - } 1455 - 1456 - li:before { 1457 - left: 14px; 1458 - top: 14px; 1459 - width: 24px; 1460 - height: 24px; 1461 - font-size: 12px; 1462 - } 1463 - 1464 - strong { 1465 - margin-bottom: 2px; 1466 - } 1467 -} 1468 - 1469 -/* Kept for older product pages that still use a screenshot placeholder/panel. */ 1470 1470 .product-gallery-panel { 1471 1471 max-width: 1040px; 1472 1472 margin: 20px auto 0; ... ... @@ -1499,6 +1499,11 @@ 1499 1499 justify-content: center; 1500 1500 } 1501 1501 1314 +.product-section-muted { 1315 + background: 1316 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1317 +} 1318 + 1502 1502 @media (max-width: 980px) { 1503 1503 .product-layout, 1504 1504 .product-feature-grid { ... ... @@ -1527,32 +1527,6 @@ 1527 1527 .product-gallery-panel { 1528 1528 padding: 20px; 1529 1529 } 1530 - 1531 - .product-feature { 1532 - .card-heading, 1533 - .feature-heading { 1534 - gap: 12px; 1535 - } 1536 - 1537 - .feature-icon { 1538 - width: 42px; 1539 - height: 42px; 1540 - font-size: 16px; 1541 - } 1542 - } 1543 - 1544 - .gallery.xGallery { 1545 - margin-top: 22px !important; 1546 - } 1547 - 1548 - .product-gallery-caption { 1549 - margin-top: 10px; 1550 - padding: 0 14px; 1551 - } 1552 - 1553 - .product-summary-card .process-list li { 1554 - padding-left: 46px; 1555 - } 1556 1556 } 1557 1557 1558 1558 /* ========== Resources Index ========== */