]> xenbits.xensource.com Git - www-xenproject-org.git/commitdiff
Squashed commit of the following:
authorArnaud Guéras <arnaudgs@gmail.com>
Tue, 5 Nov 2024 01:26:39 +0000 (02:26 +0100)
committerArnaud Guéras <arnaudgs@gmail.com>
Tue, 5 Nov 2024 01:26:39 +0000 (02:26 +0100)
commit f925cbd05451ed452604ddc01d2c8c8d74b4a4f1
Author: Arnaud Guéras <arnaudgs@gmail.com>
Date:   Tue Nov 5 02:26:19 2024 +0100

    fix all pages

Signed-off-by: Arnaud Guéras <arnaudgs@gmail.com>
commit 77a9a4a58d3c1d09ccb226e1c51e06ef0ab98545
Author: Arnaud Guéras <arnaudgs@gmail.com>
Date:   Tue Nov 5 01:25:01 2024 +0100

    fix pges and structure css

37 files changed:
content/contribute/code-of-conduct.md
content/contribute/contribution-guidelines.md
content/contribute/get-started.md
content/projects/all-projects.md
content/projects/embedded-and-automative.md
content/projects/hvmi.md
content/projects/hypervisor.md
content/projects/hypervisor/openpgp-keys.md [new file with mode: 0644]
content/projects/mirage-os.md
content/projects/unikraft.md
content/projects/windows-pv-drivers.md
content/projects/xapi.md
content/projects/xcp-ng.md
content/resources/use-cases.md
hugo_stats.json
themes/xen-project/assets/css/components/box-members.scss
themes/xen-project/assets/css/components/box-resources.scss
themes/xen-project/assets/css/components/images-in-circle.scss
themes/xen-project/assets/css/header/header-desktop.scss
themes/xen-project/assets/css/header/header-mobile.scss
themes/xen-project/assets/css/layout/aside.scss
themes/xen-project/assets/css/layout/page-single-aside.scss
themes/xen-project/assets/css/molecules/buttons.scss
themes/xen-project/assets/css/molecules/features-list.scss
themes/xen-project/assets/css/molecules/media-block.scss
themes/xen-project/assets/css/molecules/search-form.scss
themes/xen-project/assets/css/molecules/vertical-lists.scss
themes/xen-project/assets/css/structure.scss
themes/xen-project/assets/css/variables.scss
themes/xen-project/assets/js/downloads-search.js
themes/xen-project/layouts/_default/baseof.html
themes/xen-project/layouts/_default/home.html
themes/xen-project/layouts/_default/single.html
themes/xen-project/layouts/partials/card.html
themes/xen-project/layouts/partials/header.html
themes/xen-project/layouts/partials/layout/link-item.html
themes/xen-project/layouts/shortcodes/list-pages.html

index 3a6126b528f76ae646825949566167434175efc1..543eaa3ef14d6271c582c32c72b4c4bf9dee1054 100644 (file)
@@ -11,14 +11,14 @@ menus:
 aside: 
   - type: resource
     items:
-      - name: https://xenbits.xenproject.org/governance/communication-guide.html
-        link: Communication Guide
-      - name: https://xenbits.xenproject.org/governance/code-review-guide.html
-        link: Code Review Guide
-      - name: https://xenbits.xenproject.org/governance/communication-practice.html
-        link: Communication Best Practice
-      - name: https://xenbits.xenproject.org/governance/resolving-disagreement.html
-        link: Resolving Disagreement
+      - name: Communication Guide
+        link: https://xenbits.xenproject.org/governance/communication-guide.html
+      - name: Code Review Guide
+        link: https://xenbits.xenproject.org/governance/code-review-guide.html
+      - name: Communication Best Practice
+        link: https://xenbits.xenproject.org/governance/communication-practice.html
+      - name: Resolving Disagreement
+        link: https://xenbits.xenproject.org/governance/resolving-disagreement.html
 ---
 
 {{<section md="true" container="small content-markdown">}}
index 94f8ea34e6c9f2aac64b16d9ec110684bd9a73ea..c6b7969df8dafa85b9319fd47a2e1174a001a1b8 100644 (file)
@@ -4,21 +4,22 @@ description: Please adhere to the following guidelines as you participate in the
 keywords: "Xen Project contribution guidelines, contributing to Xen Project, Xen Project patches, Xen Project code submission, Xen Project community, Xen Project development, Xen Project code of conduct, Xen Project patch submission, Xen Project developer guide, Xen Project contribution process, Xen Project coding standards, Xen Project patch review, Xen Project code security, Xen Project static analysis, Xen Project Coverity Scan"
 date: 2024-01-14T07:07:07+01:00
 draft: false
-layout: content-only
 menus:
   main:
     parent: Contribute
     weight: 50
 ---
 
-## Introduction
+
+{{<section md="true" class="content-markdown">}}
+### Introduction
 
 We want to see people contributing to the Xen Project effort, and there are many ways to do so.
 
 Our goal is to maintain an environment of professionalism, respect, and innovation within Xen Project development. 
 Please adhere to our [Code of Conduct](/contribute/code-of-conduct/) in the Xen Project community.
 
