Changes for page Public Web Site
Last modified by Alex Cotiugă on 2026/05/04 06:16
From version 3.54
edited by Alex Cotiugă
on 2025/11/24 11:05
on 2025/11/24 11:05
Change comment:
There is no comment for this version
To version 4.6
edited by Alex Cotiugă
on 2026/05/01 12:13
on 2026/05/01 12:13
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -5,21 +5,22 @@ 5 5 ## HERO 6 6 <section class="hero hero-centered" aria-labelledby="hero-title"> 7 7 <div class="container hero-inner"> 8 - <h1 id="hero-title">Professional XWiki solutions, from setup to long-term stability</h1> 9 - <p class="lead">Need your XWiki upgraded, secured, or improved? Let’s make it happen.</p> 10 - <div class="hero-cta"> 11 - <a class="btn btn-primary" href="#contact" aria-label="Request a consultation" data-toggle="modal" data-target="#requestConsultation"> 12 - Request a consultation 13 - </a> 14 - #requestConsultationModal() 15 - ##data-toggle="modal" data-target="#requestConsultationModal" 16 - </div> 8 + <h1 id="hero-title">Keep Your XWiki Platform Secure, Stable and Up-to-Date</h1> 9 + <p class="lead">Helping organizations safely upgrade and maintain their XWiki environments.</p> 17 17 <ul class="benefits"> 18 - <li>Smooth upgrades</li> 11 + <li><a href="$xwiki.getURL('services.xwiki-upgrades')">Smooth upgrades</a></li> 19 19 <li>Reliable support plans</li> 20 20 <li>Custom integrations</li> 21 21 <li>Secure, optimized platforms</li> 22 22 </ul> 16 + <div class="hero-cta"> 17 + <a href="mailto:alex@agnease.com">Contact Agnease</a> 18 + #*<a class="btn btn-primary" href="#contact" aria-label="Request a consultation" data-toggle="modal" data-target="#requestConsultation"> 19 + Request a consultation 20 + </a> 21 + #requestConsultationModal()*# 22 + ##data-toggle="modal" data-target="#requestConsultationModal" 23 + </div> 23 23 </div> 24 24 </section> 25 25 ## WHY CHOOSE ... ... @@ -60,6 +60,7 @@ 60 60 ## SERVICES 61 61 #set ($servicesSectionData = [{ 62 62 'title': 'Upgrades', 64 + 'reference': 'services.xwiki-upgrades', 63 63 'icon': 'refresh', 64 64 'content': 'Stay current with the latest XWiki LTS and keep your instance reliable.', 65 65 'items': [ ... ... @@ -125,7 +125,13 @@ 125 125 <i class="fa fa-$entry.icon" aria-hidden="true"></i> 126 126 </div> 127 127 <div class="service-body"> 128 - <h4>$entry.title</h4> 130 + <h4> 131 + #if ("$!entry.reference" != '') 132 + <a href="$xwiki.getURL($entry.reference)">$entry.title</a> 133 + #else 134 + $entry.title 135 + #end 136 + </h4> 129 129 <p>$entry.content</p> 130 130 <ul> 131 131 #foreach ($item in $entry.items) ... ... @@ -159,7 +159,8 @@ 159 159 </div> 160 160 <div class="modal-body"> 161 161 <div> 162 - Need help with your XWiki? <a href="mailto:alex@agnease.com">Contact Agnease</a> 170 + ##Need help with your XWiki? <a href="mailto:alex@agnease.com">Contact Agnease</a> 171 + #displayFormFromSheetCode() 163 163 </div> 164 164 </div> 165 165 <div class="modal-footer"> ... ... @@ -170,4 +170,47 @@ 170 170 </div> 171 171 </div> 172 172 #end 182 + 183 +#macro (stripHTMLMacro $displayOutput) 184 + $stringtool.removeEnd($stringtool.removeStart($displayOutput, '{{html clean="false" wiki="false"}}'), '{{/html}}').replace('Agnease.Code.Lead.LeadClass_0_', 'acl-') 185 +#end 186 + 187 +#macro (displayFormFromSheetCode) 188 + #set ($editing = true) 189 + ## The object to display. 190 + #set ($xobject = $doc.newObject('Agnease.Code.Lead.LeadClass')) 191 + ## The class that describes the object properties. 192 + #set ($xclass = $xwiki.getClass('Agnease.Code.Lead.LeadClass')) 193 + ## Make sure the following display* method calls use the right object. 194 + #set ($discard = $doc.use($xobject)) 195 + ## Using the xform vertical form layout. 196 + <div class="xform"> 197 + <dl> 198 + #foreach ($property in $xclass.properties) 199 + #if ($property.name != 'status') 200 + <dt #if (!$editing) 201 + class="editableProperty" 202 + #set ($xobjectPropertyReference = $xobject.getPropertyReference($property.name)) 203 + data-property="$escapetool.xml($services.model.serialize($xobjectPropertyReference))" 204 + data-property-type="object"#end> 205 + ## This must match the id generated by the $doc.display() method below. 206 + #set ($propertyId = "acl-$property.name") 207 + <label#if ($editing) for="$escapetool.xml($propertyId)"#end> 208 + $escapetool.xml($property.translatedPrettyName) 209 + </label> 210 + ## Support for specifying a translation key as hint in the property definition. 211 + <span class="xHint">$!escapetool.xml($services.localization.render($property.hint))</span> 212 + </dt> 213 + #set ($displayOutput = $doc.display($property.name, 'edit')) 214 + <dd>#stripHTMLMacro($displayOutput)</dd> 215 + #end 216 + #end 217 + #if (!$xclass.properties || $xclass.properties.size() == 0) 218 + ## Keep the empty definition term in order to have valid HTML. 219 + <dt></dt> 220 + <dd>$escapetool.xml($services.localization.render('xclass.defaultObjectSheet.noProperties'))</dd> 221 + #end 222 + </dl> 223 + </div> 224 +#end 173 173 {{/velocity}}