0 Votes

Changes for page Home

Last modified by Alex Cotiugă on 2026/01/13 13:12

From version 7.36
edited by Alex Cotiugă
on 2025/11/13 11:47
Change comment: There is no comment for this version
To version 7.44
edited by Alex Cotiugă
on 2025/11/13 12:10
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -60,59 +60,76 @@
60 60   <section class="services" aria-labelledby="services-title">
61 61   <div class="container">
62 62   <h2 id="services-title">Services</h2>
63 - <p class="lead">All the XWiki services you need, delivered with precision and care</p>
63 + <p class="services-sub">All the XWiki services you need, delivered with precision and care</p>
64 +
64 64   <div class="services-grid">
65 - <!-- Upgrades & Migrations -->
66 + <!-- Row 1 -->
66 66   <article class="service">
67 67   <i class="fa fa-refresh" aria-hidden="true"></i>
68 68   <div class="body">
69 - <h4>Upgrades & Migrations</h4>
70 - <p>Smooth upgrades to current LTS with minimal downtime and rollback safety.</p>
70 + <h3>Upgrades</h3>
71 + <p>Stay current with the latest XWiki LTS and keep your instance secure and stable.</p>
71 71   <ul>
72 - <li>Audit of current version, extensions, and data structure</li>
73 - <li>Test and perform upgrades or platform migrations (Confluence, MediaWiki, SharePoint → XWiki)</li>
73 + <li>Audit setup, extensions, and configurations</li>
74 + <li>Test upgrades with backups and validation</li>
75 + <li>Safe production rollout with minimal downtime</li>
74 74   </ul>
75 75   </div>
76 76   </article>
77 77  
78 - <!-- Maintenance & Support -->
79 79   <article class="service">
80 80   <i class="fa fa-stethoscope" aria-hidden="true"></i>
81 81   <div class="body">
82 - <h4>Maintenance, Support & Recovery</h4>
83 - <p>Keep your XWiki secure, stable, and responsive with proactive care and fast recovery.</p>
83 + <h3>Maintenance, Support & Recovery</h3>
84 + <p>Ensure long-term stability and quick response when issues appear.</p>
84 84   <ul>
85 - <li>Regular health checks, patching, and performance monitoring</li>
86 - <li>Root-cause analysis, dependency audits, and issue resolution</li>
86 + <li>Monitoring and performance checks</li>
87 + <li>Security patching, log analysis, triage</li>
88 + <li>Issue recovery, data repair, hardening</li>
87 87   </ul>
88 88   </div>
89 89   </article>
90 90  
91 - <!-- Custom Development -->
93 + <!-- Row 2 -->
92 92   <article class="service">
93 93   <i class="fa fa-cogs" aria-hidden="true"></i>
94 94   <div class="body">
95 - <h4>Development & Integrations</h4>
96 - <p>Extend XWiki with new features, apps, and connections to your existing systems.</p>
97 + <h3>Development & Integrations</h3>
98 + <p>Extend and connect XWiki to fit your workflow and systems.</p>
97 97   <ul>
98 - <li>Custom macros, structured data, and workflow automation</li>
99 - <li>Integrations with SSO, REST APIs, and external tools (LDAP, CRM, ticketing, payments)</li>
100 + <li>Custom apps, macros, automation</li>
101 + <li>SSO, REST APIs, LDAP, CRM links</li>
102 + <li>Maintainable extensions for long-term use</li>
100 100   </ul>
101 101   </div>
102 102   </article>
103 103  
104 - <!-- Hosting & Deployment -->
105 105   <article class="service">
106 106   <i class="fa fa-cloud" aria-hidden="true"></i>
107 107   <div class="body">
108 - <h4>Hosting & Deployment</h4>
109 - <p>Cloud-ready setups with monitoring, backups, and performance tuning.</p>
110 + <h3>Hosting & Deployment</h3>
111 + <p>Cloud-ready environments designed for reliability and performance.</p>
110 110   <ul>
111 - <li>Containerized deployments, observability, and TLS configuration</li>
112 - <li>Backup and restore strategy for safe, maintainable environments</li>
113 + <li>Containerized deployment and TLS</li>
114 + <li>Backups, restore strategy, observability</li>
115 + <li>Optimization and load tuning</li>
113 113   </ul>
114 114   </div>
115 115   </article>
119 +
120 + <!-- Row 3 (single, centered) -->
121 + <article class="service service--center">
122 + <i class="fa fa-exchange" aria-hidden="true"></i>
123 + <div class="body">
124 + <h3>Migrations</h3>
125 + <p>Move from Confluence, SharePoint, or MediaWiki to XWiki with full data integrity and structure.</p>
126 + <ul>
127 + <li>Preserve hierarchy, attachments, and permissions</li>
128 + <li>Convert macros, categories, and metadata for XWiki</li>
129 + <li>Redirect old URLs and maintain SEO consistency</li>
130 + </ul>
131 + </div>
132 + </article>
116 116   </div>
117 117   </div>
118 118   </section>
XWiki.StyleSheetExtension[0]
Code
... ... @@ -179,47 +179,51 @@
179 179   }
180 180  
181 181   /* SERVICES */
182 - /* Section header */
183 - /*.services { padding: 2.5rem 0; }
184 - .services h2 { margin:0 0 .3rem; font-size:1.75rem; font-weight:800; }
185 - .services-sub { margin:0 0 1.25rem; color:#5b6a72; }
186 -*/
187 - /* Two-column grid */
182 + /* Grid: two columns, then a single centered block */
188 188   .services-grid {
189 189   display:grid;
190 190   grid-template-columns: repeat(2, 1fr);
191 - gap: 24px 32px;
186 + gap:32px 36px;
192 192   }
193 193  
194 - /* Service item = media block with icon badge */
189 + /* Service item */
195 195   .service {
196 196   display:grid;
197 - grid-template-columns: 44px 1fr;
198 - gap: 14px;
199 - padding: 18px 0;
200 - border-top: 1px solid rgba(0,0,0,0.08);
192 + grid-template-columns:48px 1fr;
193 + gap:16px;
194 + padding:18px 0;
195 + border-top:1px solid rgba(0,0,0,.08);
201 201   }
202 - .service:nth-child(-n+2) { border-top: none; } /* remove top line for first row */
197 + .service:nth-child(1),
198 + .service:nth-child(2) { border-top:none; } /* first row only */
203 203  
204 204   .service > i {
205 - width:40px; height:40px; border-radius:50%;
201 + width:42px; height:42px; border-radius:50%;
206 206   display:flex; align-items:center; justify-content:center;
207 - font-size:18px; color:#008e78; background:rgba(0,142,120,.09);
208 - margin-top:2px;
203 + font-size:18px; color:#008e78; background:rgba(0,142,120,.08);
204 + margin-top:3px;
209 209   }
210 210  
211 - /* .service .body h3 { margin:0 0 4px; font-size:1.125rem; font-weight:800; }
207 + .service .body h3 { margin:0 0 4px; font-size:1.125rem; font-weight:800; }
212 212   .service .body p { margin:0 0 6px; color:#25333b; line-height:1.5; }
213 - .service .body ul { margin:.35rem 0 0; padding-left:1.15rem; }
214 - .service .body li { margin:.2rem 0; color:#2d3b43; }
215 -*/
216 - /* Mobile: single column */
217 - @media (max-width: 760px) {
218 - .services-grid { grid-template-columns: 1fr; gap: 10px 0; }
219 - .service { grid-template-columns: 38px 1fr; }
209 + .service .body ul { margin:.45rem 0 0; padding-left:1.1rem; color:#2d3b43; }
210 + .service .body li { margin:.25rem 0; line-height:1.45; }
211 +
212 + /* Single centered item (Migrations) */
213 + .service--center {
214 + grid-column:1 / -1; /* spans both columns */
215 + max-width:680px;
216 + justify-self:center; /* center horizontally */
217 + border-top:1px solid rgba(0,0,0,.08);
218 + }
219 +
220 + /* Responsive */
221 + @media (max-width:760px) {
222 + .services-grid { grid-template-columns:1fr; gap:20px; }
223 + .service { grid-template-columns:40px 1fr; }
220 220   .service > i { width:36px; height:36px; font-size:16px; }
221 - .service:nth-child(-n+2) { border-top: 1px solid rgba(0,0,0,0.08); }
222 - .service:first-child { border-top:none; }
225 + .service:nth-child(1) { border-top:none; } /* first only on mobile */
226 + .service--center { max-width:100%; }
223 223   }
224 224  
225 225   /* METRICS */