-## Contributing code
+### Contributing code
 
 Contributions to the Xen Project are made through patches that are reviewed by the community. We do require contributors to sign contributions using the sign-off feature of the code repository, following the same approach as the Linux Kernel does (see [Developer Certificate Of Origin](http://elinux.org/Developer_Certificate_Of_Origin)).
 
@@ -34,7 +35,7 @@ Before submitting a patch please read the CONTRIBUTING, COPYING and CODING_STYLE
 
 You can also ask questions on the [xen-devel@lists.xenproject.org](mailto:xen-devel@lists.xenproject.org) mailing list or our [Matrix channels](/resources/matrix/).
 
-## Submitting patches to the Xen Project codebase
+### Submitting patches to the Xen Project codebase
 
 Please first check the submission process for the Xen Sub-Project, and send an email to the proper mailing list with [PATCH] as the first word in the subject line. Each patch should perform a single function. Patches sent to the mailing lists should be broken up into several email messages of less than 100KB each, with only one patch per email.
 
@@ -42,15 +43,15 @@ Please include a description of why you want the change made (not just the "what
 
 For details about what to include in your patch, you should start with the [patch submission documentation](https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches)).
 
-## Escalation
+### Escalation
 
 If you submitted a patch to the xen-devel mailing list or bugzilla and did not receive a response within 5 business days, please send an email to xen-devel and in the first line of that email, include this phrase "Patch escalation: no response for x days".
 
 This is one case where you should "top post" to make sure that the escalation text is read.
 
-## Code security scanning
+### Code security scanning
 
 The Xen Project is registered with the ["Coverity Scan" service](https://scan.coverity.com/faq) which applies Coverity's static analyser to the Open Source projects. The tool can and does find flaws in the source code which can include security issues. Currently only the Xen Project Hypervisor (i.e. xen.git) is covered by these scans. Triaging and proposing solutions for the flaws found by Coverity is a useful way in which Community members can contribute to the Xen Project.
 
 Members of the community may request access to the Coverity database. However, Coverity requires that you create an account and apply for Xen Project membership by searching for the Xen Project and then requesting to be added to the project. We typically will approve requests within a few days, but reserve rejecting requests from accounts who never engaged with the project (aka never posted to a mailing list) or which look like spam accounts.
-
+{{</section>}}
index e71f6d99f3d4dfc582bea709d415e41754959fa8..c69417eb7dae8613107ceab8f07fee6015999588 100644 (file)
@@ -15,6 +15,7 @@ menu:
     title="Contributing to Xen: an introduction"
     media=`https://www.youtube.com/embed/F6TDJnYtcY8`
     alt="Video of a presentation about Contributing to Xen on Youtube"
+    animate="true"
 >}}
 We've collated some information to help you get started, click here for resources.
 
@@ -26,7 +27,7 @@ We've collated some information to help you get started, click here for resource
 {{</media-block>}}
 {{</section>}}
 
-{{<section background="curve">}}
+{{<section class="section-square-primary">}}
 {{<vertical-lists cols="2">}}
 - title: "**Read** documentation"
   text: >
@@ -46,8 +47,9 @@ We've collated some information to help you get started, click here for resource
 {{<media-block
     title="Access more resources"
     media=`/img/flatline/java.svg`
-    mediaPosition="right"
     alt="Illustration of a laptop displaying code, with a cup of coffee and a notebook beside it, symbolizing a coding or development environment."
+    mediaPosition="right"
+    animate="true"
 >}}
 
 <p class="mg-t-md"><a href="https://www.youtube.com/channel/UCGukhVf8pWrUVdse6KR6SRw">Youtube channel<i class="fas fa-arrow-up-right-from-square"></i></a></p>
@@ -62,6 +64,7 @@ We've collated some information to help you get started, click here for resource
 {{<media-block
     title="Advised by Xen project **members**"
     media=`{{<partial "blocks/logos-circle">}}`
+    animate="true"
 >}}
   The Xen Project Advisory Board is composed of experienced members who provide guidance and support to the project. Their expertise helps shape the direction and ensures the success of the Xen Project. By collaborating with the advisory board, we can address challenges and seize opportunities in the virtualization technology landscape.
 
@@ -77,8 +80,9 @@ We've collated some information to help you get started, click here for resource
 {{<media-block
     title="Become a member"
     media="/img/flatline/team-meeting.svg"
-    mediaPosition="right"
     alt="Illustration of three people discussing around a table with documents, representing teamwork and collaboration."
+    mediaPosition="right"
+    animate="true"
 >}}
 By being an active Advisory Board participant, regular opportunities for discussions with technical leaders include the chance to share priorities and endorse new strategies. In return, members will gain valuable strategic insight into project plans and future scope.
   <p class="mg-t-md">
index f0a663ccbb71f22ea854466339dd0a01e8df8b9f..d0a98929717fde7df174cbbe8282e8b386851af7 100644 (file)
@@ -17,7 +17,7 @@ menus:
   {{<list-pages "projects">}}
 {{</section>}}
 
-{{<section background="curve" class="txt-c">}}
+{{<section class="section-square-primary txt-c">}}
   {{<md>}}
   ### Join the **conversation**
   {{</md>}}
@@ -39,12 +39,13 @@ menus:
     title="Lead by a <strong>dedicated community</strong>"
     media="/img/flatline/team-work.svg"
     alt="Illustration of a team working together on a project, with a shared vision and goal."
+    animate="true"
   >}}
   The Xen community is a dynamic and collaborative ecosystem comprised of developers, researchers, and enthusiasts dedicated to advancing open-source virtualization technology.
   With diverse backgrounds and expertise, members actively contribute to Xen's evolution, fostering innovation, sharing knowledge, and supporting one another through continuous development efforts.
 
   <p class="mg-t-md">
-    <a href="/contribute/get-started/" class="btn btn-secondary">
+    <a href="/contribute/get-started/" class="btn btn-primary">
      Get started <i class="fas fa-arrow-right"></i>
     </a>
   </p>
@@ -56,8 +57,9 @@ menus:
   {{<media-block
     title="About **Xen Project**</strong>"
     media="/img/flatline/data-process.svg"
-    mediaPosition="right"
     alt="Illustration of a laptop displaying 3D bar charts, connected to cloud storage and file management icons, symbolizing data synchronization and integration."
+    mediaPosition="right"
+    animate="true"
   >}}
 The Xen community is a dynamic and collaborative ecosystem comprised of developers, researchers, and enthusiasts dedicated to advancing open-source virtualization technology.
 With diverse backgrounds and expertise, members actively contribute to Xen's evolution, fostering innovation, sharing knowledge, and supporting one another through continuous development efforts.
index 0f6a2f96370a21ca6ab74c16ebccd528294afc26..6ef16070ecff2186dd83764841f9dff0f9f567fc 100644 (file)
@@ -17,6 +17,7 @@ menus:
     media="/img/logos/arm-logo.svg"
     imageSize="50%"
     alt="ARM logo"
+    animate="true"
   >}}
 {{<md>}}
 At the core of every modern embedded system is software meticulously crafted and seamlessly integrated with hardware, dedicated to fulfilling a specific, vital function. This is where our journey begins.
@@ -41,6 +42,8 @@ Our focus extends beyond ARMv7 to encompass ARMv8, x86-64, and RISC-V, catering
     media="/img/flatline/data_and_settings.svg"
     mediaPosition="right"
     alt="Illustration of a database icon with gears and a wrench, representing data management and configuration tools."
+    animate="true"
+
   >}}
   {{<md>}}
 - Xen revolutionizes embedded systems, enabling fully-featured operating systems like Linux to coexist with smaller and faster RTOSes such as Zephyr.
@@ -50,7 +53,7 @@ Our focus extends beyond ARMv7 to encompass ARMv8, x86-64, and RISC-V, catering
 {{</media-block>}}
 {{</section>}}
 
-{{<section background="normal">}}
+{{<section class="section-square-rounded">}}
   {{<features-list cols="3">}}
     - title: Real-Time and Cache Coloring
       icon: fas fa-clock-rotate-left
@@ -70,6 +73,8 @@ Our focus extends beyond ARMv7 to encompass ARMv8, x86-64, and RISC-V, catering
   {{<media-block
     title="Why Xen Project?"
     media=`{{<youtube id="uuBhqwbaObE" title="Xen Project's Progress Toward Safety Certification"  >}}`
+    animate="true"
+
   >}}
 
 The Xen Project Hypervisor is uniquely placed to support a new range of use cases, building on top of 14 years of usage within the data center. In particular, its isolation and security features, flexible virtualization mode and architecture, driver disaggregation, and ARM support (only 47K lines of code) make it a perfect fit for embedded applications.
@@ -84,6 +89,7 @@ The Xen Project Hypervisor is uniquely placed to support a new range of use case
     media="/img/others/xen-progress-certification.png"
     mediaPosition="right"
     alt="Slide titled 'Xen Project's Progress Toward Safety Certification' by Stefano Stabellini and team members from AMD and BUGSENG."
+    animate="true"
   >}}
 {{<md>}}
 With sponsorships from the likes of AMD, we’re on a mission to align Xen with top safety standards, including ISO 26262 ASIL D and IEC 61508 SIL 3.
@@ -100,6 +106,7 @@ Xen is not just a technology; it’s a vision coming to life, shaping the future
     title="Functional safety"
     media="/img/flatline/coding.svg"
     alt="Illustration of a person typing code on a computer, symbolizing software development and programming."
+    animate="true"
   >}}
 {{<md>}}
 
index 39253f625623563579062e296510ba2cffa1a807..4cbc9cfbb6f3075b374adc3f827078b41e1c13ef 100644 (file)
@@ -21,6 +21,7 @@ aside:
     title="What is HVMI?"
     media="https://xenproject.org/wp-content/uploads/sites/79/2020/07/github-hvmi-v2_Kek0TiK6.compressed.mp4"
     alt="Video of a presentation about HVMI"   
+    animate="true"
   >}}
 HVMI stands for Hypervisor-based Memory Introspection. The technology leverages Virtual Machine Introspection (VMI) APIs in the Xen and KVM hypervisors. By gaining introspection of the raw memory of running guest virtual machines, HVMI can apply security logic to detect and prevent the use of common attack techniques, such as buffer overflows, heap spray, code injection, and so-on.
 {{</media-block>}}
