Changes for page Public Web Site

Last modified by Alex Cotiugă on 2026/05/04 06:16

From version 6.21
edited by Alex Cotiugă
on 2026/05/02 12:05
Change comment: There is no comment for this version
To version 3.58
edited by Alex Cotiugă
on 2025/11/24 12:31
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -5,8 +5,15 @@
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">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>
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>
10 10   <ul class="benefits">
11 11   <li>Smooth upgrades</li>
12 12   <li>Reliable support plans</li>
... ... @@ -13,15 +13,6 @@
13 13   <li>Custom integrations</li>
14 14   <li>Secure, optimized platforms</li>
15 15   </ul>
16 - <div id="hero-cta">
17 - $xwiki.getURL('contact.WebHome')
18 - <a class="btn btn-primary href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a>
19 - #*<a class="btn btn-primary" href="#contact" aria-label="Request a consultation" data-toggle="modal" data-target="#requestConsultation">
20 - Request a consultation
21 - </a>
22 - #requestConsultationModal()*#
23 - ##data-toggle="modal" data-target="#requestConsultationModal"
24 - </div>
25 25   </div>
26 26   </section>
27 27   ## WHY CHOOSE
... ... @@ -144,7 +144,7 @@
144 144   <section id="contact" class="cta-section">
145 145   <div class="container">
146 146   <p class="text-center contact-inline">
147 - Need help with your XWiki? <a href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a>.
145 + Need help with your XWiki? <a href="mailto:alex@agnease.com">Contact Agnease</a>.
148 148   </p>
149 149   </div>
150 150   </section>
... ... @@ -161,7 +161,7 @@
161 161   </div>
162 162   <div class="modal-body">
163 163   <div>
164 - ##Need help with your XWiki? <a href="mailto:alex@agnease.com">Contact Agnease</a>
162 + Need help with your XWiki? <a href="mailto:alex@agnease.com">Contact Agnease</a>
165 165   #displayFormFromSheetCode()
166 166   </div>
167 167   </div>
... ... @@ -174,16 +174,12 @@
174 174   </div>
175 175  #end
176 176  
177 -#macro (stripHTMLMacro $displayOutput)
178 - $stringtool.removeEnd($stringtool.removeStart($displayOutput, '{{html clean="false" wiki="false"}}'), '{{/html}}').replace('Agnease.Code.Lead.LeadClass_0_', 'acl-')
179 -#end
180 -
181 181  #macro (displayFormFromSheetCode)
182 - #set ($editing = true)
176 + #set ($editing = $xcontext.action == 'edit')
183 183   ## The object to display.
184 - #set ($xobject = $doc.newObject('Agnease.Code.Lead.LeadClass'))
178 + #set ($xobject = $doc.getObject('Agnease.Code.Lead.LeadClass'))
185 185   ## The class that describes the object properties.
186 - #set ($xclass = $xwiki.getClass('Agnease.Code.Lead.LeadClass'))
180 + #set ($xclass = $xwiki.getXWikiClass('Agnease.Code.Lead.LeadClass'))
187 187   ## Make sure the following display* method calls use the right object.
188 188   #set ($discard = $doc.use($xobject))
189 189   ## Using the xform vertical form layout.
... ... @@ -190,23 +190,20 @@
190 190   <div class="xform">
191 191   <dl>
192 192   #foreach ($property in $xclass.properties)
193 - #if ($property.name != 'status')
194 - <dt #if (!$editing)
195 - class="editableProperty"
196 - #set ($xobjectPropertyReference = $xobject.getPropertyReference($property.name))
197 - data-property="$escapetool.xml($services.model.serialize($xobjectPropertyReference))"
198 - data-property-type="object"#end>
199 - ## This must match the id generated by the $doc.display() method below.
200 - #set ($propertyId = "acl-$property.name")
201 - <label#if ($editing) for="$escapetool.xml($propertyId)"#end>
202 - $escapetool.xml($property.translatedPrettyName)
203 - </label>
204 - ## Support for specifying a translation key as hint in the property definition.
205 - <span class="xHint">$!escapetool.xml($services.localization.render($property.hint))</span>
206 - </dt>
207 - #set ($displayOutput = $doc.display($property.name, 'edit'))
208 - <dd>#stripHTMLMacro($displayOutput)</dd>
209 - #end
187 + <dt #if (!$editing && $hasEdit)
188 + class="editableProperty"
189 + #set ($xobjectPropertyReference = $xobject.getPropertyReference($property.name))
190 + data-property="$escapetool.xml($services.model.serialize($xobjectPropertyReference))"
191 + data-property-type="object"#end>
192 + ## This must match the id generated by the $doc.display() method below.
193 + #set ($propertyId = "${xclass.name}_${xobject.number}_$property.name")
194 + <label#if ($editing) for="$escapetool.xml($propertyId)"#end>
195 + $escapetool.xml($property.translatedPrettyName)
196 + </label>
197 + ## Support for specifying a translation key as hint in the property definition.
198 + <span class="xHint">$!escapetool.xml($services.localization.render($property.hint))</span>
199 + </dt>
200 + <dd>$doc.display($property.name)</dd>
210 210   #end
211 211   #if (!$xclass.properties || $xclass.properties.size() == 0)
212 212   ## Keep the empty definition term in order to have valid HTML.
XWiki.StyleSheetExtension[0]
code
... ... @@ -20,7 +20,6 @@
20 20  .lead {
21 21   color: @muted;
22 22   text-align: center;
23 - margin-bottom: 0;
24 24  }
25 25  h2 {
26 26   text-align: center;
... ... @@ -49,7 +49,7 @@
49 49   display: flex;
50 50   align-items: center;
51 51   justify-content: center;
52 - min-height: 300px;
51 + min-height: 350px;
53 53   }
54 54  
55 55   .hero-inner {
... ... @@ -60,12 +60,12 @@
60 60   align-items: center;
61 61   }
62 62  
63 - #hero-cta {
62 + .hero-cta {
64 64   display: flex;
65 65   gap: 0.8rem;
66 66   flex-wrap: wrap;
67 67   justify-content: center;
68 - margin-top: 1.3rem;
67 + margin-top: 0.3rem;
69 69   }
70 70  
71 71   .benefits {