Changes for page Public Web Site
Last modified by Agnease on 2026/07/03 16:14
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -2,44 +2,94 @@ 2 2 #macro (displayPublicContent) 3 3 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 4 4 {{html clean="false"}} 5 - <section class="hero hero-saas" id="top"> 6 - <div class="container"> 7 - <div class="hero-layout"> 8 - <div class="hero-copy"> 9 - <h1>Professional XWiki consulting <span>and engineering</span></h1> 10 - 11 - <p class="lead"> 12 - Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care. 13 - </p> 14 - 15 - <ul class="benefits"> 16 - <li>XWiki LTS upgrades</li> 17 - <li>Maintenance and support</li> 18 - <li>Custom XWiki development</li> 19 - <li>Migrations and integrations</li> 20 - </ul> 21 - 22 - <div class="hero-actions" id="hero-cta"> 23 - <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06"> 24 - Book a free discussion 25 - </a> 26 - <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 5 + <section class="hero hero-saas" id="top"> 6 + <div class="container"> 7 + <div class="hero-layout"> 8 + <div class="hero-copy"> 9 + <h1>Professional XWiki consulting <span>and engineering</span></h1> 10 + <p class="lead"> 11 + Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care. 12 + </p> 13 + <ul class="benefits"> 14 + <li>XWiki LTS upgrades</li> 15 + <li>Maintenance and support</li> 16 + <li>Custom XWiki development</li> 17 + <li>Migrations and integrations</li> 18 + </ul> 19 + <div class="hero-actions" id="hero-cta"> 20 + <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06"> 21 + Book a free discussion 22 + </a> 23 + <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 24 + </div> 25 + </div> 26 + <div class="hero-visual" aria-hidden="true"> 27 + <div class="hero-browser"> 28 + <div class="hero-browser-top"> 29 + <div class="hero-dot"></div> 30 + <div class="hero-dot"></div> 31 + <div class="hero-dot"></div> 32 + <div class="hero-search"></div> 27 27 </div> 34 + <div class="hero-browser-body"> 35 + <div class="hero-sidebar"> 36 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Home</div> 37 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Documentation</div> 38 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Processes</div> 39 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Policies</div> 40 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Teams</div> 41 + </div> 42 + <div class="hero-content-panel"> 43 + <div class="hero-panel-title">Production XWiki Platform</div> 44 + <div class="hero-skeleton"></div> 45 + <div class="hero-skeleton"></div> 46 + <div class="hero-skeleton short"></div> 47 + <div class="hero-dashboard-grid"> 48 + <div class="hero-mini-card"> 49 + <h4>Recent work</h4> 50 + <div class="hero-status-row"><span class="hero-status-dot"></span>LTS upgrade plan</div> 51 + <div class="hero-status-row"><span class="hero-status-dot"></span>Extension review</div> 52 + <div class="hero-status-row"><span class="hero-status-dot"></span>Production validation</div> 53 + </div> 54 + <div class="hero-mini-card"> 55 + <h4>Platform care</h4> 56 + <div class="hero-status-row"><span class="hero-status-dot"></span>Permissions</div> 57 + <div class="hero-status-row"><span class="hero-status-dot"></span>Authentication</div> 58 + <div class="hero-status-row"><span class="hero-status-dot"></span>Maintainability</div> 59 + </div> 60 + </div> 61 + </div> 62 + </div> 28 28 </div> 29 - 30 - <div class="hero-image-wrapper"> 31 - <img 32 - class="hero-image" 33 - src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')" 34 - alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements" 35 - width="1200" 36 - height="900" 37 - loading="eager" 38 - /> 64 + <div class="hero-floating hero-upgrade-card"> 65 + <div class="hero-card-title">Upgrade with confidence</div> 66 + <div class="hero-version-flow"> 67 + <div class="hero-version">XWiki<br/>LTS</div> 68 + <div class="hero-arrow">→</div> 69 + <div class="hero-version">Staging</div> 70 + <div class="hero-arrow">→</div> 71 + <div class="hero-version active">Production</div> 72 + </div> 39 39 </div> 74 + <div class="hero-floating hero-security-card"> 75 + <div class="hero-card-title">Security-aware maintenance</div> 76 + <ul> 77 + <li>Permissions review</li> 78 + <li>Authentication support</li> 79 + <li>Audit and traceability</li> 80 + </ul> 81 + </div> 82 + <div class="hero-flow"> 83 + <div class="hero-env">Review</div> 84 + <div class="hero-arrow">→</div> 85 + <div class="hero-env">Plan</div> 86 + <div class="hero-arrow">→</div> 87 + <div class="hero-env">Validate</div> 88 + </div> 40 40 </div> 41 41 </div> 42 - </section> 91 + </div> 92 + </section> 43 43 #* 44 44 <section class="hero hero-centered" aria-labelledby="hero-title"> 45 45 <div class="container hero-inner">
- agnease-xwiki-hero.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -981.8 KB - Content
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -165,7 +165,6 @@ 165 165 */ 166 166 .btn-secondary { 167 167 color: @text; 168 - background: #fff; 169 169 border: 1px solid fade(@text, 35%); 170 170 171 171 } ... ... @@ -738,7 +738,7 @@ 738 738 /* ========== CTA ========== */ 739 739 740 740 .cta-section { 741 - padding: 44px 0 56px;740 + padding: @section-padding; 742 742 743 743 .contact-inline { 744 744 margin: 0; ... ... @@ -748,68 +748,67 @@ 748 748 color: @brand; 749 749 } 750 750 } 750 +} 751 751 752 - .cta-panel { 753 - position: relative; 754 - overflow: hidden; 755 - max-width: 1040px; 756 - margin: 0 auto; 757 - padding: 48px 40px; 758 - border: 0; 759 - border-radius: 26px; 760 - background: 761 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 762 - linear-gradient(135deg, @text 0%, @text-soft 100%); 763 - color: #fff; 764 - box-shadow: @shadow; 765 - text-align: center; 752 +.cta-panel { 753 + max-width: 860px; 754 + margin: 0 auto; 755 + padding: 32px; 756 + border-radius: @radius; 757 + border: 1px solid fade(@brand, 20%); 758 + box-shadow: @shadow-sm; 759 + text-align: center; 766 766 767 - &::before { 768 - content: ""; 769 - position: absolute; 770 - inset: 0; 771 - background: 772 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 773 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 774 - background-size: 48px 48px; 775 - opacity: .4; 776 - pointer-events: none; 777 - } 761 + h2 { 762 + margin-top: 0; 763 + } 778 778 779 - h2, 780 - p, 781 - .btn { 782 - position: relative; 783 - z-index: 1; 784 - } 765 + p { 766 + color: @muted; 767 + line-height: 1.55; 768 + } 769 +} 785 785 786 - h2 { 787 - max-width: 760px; 788 - margin: 0 auto 16px; 789 - color: #fff; 790 - } 771 +.resource-inline-cta { 772 + display: flex; 773 + align-items: center; 774 + justify-content: space-between; 775 + gap: 22px; 776 + margin: 30px 0; 777 + padding: 20px 22px; 778 + border: 1px solid fade(@brand, 22%); 779 + border-radius: @radius; 780 + background: @brand-bg; 781 + box-shadow: @shadow-sm; 791 791 783 + p { 784 + margin: 0; 785 + color: @muted; 786 + line-height: 1.55; 787 + } 788 + 789 + strong { 790 + color: @text; 791 + } 792 + 793 + .btn { 794 + flex-shrink: 0; 795 + } 796 +} 797 + 798 +@media (max-width: 767px) { 799 + .resource-inline-cta { 800 + display: block; 801 + text-align: center; 802 + 792 792 p { 793 - max-width: 760px; 794 - margin: 0 auto 28px; 795 - color: #DBE4EF; 796 - font-size: 16px; 797 - line-height: 1.6; 804 + margin-bottom: 14px; 798 798 } 799 799 800 - .btn-primary { 801 - border-color: #fff; 802 - background: #fff; 803 - color: @text; 804 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 805 - 806 - &:hover, 807 - &:focus { 808 - border-color: #fff; 809 - background: #fff; 810 - color: @brand-strong; 811 - text-decoration: none; 812 - } 807 + .btn { 808 + display: inline-block; 809 + margin-left: auto; 810 + margin-right: auto; 813 813 } 814 814 } 815 815 } ... ... @@ -901,15 +901,8 @@ 901 901 gap: 14px; 902 902 } 903 903 904 - .cta-section { 905 - .cta-panel { 906 - padding: 30px 22px; 907 - border-radius: 20px; 908 - 909 - .btn-primary { 910 - width: 100%; 911 - } 912 - } 902 + .cta-panel { 903 + padding: 24px 20px; 913 913 } 914 914 } 915 915 ... ... @@ -1643,8 +1643,8 @@ 1643 1643 background-image: none !important; 1644 1644 } */ 1645 1645 1646 -/* ========== Main Page Hero / SaaS Layout ========== */ 1647 1647 1638 +/* ========== Hero ========== */ 1648 1648 #mainContentArea .hero.hero-saas { 1649 1649 min-height: auto; 1650 1650 padding: 60px 0 34px; ... ... @@ -1653,21 +1653,18 @@ 1653 1653 overflow: hidden; 1654 1654 background: transparent; 1655 1655 } 1656 - 1657 1657 #mainContentArea .hero-layout { 1658 1658 max-width: 1120px; 1659 1659 margin: 0 auto; 1660 1660 display: grid; 1661 - grid-template-columns: minmax(0, . 9fr) minmax(0, 1.1fr);1651 + grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); 1662 1662 gap: 56px; 1663 1663 align-items: center; 1664 1664 } 1665 - 1666 -#mainContentArea .hero-copy { 1667 - min-width: 0; 1655 +#mainContentArea .hero-copy, 1656 +#mainContentArea .hero.hero-saas .lead { 1668 1668 text-align: left; 1669 1669 } 1670 - 1671 1671 #mainContentArea .hero.hero-saas h1 { 1672 1672 max-width: 640px; 1673 1673 margin: 0 0 26px; ... ... @@ -1676,20 +1676,16 @@ 1676 1676 line-height: 1; 1677 1677 letter-spacing: -3px; 1678 1678 } 1679 - 1680 1680 #mainContentArea .hero.hero-saas h1 span { 1681 1681 color: @brand; 1682 1682 } 1683 - 1684 1684 #mainContentArea .hero.hero-saas .lead { 1685 1685 max-width: 590px; 1686 1686 margin: 0 0 28px; 1687 1687 color: #334155; 1688 - text-align: left; 1689 1689 font-size: 18px; 1690 1690 line-height: 1.6; 1691 1691 } 1692 - 1693 1693 #mainContentArea .hero.hero-saas .benefits { 1694 1694 max-width: 620px; 1695 1695 margin: 0 0 30px; ... ... @@ -1702,7 +1702,6 @@ 1702 1702 font-size: 15px; 1703 1703 text-align: left; 1704 1704 } 1705 - 1706 1706 #mainContentArea .hero.hero-saas .benefits li { 1707 1707 display: grid; 1708 1708 grid-template-columns: 18px minmax(0, 1fr); ... ... @@ -1711,7 +1711,6 @@ 1711 1711 margin: 0; 1712 1712 line-height: 1.45; 1713 1713 } 1714 - 1715 1715 #mainContentArea .hero.hero-saas .benefits li::before { 1716 1716 content: "✓"; 1717 1717 display: block; ... ... @@ -1722,100 +1722,212 @@ 1722 1722 text-align: left; 1723 1723 margin: 0; 1724 1724 } 1725 - 1726 -#mainContentArea .hero.hero-saas .hero-actions, 1727 -#mainContentArea .hero.hero-saas #hero-cta { 1707 +#mainContentArea .hero-actions, 1708 +#mainContentArea #hero-cta { 1728 1728 display: flex; 1729 1729 flex-wrap: wrap; 1730 1730 justify-content: flex-start; 1731 1731 gap: 12px; 1732 - margin-top: 0; 1733 1733 } 1734 - 1735 -#mainContentArea .hero-image-wrapper { 1736 - min-width: 0; 1714 +#mainContentArea .hero-visual { 1715 + position: relative; 1716 + min-height: 540px; 1717 +} 1718 +#mainContentArea .hero-browser, 1719 +#mainContentArea .hero-floating { 1720 + border: 1px solid @line; 1721 + background: fade(#fff, 94%); 1722 + box-shadow: @shadow; 1723 + backdrop-filter: blur(14px); 1724 +} 1725 +#mainContentArea .hero-browser { 1726 + position: absolute; 1727 + top: 8px; 1728 + right: 0; 1729 + width: 100%; 1730 + max-width: 720px; 1731 + overflow: hidden; 1732 + border-radius: 18px; 1733 + background: fade(#fff, 88%); 1734 +} 1735 +#mainContentArea .hero-browser-top { 1736 + height: 58px; 1737 1737 display: flex; 1738 - justify-content: center; 1739 1739 align-items: center; 1739 + gap: 10px; 1740 + padding: 0 24px; 1741 + border-bottom: 1px solid @line; 1742 + background: fade(#fff, 74%); 1740 1740 } 1741 - 1742 -#mainContentArea .hero-image { 1743 - display: block; 1744 - width: 100%; 1745 - max-width: 620px; 1746 - height: auto; 1747 - border: 0; 1744 +#mainContentArea .hero-dot, 1745 +#mainContentArea .hero-status-dot { 1746 + border-radius: 50%; 1748 1748 } 1749 - 1750 -/* ========== Main Page Hero Responsive ========== */ 1751 - 1752 -@media (max-width: 1100px) { 1753 - #mainContentArea .hero-layout { 1754 - max-width: 760px; 1755 - grid-template-columns: 1fr; 1756 - gap: 34px; 1757 - } 1758 - 1759 - #mainContentArea .hero-copy { 1760 - order: 1; 1761 - text-align: center; 1762 - } 1763 - 1764 - #mainContentArea .hero-image-wrapper { 1765 - order: 2; 1766 - } 1767 - 1768 - #mainContentArea .hero.hero-saas h1 { 1769 - margin-left: auto; 1770 - margin-right: auto; 1771 - text-align: center; 1772 - } 1773 - 1774 - #mainContentArea .hero.hero-saas .lead { 1775 - margin-left: auto; 1776 - margin-right: auto; 1777 - text-align: center; 1778 - } 1779 - 1780 - #mainContentArea .hero.hero-saas .benefits { 1781 - margin-left: auto; 1782 - margin-right: auto; 1783 - } 1784 - 1785 - #mainContentArea .hero.hero-saas .hero-actions, 1786 - #mainContentArea .hero.hero-saas #hero-cta { 1787 - justify-content: center; 1788 - } 1789 - 1790 - #mainContentArea .hero-image { 1791 - max-width: 620px; 1792 - } 1748 +#mainContentArea .hero-dot { 1749 + width: 10px; 1750 + height: 10px; 1751 + background: #CBD5E1; 1793 1793 } 1794 - 1795 -@media (max-width: 640px) { 1796 - #mainContentArea .hero.hero-saas { 1797 - padding: 42px 0 28px; 1798 - } 1799 - 1800 - #mainContentArea .hero-layout { 1801 - gap: 28px; 1802 - } 1803 - 1804 - #mainContentArea .hero.hero-saas h1 { 1805 - font-size: 42px; 1806 - letter-spacing: -1.5px; 1807 - } 1808 - 1809 - #mainContentArea .hero.hero-saas .lead { 1810 - font-size: 17px; 1811 - } 1812 - 1813 - #mainContentArea .hero.hero-saas .benefits { 1814 - grid-template-columns: 1fr; 1815 - } 1816 - 1817 - #mainContentArea .hero-image { 1818 - max-width: 100%; 1819 - } 1753 +#mainContentArea .hero-status-dot { 1754 + width: 8px; 1755 + height: 8px; 1756 + background: @brand; 1820 1820 } 1758 +#mainContentArea .hero-search { 1759 + margin-left: auto; 1760 + width: 170px; 1761 + height: 26px; 1762 + border: 1px solid #E2E8F0; 1763 + border-radius: 20px; 1764 + background: #F1F5F9; 1765 +} 1766 +#mainContentArea .hero-browser-body { 1767 + display: grid; 1768 + grid-template-columns: 150px minmax(0, 1fr); 1769 +} 1770 +#mainContentArea .hero-sidebar { 1771 + padding: 24px 18px; 1772 + border-right: 1px solid @line; 1773 + background: #F8FAFC; 1774 +} 1775 +#mainContentArea .hero-nav-item, 1776 +#mainContentArea .hero-status-row, 1777 +#mainContentArea .hero-version-flow, 1778 +#mainContentArea .hero-flow { 1779 + display: flex; 1780 + align-items: center; 1781 +} 1782 +#mainContentArea .hero-nav-item { 1783 + gap: 9px; 1784 + padding: 10px 8px; 1785 + color: #334155; 1786 + font-size: 13px; 1787 +} 1788 +#mainContentArea .hero-nav-icon { 1789 + width: 20px; 1790 + height: 20px; 1791 + border: 1px solid #CBD5E1; 1792 + border-radius: 5px; 1793 +} 1794 +#mainContentArea .hero-content-panel { 1795 + padding: 26px; 1796 +} 1797 +#mainContentArea .hero-panel-title, 1798 +#mainContentArea .hero-card-title { 1799 + color: @text; 1800 + font-weight: 800; 1801 +} 1802 +#mainContentArea .hero-panel-title { 1803 + margin-bottom: 18px; 1804 + font-size: 20px; 1805 +} 1806 +#mainContentArea .hero-skeleton { 1807 + height: 8px; 1808 + margin-bottom: 10px; 1809 + border-radius: 10px; 1810 + background: #E2E8F0; 1811 +} 1812 +#mainContentArea .hero-skeleton.short { 1813 + width: 64%; 1814 +} 1815 +#mainContentArea .hero-dashboard-grid { 1816 + margin-top: 28px; 1817 + display: grid; 1818 + grid-template-columns: repeat(2, minmax(0, 1fr)); 1819 + gap: 18px; 1820 +} 1821 +#mainContentArea .hero-mini-card { 1822 + padding: 18px; 1823 + border: 1px solid @line; 1824 + border-radius: 14px; 1825 + background: #fff; 1826 +} 1827 +#mainContentArea .hero-mini-card h4 { 1828 + margin: 0 0 14px; 1829 + font-size: 15px; 1830 +} 1831 +#mainContentArea .hero-status-row { 1832 + gap: 10px; 1833 + margin: 11px 0; 1834 + color: #475569; 1835 + font-size: 13px; 1836 +} 1837 +#mainContentArea .hero-floating { 1838 + position: absolute; 1839 + border-radius: 16px; 1840 +} 1841 +#mainContentArea .hero-upgrade-card { 1842 + left: 0; 1843 + bottom: 72px; 1844 + width: 320px; 1845 + padding: 20px; 1846 +} 1847 +#mainContentArea .hero-security-card { 1848 + right: 20px; 1849 + top: 260px; 1850 + width: 260px; 1851 + padding: 22px; 1852 +} 1853 +#mainContentArea .hero-security-card ul { 1854 + margin: 0; 1855 + padding: 0; 1856 + list-style: none; 1857 +} 1858 +#mainContentArea .hero-security-card li { 1859 + margin: 12px 0; 1860 + font-size: 14px; 1861 +} 1862 +#mainContentArea .hero-security-card li::before { 1863 + content: "✓"; 1864 + margin-right: 8px; 1865 + color: @brand; 1866 + font-weight: 900; 1867 +} 1868 +#mainContentArea .hero-card-title { 1869 + margin-bottom: 16px; 1870 +} 1871 +#mainContentArea .hero-version-flow { 1872 + gap: 8px; 1873 +} 1874 +#mainContentArea .hero-version { 1875 + width: 62px; 1876 + height: 54px; 1877 + padding: 0 8px; 1878 + display: grid; 1879 + place-items: center; 1880 + box-sizing: border-box; 1881 + border-radius: 8px; 1882 + background: #F1F5F9; 1883 + color: #334155; 1884 + text-align: center; 1885 + font-size: 13px; 1886 + line-height: 1.25; 1887 +} 1888 +#mainContentArea .hero-version.active { 1889 + width: 84px; 1890 + background: @text; 1891 + color: #fff; 1892 +} 1893 +#mainContentArea .hero-arrow { 1894 + color: #64748B; 1895 +} 1896 +#mainContentArea .hero-flow { 1897 + position: absolute; 1898 + right: 48px; 1899 + bottom: 18px; 1900 + gap: 12px; 1901 +} 1902 +#mainContentArea .hero-env { 1903 + min-width: 130px; 1904 + padding: 16px 20px; 1905 + border: 1px solid @line; 1906 + border-radius: 12px; 1907 + background: #fff; 1908 + color: #475569; 1909 + text-align: center; 1910 + text-transform: uppercase; 1911 + font-size: 12px; 1912 + letter-spacing: 1.3px; 1913 + box-shadow: 0 16px 40px rgba(15, 23, 42, .08); 1914 +} 1821 1821