@@ -32,6 +33,7 @@ HVMI stands for Hypervisor-based Memory Introspection. The technology leverages
     media="/img/flatline/laptop-cybersecurity.svg"
     mediaPosition="right"
     alt="Illustration of a laptop with a shield and check mark icon, representing cybersecurity and data protection."
+    animate="true"
   >}}
 
 A research and development team at Bitdefender extended the VMI APIs by working with the Xen Project and KVM Project communities. Bitdefender initially released a commercial solution known as GravityZone Hypervisor Introspection (HVI). The core components of HVI were open-sourced in mid-2020, forming the basis of the HVMI project.
@@ -44,6 +46,7 @@ The primary goal of the HVMI project is to build a community to foster developme
     title="License"
     media="/img/flatline/coding2.svg"
     alt="Illustration of hands typing code on a laptop with documents and a cup of coffee, symbolizing software development and workflow."
+    animate="true"
   >}}
 HVMI is licensed under Apache 2.0.
 {{</media-block>}}
index 91986b55e180d9702a79d4bec5eb9e5516c7a8d0..4d53739a94ccd360e0088122e4570260543eee28 100644 (file)
@@ -16,98 +16,98 @@ aside:
             icon: fas fa-check
           - name: Features (unstable)
             link: https://xenbits.xen.org/docs/unstable/SUPPORT.html
-            icon: fa-road
+            icon: fas fa-road
       - title: Team Processes
         items:
           - name: Maintenance
             link: http://wiki.xenproject.org/wiki/Xen_Maintenance_Releases
-            icon: fa-wrench
+            icon: fas fa-wrench
           - name: Security Process
-            link: /about-xen/security-policy/
-            icon: fa-key
+            link: /about/security-policy
+            icon: fas fa-key
           - name: OpenPGP Keys
-            link: /developers/openpgp-keys
-            icon: fa-key
+            link: ./openpgp-keys
+            icon: fas fa-key
       - title: Users
         items:
           - name: Downloads
-            link: /xen-project-archives/
-            icon: fa-cube
+            link: /resources/downloads/
+            icon: fas fa-cube
           - name: Docs
             link: https://wiki.xenproject.org/wiki/Main_Page#Xen_Started
-            icon: fa-book
+            icon: fas fa-book
           - name: xen-users@ mailing list
-            link: /help/mailing-list#general
-            icon: fa-envelope
+            link: /resources/mailing-lists/#xen-project-hypervisor
+            icon: fas fa-envelope
           - name: "IRC: #xen"
-            link: /help/irc/
-            icon: fa-comments-o
+            link: /resources/mailing-lists/#xen-project-hypervisor
+            icon: fas fa-comments-o
           - name: Report a Bug
             link: http://wiki.xenproject.org/wiki/Reporting_Bugs_against_Xen
-            icon: fa-bug
+            icon: fas fa-bug
           - name: Xen Project Test Days
             link: http://wiki.xenproject.org/wiki/Xen_Test_Days
-            icon: fa-calendar-check-o
+            icon: fas fa-calendar-check-o
           - name: Security Announcements
             link: https://xenbits.xen.org/xsa/
-            icon: fa-bullhorn
+            icon: fas fa-bullhorn
       - title: Developers
         items:
           - name: xen-devel@ mailing list
-            link: /help/mailing-list#devel
-            icon: fa-envelope
+            link: /resources/mailing-lists/#xen-project-hypervisor
+            icon: fas fa-envelope
           - name: "IRC: #xendevel"
             link: /help/irc/
-            icon: fa-comments-o
+            icon: fas fa-comments-o
           - name: Browse Xen.git
             link: http://xenbits.xenproject.org/gitweb/?p=xen.git;a=summary
-            icon: fa-code-fork
+            icon: fas fa-code-fork
           - name: Repositories and Branches
             link: http://wiki.xenproject.org/wiki/Xen_Repositories
-            icon: fa-git
+            icon: fas fa-git
           - name: Submitting Patches
             link: http://wiki.xenproject.org/wiki/Submitting_Xen_Patches
-            icon: fa-medkit
+            icon: fas fa-medkit
           - name: Docs (API and Test)
             link: /help/documentation/#xen
-            icon: fa-book
+            icon: fas fa-book
           - name: Wiki Dev Home
             link: http://wiki.xenproject.org/wiki/XenDevHome
-            icon: fa-globe
+            icon: fas fa-globe
           - name: Projects for Newbies
             link: https://wiki.xenproject.org/wiki/Outreach_Program_Projects
-            icon: fa-cube
+            icon: fas fa-cube
       - title: Project Team
         items:
           - name: "Release Manager: Henry Wang"
-            icon: fa-briefcase
+            icon: fas fa-briefcase
           - name: Andy Cooper
-            icon: fa-star
+            icon: fas fa-star
           - name: George Dunlap
             icon: fa-star
           - name: Jan Beulich
-            icon: fa-star
+            icon: fas fa-star
           - name: Julien Grall
-            icon: fa-star
+            icon: fas fa-star
           - name: Stefano Stabellini
-            icon: fa-star
+            icon: fas fa-star
           - name: Wei Liu
-            icon: fa-star
+            icon: fas fa-star
           - name: Maintainers
             link: http://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=MAINTAINERS;hb=HEAD
             icon: fa-wrench
       - title: Committer Emeritus
         items:
           - name: Keir Fraser
-            icon: fa-star
+            icon: fas fa-star
           - name: Ian Campbell
-            icon: fa-star
+            icon: fas fa-star
           - name: Tim Deegan
             icon: fa-star
           - name: Ian Jackson
-            icon: fa-star
+            icon: fas fa-star
           - name: Konrad R Wilk
-            icon: fa-star
+            icon: fas fa-star
 ---
 
 
@@ -122,7 +122,7 @@ The Xen Project hypervisor is an open-source type-1 or baremetal hypervisor, whi
 {{</section>}}
 
 
-{{<section class="background-normal"  >}}
+{{<section class="section-square-rounded">}}
   {{<features-list cols="2">}}
   - title: Small footprint and interface
     icon: fas fa-memory
diff --git a/content/projects/hypervisor/openpgp-keys.md b/content/projects/hypervisor/openpgp-keys.md
new file mode 100644 (file)
index 0000000..0b9e765
--- /dev/null
@@ -0,0 +1,70 @@
+---
+title: OpenPGP Keys
+description: OpenPGP Keys for the Xen Project
+keywords: "Xen Project, OpenPGP, PGP keys, security, cryptographic keys"
+draft: false
+---
+
+{{<section md="true">}}
+# The Hypervisor Team’s OpenPGP Keys
+
+The Hypervisor team uses OpenPGP when necessary to provide essential confidentiality and integrity. Our current set of in-use, published, keys are these:
+
+## Xen Project tree code signing and announcements
+
+We use this key to sign git tags on xen.git and qemu-xen-*.git, whenever we make a Xen Project release.
+
+We also use it to sign Xen Project security advisories from the security team.
+
+```text
+pub   2048R/57E82BD9 2010-04-06        
+      Key fingerprint = 23E3 222C 145F 4475 FA80  60A7 83FE 14C9 57E8 2BD9  
+uid   Xen.org Xen tree code signing (signatures on the
+      xen hypervisor and tools) <pgp@xen.org>
+```
+
+## Security team incoming email
+
+If you need to send encrypted email to the Xen Project security team, please use this key. We prefer that routine communications not be encrypted.
+
+```text
+pub   2048R/82D3A964 2012-05-02
+      Key fingerprint = F1F9 380F 6287 0056 A186  2CC0 743A 3FCA 82D3 A964  
+uid   Xen.org (incoming email) <security@xen.org>
+```
+
+```text
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+mQENBE+hNqgBCADYua5OFR0/Jeu0rByk+Obk6+SewIeGej1FAcjo+Cvpcr1dfnLB
+AhmmhbfMb++qr6SG6Ek+cUQogYAFvZcEcusbRPy4MIzJkqoPSyOUhCxZoxWNWUfh
+Ddt0TWA3Hs1vYmFOe+2jvlL3h7yAsGMYO8jo6ow8ceBEOmf8Q5BLq2OPkNpGcaHE
+hbSv0VZ3mdHM30ynY6GubIwsc68LZ5hTORTSjKaj2WVCe4OorBMZte5Im+6MOEUb
+CjynqPJSU9KNFhIhUuyXp1vn0gZ2N5QSpkghpzBJLzeBNEI6ecV3Q0p+/pq8EvEA
+uUSNLUEbIZ/NSLqyTVMc9HZxnPu59im8wB9rABEBAAG0K1hlbi5vcmcgKGluY29t
+aW5nIGVtYWlsKSA8c2VjdXJpdHlAeGVuLm9yZz6JATgEEwECACIFAk+hNqgCGwMG
+CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHQ6P8qC06lk1y0H/2PjjQyPDZVS
+4zIVnR4xQOQ1KphPCdSTPlhj+VVrjZZNXWGCUKvJShL84XIONH62fIgQE/6CTWXJ
+tx6i4u1oAtFH4+8HayFjg609lxx9frJ4tJkJitw5TT6VEGAambchIG5QaP9hepgy
+rVXjQ0X2ot0jgpwL6G3sx0L1gewiMALXtGT6oTqLjXius/nv69yRe26wxU1GX80o
+WWH/5p585xt54C1XnhDEVzp0S9UW7VAAVDCWuSefSrihh3jZi4QE1fnGRwO0RfeL
+h1sXeuMn9uFIz0CmaCbAp5PeUyNb6wgG60h4JLCDyhJntoHfq8pQLEJ8G9nvjDfw
+8BLvkBKYNvaIRgQQEQIABgUCUVv1xQAKCRCR4BLxp7SsZHgRAJ0XZO6Ids87Wp7q
+djuti9yoTByh1gCgjzZL+llMzUAvTHPUvnY054utm365AQ0ET6E2qAEIALqWNlGF
+d3uIj+DXZ40/i7fsoPb+HaYaG6Y+7+ZWxMxUeQDTLBnTYiAa+EGVutc4v52BXH8R
+Zc9I/NH9lBT2/AwaEVSomxLicbixXUGoFC9kMp/VP1xwWJ+gm+ZEnQzY+2AFJGMv
+qEsGocQA7yLw121JUOrorny3CqpHykPUF3fqp4n/GL47VTaKxlsoV8o2JgZZ62NJ
+lkBtnbA4ODzhWr6cA21smWFgsfFJ+EkXb1NEeYLs8CWtTn2EiQXlZTQ8OgBPahfv
+LZ+AJ4sM/Raoi2c3UIQrlCsg9BoojKMkLi8XUrywr8HEJYjhBYObCgbmaeIEfmrw
+5XJqOKlMg40XY+MAEQEAAYkBHwQYAQIACQUCT6E2qAIbDAAKCRB0Oj/KgtOpZDhJ
+B/0XtxrlVuRttpjK1PEYK/A/9h47VH9p0UvVYCH+ZS2a+sTgsapx0zp4uni8wtyt
+kvGw/EM06D4ZoaWAUcjXILNKGdi62q/z+WAfdEY/WrONxAbr2Dtv/LT00/2nifYU
+9O1vGYS1Kx/B3D8fU0w+2Sjv+hYjbGDWn619etC8dNEIxczH6V/cVOZf0D2KhoBf
+MCHUoKeuAfaIKDMxOZjb7sajfUW70cxFFWYqH96Py01oxDroOKzy0x62iVdsYFGB
+3FvcD9tDWsxVWwGHA8DKEfKMuNPiuapzdxdrNm5AQilSUlfD65KK9d3kQdoOUPdP
+WoIQnz8GnHMPDe997SuwxWGb
+=Ne4C
+-----END PGP PUBLIC KEY BLOCK-----
+```
+
+{{</section>}}
\ No newline at end of file
index 57e2b938ae2f8bd78fc7ccb38d08c1aa048ed300..358424918af27f21c4d87834d523827ff512ac6b 100644 (file)
@@ -14,6 +14,7 @@ keywords: "mirage os, unikernel, library operating system, secure virtualization
     title="About us"
     media="/img/flatline/data_and_settings.svg"
     alt="Illustration of a database icon with gears and a wrench, representing data management and configuration tools."
+    animate="true"
   >}}
 MirageOS is a library operating system that constructs unikernels for secure, high-performance, low-energy footprint applications across various hypervisor and embedded platforms. It is available as an open-source project created and maintained by the MirageOS Core Team. A unikernel can be customised based on the target architecture by picking the relevant MirageOS libraries and compiling them into a standalone operating system, strictly containing the functionality necessary for the target. This minimises the unikernel’s footprint, increasing the security of the deployed operating system.
 {{</media-block>}}
@@ -26,7 +27,7 @@ The MirageOS architecture can be divided into operating system libraries, typed
 {{</section>}}
 
 
-{{<section class="background-normal"  >}}
+{{<section  class="section-square-rounded" >}}
   {{<features-list cols="2">}}
   - title: Fast Start
     icon: fas fa-power-off
@@ -49,6 +50,7 @@ The MirageOS architecture can be divided into operating system libraries, typed
     media="/img/flatline/coding.svg"
     mediaPosition="right"
     alt="Illustration of a person typing code on a computer, symbolizing software development and programming."
+    animate="true"
   >}}
 Mirage OS follows a standard Github workflow and has its own Developer Portal. All developer-related information such as documentation, development team members, and other information related to the development of Mirage OS can be found there as well.
 {{</media-block>}}
@@ -59,6 +61,7 @@ Mirage OS follows a standard Github workflow and has its own Developer Portal. A
     title="License"
     media="/img/flatline/coding2.svg"
     alt="Illustration of hands typing code on a laptop with documents and a cup of coffee, symbolizing software development and workflow."
+    animate="true"
   >}}
 {{<md>}}
   The Mirage codebase is released under the ISC license, with some portions of code released under LGPLv2.
index 6ae21e4f5942c5abd8775e3aea994358ba0d2f67..e8dcab41574a834c8f44e56c2b7b27bc70417d87 100644 (file)
@@ -14,6 +14,7 @@ keywords: "unikraft, specialized kernels, lightweight virtualization, customized
     title="Basic concepts"
     media="https://www.slideshare.net/slideshow/embed_code/key/hzJl1EbWmxfFUN"
     alt="Slide for Unikraft's basic concepts on slideshare.net"
+    animate="true"
   >}}
 The high-level goal of Unikraft is to be able to build unikernels targeted at specific applications without requiring the time-consuming, expert work that building such a unikernel requires today. An additional goal (or hope) of Unikraft is that all developers interested in unikernel development would contribute by supplying libraries rather than working on independent projects with different code bases as it is done now.
 {{</media-block>}}
@@ -27,6 +28,7 @@ The high-level goal of Unikraft is to be able to build unikernels targeted at sp
     media="/img/others/unikraft-architecture.png"
     mediaPosition="right"
     alt="Diagram showing the process of selecting applications, configuring libraries, building, and running unikernel binaries with various components like network stack, filesystem, schedulers, and memory allocators."
+    animate="true"
   >}}
   {{<md>}}
   The main idea behind Unikraft is depicted in Figure 1 and consists of two basic components:
@@ -65,6 +67,7 @@ The high-level goal of Unikraft is to be able to build unikernels targeted at sp
     title="License"
     media="/img/flatline/coding2.svg"
     alt="Illustration of hands typing code on a laptop with documents and a cup of coffee, symbolizing software development and workflow."
+    animate="true"
   >}}
   {{<md>}}
   The main license of the run-time components of Unikraft is a 3-clause BSD license unless there is a good reason not to use it (e.g. we may import 2-clause BSD licensed code from Mini-OS, which we would not anticipate to change). The Makefile system would be licensed under GPL v2 or later as we want to be able to use KConfig functionality from Buildroot/Linux.
index ab737f0cf07c88d60aceb458e3a62377d790ea93..e752cd9216d22ecb9bf71ee1ddc2e4f0b6254556 100644 (file)
@@ -22,6 +22,7 @@ keywords: "windows PV drivers, paravirtualization drivers, windows virtualizatio
     title="About Windows PV Drivers"
     media=`{{<youtube id="3R_IxOlP548" title="Xen Project's Progress Toward Safety Certification"  >}}`
     alt="Video of a presentation about Windows PV Drivers on Youtube"
+    animate="true"
   >}}
   {{<md>}}
 Paravirtualization aware (PV) device drivers are an important part of HVM guests running under the Xen Project Hypervisor.
@@ -72,6 +73,7 @@ The Windows PV Drivers team at the Xen Project is maintaining and developing the
     title="License"
     media="/img/flatline/coding2.svg"
     alt="Illustration of hands typing code on a laptop with documents and a cup of coffee, symbolizing software development and workflow."
+    animate="true"
   >}}
 {{<md>}}
 The drivers are available under a [simplified 2-clause BSD license](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29). The code can be found in the following repositories on [xenbits.xen.org](https://xenbits.xen.org/gitweb/) in the [pvdrivers/win](https://xenbits.xen.org/gitweb/?a=project_list;pf=pvdrivers/win) folder.
index 5096dbf773fa5a66a6baf3065b3d815b9c0eb208..9a96fdc0100ba7dbfaa9081098cfeec51da1968d 100644 (file)
@@ -10,13 +10,13 @@ aside:
   - type: resource
     items:
       - name: "**Github project**"
-        url: "https://github.com/xapi-project/xapi"
+        link: "https://github.com/xapi-project/xapi"
       - name: Documentation
-        url: "http://xapi-project.github.io/" 
+        link: "http://xapi-project.github.io/" 
       - name: Contribute
-        url: "https://github.com/xapi-project/xen-api/blob/master/README.markdown"
+        link: "https://github.com/xapi-project/xen-api/blob/master/README.markdown"
       - name: Report a Bug
-        url: "https://github.com/xapi-project/xen-api/issues"
+        link: "https://github.com/xapi-project/xen-api/issues"
 keywords: "XAPI, xen API, virtualization management, xen toolstack, virtual machine management, cloud orchestration, virtualization tools, resource management, VM lifecycle management, infrastructure management"
 ---
 
@@ -25,6 +25,7 @@ keywords: "XAPI, xen API, virtualization management, xen toolstack, virtual mach
     title="Enterprise-ready tools"
     media="/img/flatline/data_and_settings.svg"
     alt="Illustration of a database icon with gears and a wrench, representing data management and configuration tools."
+    animate="true"
   >}}
 The XAPI project is an enterprise ready toolstack for use with the Xen Project hypervisor. When used with Xen, the XAPI toolstack consolidates server workloads, enables savings in power, cooling, and management costs (contributing to environmentally sustainable computing), increases the ability to adapt to ever-changing IT environments, optimizes the use of existing hardware, and improves the level of IT reliability.
 The XAPI team also develops tooling, agents and libraries that are needed to operate a XAPI-based system.
@@ -63,6 +64,7 @@ XAPI adds additional functionality compared to other Xen Project toolstacks, inc
     media="/img/flatline/coding2.svg"
     mediaPosition="right"
     alt="Illustration of hands typing code on a laptop with documents and a cup of coffee, symbolizing software development and workflow."
+    animate="true"
   >}}
 {{<md>}}
 XAPI is licensed under the [Lesser GNU General Public License (LGPL2)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html).
index c73ef640b96554d25c7e4454273d53e39bec01c7..21012173db5bc64220d00fc4adc9f061c9a0822c 100644 (file)
@@ -33,7 +33,7 @@ aside:
         url: "https://github.com/xcp-ng"
       - name: Dev Docs
         url: "https://github.com/xcp-ng/xcp/wiki#development"
-  - name: Project Team
+  - name: Team
     type: members-list
     items:
       - name: Project Lead
@@ -47,7 +47,7 @@ aside:
     title="Turnkey **open-source hypervisor**"
     media="/img/others/xcp-ng-badge.webp"
     alt="Logo of XCP-ng : Illustration of a red rocket ship blasting off into space with a circular background, symbolizing innovation and progress."
-
+    animate="true"
   >}}
   {{<md>}}
 XCP-ng enables an easy way to deploy a VM based infrastructure using Xen as the hypervisor and XAPI to deliver an out of the box, turnkey, solution. XCP-ng satisfies the needs of any sized organization from their thriving community of homelabbers to massive data centers. **XCP-ng is built to run in numerous configurations for any type of production environment.**
@@ -62,6 +62,7 @@ XCP-ng enables an easy way to deploy a VM based infrastructure using Xen as the
     media="/img/flatline/timeline.svg"
     mediaPosition="right"
     alt="Illustration of a timeline with milestones for the years 2012, 2018, 2020, and 2024, representing project progress and development."
+    animate="true"
   >}}
   {{<md>}}
 In 2018 XCP-ng was born, following Citrix System’s announcement to remove features from their free version and place them behind paid tiers. XCP-ng was launched with the intentions of revitalizing the original goals of the XCP project, to **provide free and community back version of XenServer.**
@@ -70,7 +71,7 @@ In 2018 XCP-ng was born, following Citrix System’s announcement to remove feat
 {{</section>}}
 
 
-{{<section class="background-normal"  >}}
+{{<section class="section-square-rounded"  >}}
   {{<features-list cols="2">}}
     - title: Scalable
       icon: fas fa-expand
@@ -93,7 +94,7 @@ In 2018 XCP-ng was born, following Citrix System’s announcement to remove feat
     title="How to **get started?**"
     media="/img/flatline/start-up.svg"
     alt="Illustration of a green rocket launching from a laptop screen, symbolizing a startup or new project launch."
-
+    animate="true"
   >}}
   {{<md>}}
   There are many ways to get started with XCP-ng. There are a number of **video training tutorials** on our youtube channel, **step-by-step written instructions** in our documentation, and a training course for XCP-ng is coming soon.
@@ -122,6 +123,7 @@ In 2018 XCP-ng was born, following Citrix System’s announcement to remove feat
   media="/img/flatline/coding.svg"
   mediaPosition="right"
   alt="Illustration of a person typing code on a computer, symbolizing software development and programming."
+  animate="true"
 >}}
   {{<md>}}
   The XCP-ng platform benefits from **15 dedicated employees** and the assistance of contributors like yourself. Within our documentation, you can find more detailed information about our development process, **how you can be involved in future** updates and testing of the platform.
index 914eaacfe36f9110f1d20385d68e48e0bc45866a..dae6f31687f802da8d5991d394b3a27b01c8b9df 100644 (file)
@@ -16,6 +16,7 @@ menus:
     media="/img/flatline/data-process.svg"
     mediaPosition="right"
     alt="Illustration of a laptop displaying 3D bar charts, connected to cloud and file management icons, representing data integration and synchronization."
+    animate="true"
   >}}
 Qubes OS is a security-focused operating system based on Xen. The goal of Qubes OS is to create a reasonably secure environment that is also practical and usable, capable of playing the role of a daily driver rather than a highly situational solution - and Xen is a major reason why we can confidently say that Qubes OS succeeds.
 <p class="mg-t-md">
@@ -30,6 +31,7 @@ Qubes OS is a security-focused operating system based on Xen. The goal of Qubes
     title="Xen Server case study"
     media="/img/flatline/data-process.svg"
     alt="Illustration of a laptop displaying 3D bar charts, connected to cloud and file management icons, representing data integration and synchronization."
+    animate="true"
   >}}
 Xen Server, powered by the Xen Project hypervisor, offers a robust virtualization platform for enterprise environments. It enables efficient resource utilization, simplified management, and enhanced security for organizations of all sizes. With features like live migration and dynamic memory allocation, Xen Server optimizes datacenter operations and reduces downtime.
   {{</media-block>}}
@@ -41,6 +43,7 @@ Xen Server, powered by the Xen Project hypervisor, offers a robust virtualizatio
     mediaPosition="right"
     media="/img/flatline/data-hosting.svg"
     alt="Illustration of servers surrounded by cloud icons with upload and download arrows, representing cloud computing and data storage."
+    animate="true"
   >}}
 Amazon Web Services (AWS) leverages the Xen Project hypervisor to power its Elastic Compute Cloud (EC2) service. This implementation demonstrates the scalability and reliability of Xen in large-scale cloud environments. AWS's success with Xen has revolutionized cloud computing, offering flexible and cost-effective solutions for businesses worldwide.
   {{</media-block>}}
@@ -51,6 +54,7 @@ Amazon Web Services (AWS) leverages the Xen Project hypervisor to power its Elas
     title="Security"
     media="/img/flatline/data-process.svg"
     alt="Illustration of a laptop displaying 3D bar charts, connected to cloud and file management icons, representing data integration and synchronization."
+    animate="true"
   >}}
 The Xen Project hypervisor prioritizes security through its unique architecture and ongoing development efforts. Its small codebase and isolation features minimize the attack surface, while regular security updates address emerging threats. Xen's security-first approach makes it an ideal choice for organizations with stringent data protection requirements.
 <p class="mg-t-md">
@@ -66,6 +70,7 @@ The Xen Project hypervisor prioritizes security through its unique architecture
     media="/img/flatline/data_and_settings.svg"
     mediaPosition="right"
     alt="Illustration of a database icon with gears and a wrench, representing data management and configuration tools."
+    animate="true"
   >}}
 Xen Project's virtualization technology is increasingly adopted in embedded systems and automotive applications. It enables the consolidation of multiple systems onto a single hardware platform, reducing costs and complexity. In automotive, Xen supports the development of advanced infotainment systems and autonomous driving technologies while ensuring critical safety features remain isolated.
 
@@ -77,7 +82,7 @@ Xen Project's virtualization technology is increasingly adopted in embedded syst
 {{</section>}}
 
 
-{{<section md="true" background="curve-reverse" container="small">}}
+{{<section md="true" class="section-square-primary">}}
 ## Did you know?
 
 There are several virtualization technologies available in the world today. Our Xen Project virtualization and cloud software includes many powerful features that make it an excellent choice for many organizations.
@@ -98,14 +103,11 @@ Conservative estimates show that Xen has an active user base of 10+ million; the
 
 
 {{<section container="full">}}
-{{<center class="mg-t-lg">}}
-  ### Projects
-{{</center>}}
 {{<carousel class="mg-t-lg">}}
   {{<getpages "projects">}}
 {{</carousel>}}
 
 <p class="mg-t-xl txt-c">
-  <a href="/projects/all-projects" class="btn btn-secondary">Discover all projects <i class="fas fa-arrow-right"></i></a>
+  <a href="/projects/all-projects" class="btn btn-primary">Discover all projects <i class="fas fa-arrow-right"></i></a>
 </p>
 {{</section>}}
index e4ebbb2ea3ab98f3e0b8a7110afd3938886a6581..403fed09dcf9b77955dd8161fe912ea1cf0c2ce3 100644 (file)
       "nav",
       "ol",
       "p",
+      "pgp@xen.org",
       "pre",
       "script",
       "section",
+      "security@xen.org",
       "source",
       "span",
       "strong",
@@ -82,6 +84,8 @@
       "container",
       "container-full",
       "container-small",
+      "container-square-primary",
+      "container-square-rounded",
       "content",
       "content-markdown",
       "conversation-card",
       "footer__menu",
       "footer__text",
       "full-width-image",
+      "has-aside",
       "header",
       "header-content",
+      "header-inner",
       "header-logo",
       "header-nav",
       "hero-block",
+      "highlight",
       "home-hero-animated",
       "home-section-hero",
       "image-ratio-large",
       "list-no-style",
       "list-pages",
       "main",
+      "mainhas-aside",
       "media-block",
       "media-block--left",
       "media-block--mobile-bottom",
       "scope-of-this-process",
       "security-response-team-members",
       "security-response-team-short-security-team",
+      "security-team-incoming-email",
       "specific-process",
       "sponsor",
       "sub-projects-and-teams",
       "submitting-patches-to-the-xen-project-codebase",
       "supports-multiple-cloud-platforms-cloudstack-openstack",
       "supports-multiple-guest-operating-systems-linux-windows-netbsd-freebsd",
+      "the-hypervisor-teams-openpgp-keys",
       "the-linux-foundation",
       "trademark-policy",
       "transparency",
       "xen-project-advisory-board",
       "xen-project-hypervisor",
       "xen-project-matrix",
+      "xen-project-tree-code-signing-and-announcements",
       "xen-project-wide-roles"
     ]
   }
index 1afc22ad4e77026268ad62a58c9321519107ee9f..d030768b6eb787e5c95790877e866544a85ee277 100644 (file)
@@ -1,4 +1,7 @@
 .box-members {
+  background-color: #fff;
+  border-radius: 16px;
+  padding: var(--sp-md);
   ul {
     list-style: none;
     padding: 0;
index 00105b85d0d4cab573b40019d94be4c3c8659b65..0705680c955069bdb1c1f8113733953fdd28887b 100644 (file)
@@ -1,5 +1,6 @@
 .box-resources {
-  background-color: var(--color-brand-surface);
+  background-color: #fff;
+  border-radius: 16px;
   padding: var(--sp-md);
 
   .box-resources__title {
index b36c98f4de4681842f7e8e242f2c6771ba85182e..03232834d96dc3da6b88bdd40d702054191adfcc 100644 (file)
@@ -15,7 +15,7 @@
   --translate: -100%;
 
   --size: calc(var(--circle-dimensions) + (var(--padding) * 2));
-  --bg-color: var(--color-surface);
+  --bg-color: var(--color-surface-secondary);
   --index: 0;
   --total: 1;
   --start-angle: 0deg;
index 1b900f874df301d4ba269f59fe99d65930c85ca4..b0077c6277b4f30e01ca530dd8ad48c261b10c3c 100644 (file)
@@ -7,6 +7,7 @@
     --nav-margin-left: 0;
     --header-height: 84px;
     --header-font-size: 16px;
+    padding: var(--header-padding);
 
     @include desktop {
       --gap: 40px;
       --header-padding: 12px 40px;
     }
 
-    flex-direction: row;
-    gap: var(--gap);
-    height: var(--header-height);
-    justify-content: space-between;
-    padding: var(--header-padding);
-    z-index: 10;
-    font-size: var(--header-font-size);
+    .header-inner {
+      flex-direction: row;
+      gap: var(--gap);
+      height: var(--header-height);
+      justify-content: space-between;
+      z-index: 10;
+      font-size: var(--header-font-size);
+    }
 
     &-content {
       display: flex;
index e01b484ab63a70db473556f280b74a0942c80088..75234d9ae61e3d270d8af4294dbd40d89ee56f92 100644 (file)
@@ -1,14 +1,19 @@
 .header {
   --header-height: 52px;
-  display: flex;
-  flex-direction: row-reverse;
-  justify-content: space-between;
-  align-items: center;
   background: var(--header-color-background);
-  border-bottom: 1px solid var(--header-color-border);
-  position: relative;
+  border-bottom: none;
   padding: var(--sp-xs) var(--sp-sm);
-  height: var(--header-height);
+
+  .header-inner {
+    display: flex;
+    flex-direction: row-reverse;
+    justify-content: space-between;
+    align-items: center;
+    position: relative;
+    height: var(--header-height);
+    max-width: var(--container-width);
+    margin: 0 auto;
+  }
 }
 
 .header-logo {
index cf297638104032215dff4b1df5e7ae40faec4eaf..26055f6d78fef3bd0d092f3bb72ac713a5ffdd3d 100644 (file)
@@ -1,5 +1,6 @@
 .page-aside {
-  padding: var(--sp-lg);
+  padding: 0 var(--sp-lg) var(--sp-lg);
+
   display: flex;
   flex-direction: column;
   gap: var(--sp-lg);
index 7fdfc483c66a7932143de34bce5def12e3508f7a..0572f4290aea098de91cc7e1f8af553fed22d807 100644 (file)
@@ -1,25 +1,25 @@
-.page-single-aside {
-  flex-direction: column;
-  display: flex;
-  gap: 0;
-  justify-content: stretch;
-  align-items: flex-start;
+// .page-single-aside {
+//   flex-direction: column;
+//   display: flex;
+//   gap: 0;
+//   justify-content: stretch;
+//   align-items: flex-start;
 
-  .page-aside {
-    flex: 0 0 auto;
-    padding: var(--sp-lg);
-  }
+//   .page-aside {
+//     flex: 0 0 auto;
+//     padding: var(--sp-lg);
+//   }
 
-  .page-content {
-    flex: 1;
-  }
+//   .page-content {
+//     flex: 1;
+//   }
 
-  @include tablet {
-    flex-direction: row;
+//   @include tablet {
+//     flex-direction: row;
 
-    .page-aside {
-      flex: 0 0 320px;
-      padding: var(--sp-lg) var(--sp-lg) var(--sp-xl);
-    }
-  }
-}
+//     .page-aside {
+//       flex: 0 0 320px;
+//       padding: var(--sp-lg) var(--sp-lg) var(--sp-xl);
+//     }
+//   }
+// }
index 4847ff8eab27c79c76a2cdc017513f1972937168..0f9ed346013453e740f6c411e639ef61a6138ca1 100644 (file)
@@ -1,5 +1,5 @@
 .btn {
-  --border-radius: 0.125rem;
+  --border-radius: 0.4em;
   --border-size: 0.125rem;
   --color-active: var(--color-action-fill-pressed);
   --color-disabled: var(--color-border);
@@ -72,7 +72,7 @@
 
   &-secondary,
   &-tertiary {
-    background-color: var(--color-surface);
+    background-color: var(--color-surface-secondary);
     color: var(--color-primary);
   }
 
index 9f80bfb845f8caa7c33c53f63bfa0b717a523348..12624bc02e24ff699c3d356210ba99f4c41b87f4 100644 (file)
   @include desktop {
     --features-columns-count: 3;
   }
+
+  .features-list--cols-2 {
+    --features-columns-count: 2;
+  }
+
+  .features-list--cols-3 {
+    --features-columns-count: 3;
+  }
+
+  .features-list--cols-4 {
+    --features-columns-count: 4;
+  }
 }
 
 // Mixins
@@ -42,6 +54,7 @@
     --li-width: calc(100% / var(--features-columns-count) - var(--gap));
     margin: 0;
     flex: 1 1 var(--li-width);
+    min-width: 300px;
   }
 
   //
index 1706002f308b576fa39f4945cb3b232357024d2b..1825eeb8f13daca442abcbd2e89d6994aed71509 100644 (file)
@@ -10,6 +10,7 @@
   --padding-v: 20px;
   --media-h-padding: 6.9vw;
   --media-v-padding: 0;
+  --animation-delay: 0.1s;
 
   display: flex;
   flex-wrap: nowrap;
 
     &--right.animate .media-block__media {
       animation: slideFromRight 0.8s ease-out forwards;
-      animation-delay: 0.3s;
+      animation-delay: var(--animation-delay);
     }
 
     &--left.animate .media-block__media {
       animation: slideFromLeft 0.8s ease-out forwards;
-      animation-delay: 0.3s;
+      animation-delay: var(--animation-delay);
     }
 
     &[data-animate] .media-block__media {
index 4523742ed997c71f58dd0b2a7aaf1927ecd159da..f53a2cfb38375e513cff9a0c976843968ae9a8e4 100644 (file)
       flex-grow: 1;
       border: none;
       background: transparent;
-      padding: 10px;
+      padding: 0 24px;
+      line-height: 2;
+      height: 3em;
+      font-size: 1rem;
 
       &::placeholder {
         color: var(--color-text-secondary);
@@ -26,6 +29,8 @@
       border: none;
       padding: 8px 12px;
       cursor: pointer;
+      margin-right: 8px;
+      font-size: 1.1em;
     }
   }
   .search-results ul {
index b5112e00c4192e7b17fb5bf890099d6640c3f8b5..b2f38266b27aab6888d75f35f2fb51c516dfc8b9 100644 (file)
@@ -15,7 +15,7 @@
   flex: 1;
   --border-left: 2px solid var(--color-brand-fill);
   padding-left: var(--sp-sm-md);
-  border-left: var(--border-left);
+  //border-left: var(--border-left);
 
   ul,
   li {
index 74773aba56c166be487736cdc3a61aa9fb72954a..85984f2f843eb8af7417d1532450e915ca5d5f57 100644 (file)
@@ -1,55 +1,36 @@
 .main {
-  // break margin
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  justify-content: stretch;
+  align-items: stretch;
+  padding-top: 80px;
+
+  &.has-aside {
+    max-width: 1920px;
+    margin-left: auto;
+    margin-right: auto;
+  }
+
   &::before,
   &::after {
     content: "";
     display: table;
   }
-  padding: 0 var(--content-padding-horizontal);
-}
 
-@include tablet {
   .page-aside {
-    width: 420px;
-  }
-}
+    min-width: 400px;
+    flex: 0 0 400px;
 
-.page-single {
-  @include tablet {
-    > .article {
-      padding-top: var(--sp-xl);
+    @media (max-width: 900px) {
+      min-width: 100%;
+      flex: 1 0 100%;
     }
   }
 
-  &.with-aside {
-    display: flex;
-    flex-direction: column;
-    gap: var(--sp-lg);
-    margin-left: auto;
-    margin-right: auto;
-    max-width: 1920px;
-
-    @include tablet {
-      flex-direction: row;
-      gap: 0;
-
-      > .article,
-      > .page-aside {
-        padding-top: var(--sp-xl);
-      }
-
-      > .article h1 {
-        margin-top: 0;
-      }
-    }
-  }
-
-  @include tablet {
-    .single-content {
-      margin-top: var(--sp-lg);
-      .section-space:first-child {
-        margin-top: 0;
-      }
-    }
+  .article {
+    flex: 1;
+    padding: 0 var(--content-padding-horizontal);
+    width: 100%;
   }
 }
index fdd3d35638adedbdbbf9fd310c689791e551b6d5..b05d8dc1c2c4a206c30026d3c45cc90ed7f668ae 100644 (file)
@@ -27,7 +27,7 @@
 
   @include tablet {
     --container-paddings: var(--sp-lg);
-    --section-space: 160px;
+    --section-space: 100px;
     --block-space: 160px;
     --h1-font-size: 2.5rem; /* 40px */
     --h2-font-size: 2.25rem; /* 36px */
index bca83fba29d28c6214d4eb78b975838eb39ead41..1b9a43b2853377028ace7a666031ccbb45f9ae3b 100644 (file)
@@ -96,6 +96,9 @@
     const init = (element) => {
       const searchInput = element.querySelector(".search-input");
       resultsContainer = element.querySelector(".search-results");
+      element.querySelector("form").addEventListener("submit", (e) => {
+        e.preventDefault();
+      });
 
       // Load data immediately
       loadDownloadsData();
       }, 300);
 
       searchInput.addEventListener("input", debouncedSearch);
-
-      searchInput.value = "xen sss";
-      searchInput.dispatchEvent(new Event("input"));
     };
     init(element);
   };
index 78298fc861435133b345c7aff321a0fd9fa14fb7..4fe5f873bcbefae8b1c14d91262d456a94567a1f 100644 (file)
@@ -5,7 +5,7 @@
   </head>
   <body class="{{ block "bodyClass" . }}{{ end }} {{ .Params.bodyClass }}">
     {{ partial "header.html" . }}
-    <main class="main">
+    <main class="main{{ if .Page.Params.aside }} has-aside{{ end }}">
       {{ block "main" . }}{{ end }}
     </main>
     {{ partial "footer.html" . }}
index 9e76ea0731e608225c0d4ebe681a2965b8176b80..97aa7af3acf6cc8e8540fe5ab9f4508bb038bea2 100644 (file)
@@ -1,3 +1,5 @@
-{{define "main"}}
-  {{.Content}}
-{{end}}
+{{ define "main" }}
+  <article class="article">
+    {{ .Content }}
+  </article>
+{{ end }}
index 3481edacd57f113438e07990bfb4ab5062b49908..d982fb408226d46173108b726d69de0f97d92bb1 100644 (file)
@@ -3,26 +3,26 @@
   {{ if .Page.Params.aside }}
     {{ $class = "with-aside " | add $class }}
   {{ end }}
-  <div class="{{ $class }}">
-    {{ $asidePosition := .Page.Params.asidePosition | default "before" }}
-    {{ if eq $asidePosition "before" }}
-      {{ partial "aside.html" . }}
-    {{ end }}
-    <article class="article">
-      <div class="container page-top">
-        <h1>{{ .Title }}</h1>
-        <div class="description">
-          {{ .Description }}
-        </div>
-      </div>
 
-      <div class="single-content">
-        {{ .Content }}
+  {{ $asidePosition := .Page.Params.asidePosition | default "before" }}
+  {{ if eq $asidePosition "before" }}
+    {{ partial "aside.html" . }}
+  {{ end }}
+  <article class="article">
+    <div class="container page-top">
+      <h1>{{ .Title }}</h1>
+      <div class="description">
+        {{ .Description }}
       </div>
-      {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
-    </article>
-    {{ if eq $asidePosition "after" }}
-      {{ partial "aside.html" . }}
-    {{ end }}
-  </div>
+    </div>
+
+    <div class="single-content">
+      {{ .Content }}
+    </div>
+    {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
+  </article>
+  {{ if eq $asidePosition "after" }}
+    {{ partial "aside.html" . }}
+  {{ end }}
+
 {{ end }}
index 0129a3f97aac925451c20eda7b96ffd3ec9918ed..979b3a3bf31b7b6b3b5a14f1a365ef0b55f5fdd6 100644 (file)
@@ -1,13 +1,18 @@
+{{ $defaultIcon := "fa-arrow-up-right-from-square" }}
+{{ $defaultLinkText := "Join" }}
+
+
 <div class="card {{ .class }}">
   <h3 class="card__label">{{ .title | safeHTML }}</h3>
   <div class="card__content">{{ .description | safeHTML }}</div>
   <div class="card__actions">
     <a href="{{ .link }}" class="join-button">
-      {{ .linkText | default "Join" }} <i class="fas fa-arrow-up-right-from-square"></i>
+      {{ .linkText | default $defaultLinkText }} <i class="fas {{ .linkIcon | default $defaultIcon }}"></i>
     </a>
     {{ if .secondaryLink }}
-      <a href="{{ .secondaryLink }}" class="join-button">
-        {{ .secondaryLinkText | default "Join" }} <i class="fas fa-arrow-up-right-from-square"></i>
+      <a href="{{ .secondaryLink }}" class="btn btn-tertiary join-button">
+        {{ .secondaryLinkText | default $defaultLinkText }}
+        <i class="fas {{ .secondaryLinkIcon | default $defaultIcon }}"></i>
       </a>
     {{ end }}
   </div>
index 31a46e096a246557ef13456e4807a5c28bb28f61..a3cd24008f361a44aa416109faa15208c2e2ba8b 100644 (file)
@@ -1,12 +1,14 @@
 <header class="header">
-  <div class="header-logo">
-    <a href="/">
-      <img src="/img/logo-xen-reverse.svg" alt="Xen-Project" />
-    </a>
-  </div>
-  <button class="menu-toggle btn btn-tertiary" title="Toggle menu"></button>
-  <div class="header-content" data-menu-title="Menu">
-    {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
-    {{ partial "socials.html" }}
+  <div class="header-inner">
+    <div class="header-logo">
+      <a href="/">
+        <img src="/img/logo-xen-reverse.svg" alt="Xen-Project" />
+      </a>
+    </div>
+    <button class="menu-toggle btn btn-tertiary" title="Toggle menu"></button>
+    <div class="header-content" data-menu-title="Menu">
+      {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
+      {{ partial "socials.html" }}
+    </div>
   </div>
 </header>
index 785a272b1b266b39a8c795eb6048289342e8c107..64880b77edd3f1ccdedac59e296b5c3aa5abb2ae 100644 (file)
@@ -1,10 +1,19 @@
 <li>
-  <a href="{{ .link }}" target="_blank">
-    {{ .name }}
-    {{ if .icon }}
-      <i class="{{ .icon }}"></i>
-    {{ else }}
-      <i class="fas fa-arrow-up-right-from-square"></i>
-    {{ end }}
-  </a>
+  {{ if .link }}
+    <a href="{{ .link }}" {{ if and (not (hasPrefix .link "/")) (not (hasPrefix .link "./")) }}target="_blank"{{ end }}>
+      {{ .name | markdownify }}
+      {{ if .icon }}
+        <i class="{{ .icon }}"></i>
+      {{ else }}
+        <i class="fas fa-arrow-up-right-from-square"></i>
+      {{ end }}
+    </a>
+  {{ else }}
+    <span>
+      {{ .name | markdownify }}
+      {{ if .icon }}
+        <i class="{{ .icon }}"></i>
+      {{ end }}
+    </span>
+  {{ end }}
 </li>
index 9ef0f0f1ea9a523000ee53d11638bc00ac1bef3d..9777e204b2cff6b4d55d810d0ffa6a20c042ad61 100644 (file)
@@ -5,12 +5,13 @@
 
 <div class="list-pages">
   {{ range $projects }}
-    {{ partial "project-card.html" (dict
+    {{ partial "card.html" (dict
       "title" .Title
       "description" .Description
       "link" .Permalink
       "linkText" "Discover"
-      "class" "project-card"
+      "linkIcon" "fas fa-arrow-right"
+      "class" ""
       )
     }}
   {{ end }}