Browse Source

Merging in the certification SIG-related updates. (#638)

* Adds Hardware Certification page
* Adds hardware ecosystem catalog
* adds software certification page
* adds hardware certification program page
* adds pagefind
---------

Co-authored-by: Matt Lewis <mgunit@gmail.com>
Co-authored-by: Jonathan Wright <jonathan@almalinux.org>
pull/640/head
benny Vasquez 8 months ago
committed by GitHub
parent
commit
605bb7420f
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 3
      .github/workflows/publish-preview.yml
  2. 3
      .github/workflows/publish.yml
  3. 1
      .gitignore
  4. 2078
      assets/css/bootstrap-icons.css
  5. 37
      assets/css/bundle.css
  6. 2
      assets/scss/blog.css
  7. 1
      assets/scss/blog.scss
  8. 2078
      assets/scss/bootstrap-icons.css
  9. 2090
      assets/scss/bootstrap-icons.scss
  10. 4
      assets/scss/main.css
  11. 7
      assets/scss/main.scss
  12. 6
      content/certification/_index.md
  13. 6
      content/certification/ecosystem-catalog/_index.md
  14. 170
      content/certification/ecosystem-catalog/supermicro-as-2124bt-hntr.md
  15. 170
      content/certification/ecosystem-catalog/supermicro-sys-621c-tn12r.md
  16. 135
      content/certification/ecosystem-catalog/test-item1.md.bak
  17. 135
      content/certification/ecosystem-catalog/test-item2.md.bak
  18. 135
      content/certification/ecosystem-catalog/test-item3.md.bak
  19. 6
      content/certification/hardware-certification/_index.md
  20. 209
      content/certification/hardware-certification/hardware-certification-program.md
  21. 6
      content/certification/software-certification/_index.md
  22. 4
      contributing-blog-posts.md
  23. 62
      i18n/en.json
  24. 490
      layouts/certification/ecosystem-catalog/list.html
  25. 361
      layouts/certification/ecosystem-catalog/single.html
  26. 152
      layouts/certification/hardware-certification/list.html
  27. 134
      layouts/certification/list.html
  28. 125
      layouts/certification/software-certification/list.html
  29. 11
      layouts/index.html
  30. 12
      layouts/p/list.html
  31. 10
      layouts/p/single.html
  32. 3
      layouts/partials/common/footer.html
  33. 29
      layouts/partials/common/nav.html
  34. 2
      layouts/partials/common/opengraph.html
  35. 31
      package-lock.json
  36. 4
      static/images/building-fill-check.svg
  37. BIN
      static/images/certificationimages/certification_consumers.jpg
  38. BIN
      static/images/certificationimages/certification_providers.jpg
  39. BIN
      static/images/certificationimages/certificationpagehero.png
  40. 1
      static/images/certificationimages/certificationprocess.svg
  41. 1
      static/images/certificationimages/certificationtestingprocess.svg
  42. BIN
      static/images/certificationimages/hardware_certification_hero.png
  43. BIN
      static/images/certificationimages/software_certification_hero.png
  44. BIN
      static/images/certificationimages/software_testers.png
  45. BIN
      static/images/ec/dell-logo.png
  46. BIN
      static/images/ec/hp-logo.png
  47. BIN
      static/images/ec/supermicro-logo.png
  48. 0
      static/images/icon-almalinux-black.svg
  49. BIN
      static/images/og/certification.png
  50. BIN
      static/images/og/ecosystemcatalog.png
  51. BIN
      static/images/og/hardwarecertification.png
  52. BIN
      static/images/og/newhero.png
  53. BIN
      static/images/og/softwarecertification.png

3
.github/workflows/publish-preview.yml

@ -41,6 +41,9 @@ jobs:
- name: move redirects file into place - name: move redirects file into place
run: cp _redirects public/ run: cp _redirects public/
- name: build search index
run: npx pagefind --site "public"
- name: Publish to Cloudflare Pages - name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@v1 uses: cloudflare/pages-action@v1
with: with:

3
.github/workflows/publish.yml

@ -54,6 +54,9 @@ jobs:
- name: move redirects file into place - name: move redirects file into place
run: cp _redirects public/ run: cp _redirects public/
- name: build search index
run: npx pagefind --site "public"
- name: Publish to Cloudflare Pages - name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@v1 uses: cloudflare/pages-action@v1
with: with:

1
.gitignore

@ -1,3 +1,4 @@
public/ public/
static/pagefind/
.hugo_build.lock .hugo_build.lock
.DS_Store .DS_Store

2078
assets/css/bootstrap-icons.css

File diff suppressed because it is too large

37
assets/css/bundle.css

@ -43,32 +43,38 @@ padding-right: 15px !important;
padding-right: 15px !important; padding-right: 15px !important;
padding-left: 15px !important; padding-left: 15px !important;
} }
.al-page-index .al-hero-cta-primary {
.al-cta-blue {
background: #24c2ff; background: #24c2ff;
color: #222222; color: #222222;
margin:10px 10px 10px 0; margin:10px 10px 10px 0;
} }
.al-page-index .al-hero-cta-primary:hover {
.al-cta-blue:hover {
background: #0bbbff; background: #0bbbff;
} }
.al-page-index .al-hero-cta-secondary {
.al-cta-green {
background: #86da2f; background: #86da2f;
color: #222222; color: #222222;
margin: 10px; margin: 10px;
} }
.al-page-index .al-hero-cta-secondary:hover {
.al-cta-green:hover {
background: #79cb24; background: #79cb24;
} }
.al-page-index .al-hero-cta-tertiary {
.al-cta-yellow {
background: #ffcb12; background: #ffcb12;
color: #222222; color: #222222;
margin: 10px; margin: 10px;
} }
.al-page-index .al-hero-cta-tertiary img {
.al-cta-yellow img {
display: inline; display: inline;
height: 1em; height: 1em;
} }
.al-page-index .al-hero-cta-tertiary:hover { .al-cta-yellow:hover {
background: #f8c100; background: #f8c100;
} }
.al-page-index .al-index-feature-container, .al-commercial-supporter-list { .al-page-index .al-index-feature-container, .al-commercial-supporter-list {
@ -84,6 +90,9 @@ padding-right: 15px !important;
padding-left: 22px; padding-left: 22px;
} }
.al-dark-background {
background: #0e3b5c!important;
}
.al-page-index .al-index-community-container { .al-page-index .al-index-community-container {
background: #0e3b5c; background: #0e3b5c;
} }
@ -633,10 +642,13 @@ outline: none !important;
.al-primary-navbar .dropdown-menu-dark .dropdown-divider { .al-primary-navbar .dropdown-menu-dark .dropdown-divider {
border-color: #264154; border-color: #264154;
} }
.al-primary-navbar .al-language-switch img { .al-primary-navbar .al-language-switch img {
height: 24px; height: 24px;
} }
/* this counters the default padding in menu items */
.dropdown-nested {
padding: .25rem -1.5rem !important;
}
.al-primary-navbar .al-language-link { .al-primary-navbar .al-language-link {
text-transform: capitalize; text-transform: capitalize;
color: aliceblue; color: aliceblue;
@ -768,6 +780,10 @@ pre > code {
font-size: 46px !important; font-size: 46px !important;
line-height: 47px line-height: 47px
} }
.display-4{
font-size: 1rem !important;
line-height: 1rem;
}
.lead { .lead {
font-size: 1.25rem !important; font-size: 1.25rem !important;
font-weight: 400 !important; font-weight: 400 !important;
@ -1058,3 +1074,8 @@ a {
max-width: 100%; max-width: 100%;
height: auto; height: auto;
} }
.navbar-nav .dropdown-menu ul {
padding:0;
margin:0 0 0 1rem;
list-style-type: none;
}

2
assets/scss/blog.css

@ -1,3 +1,5 @@
@import "./boostrap-icons.css";
.al-page-blog-index { .al-page-blog-index {
margin: auto; margin: auto;
max-width: 680px; max-width: 680px;

1
assets/scss/blog.scss

@ -1,5 +1,6 @@
@import "./variables"; @import "./variables";
@import "./functions"; @import "./functions";
@import "./boostrap-icons.scss";
.al-page-blog-index { .al-page-blog-index {

2078
assets/scss/bootstrap-icons.css

File diff suppressed because it is too large

2090
assets/scss/bootstrap-icons.scss

File diff suppressed because it is too large

4
assets/scss/main.css

@ -567,6 +567,10 @@ button:focus, .btn:focus {
.al-primary-navbar .dropdown-menu-dark .dropdown-divider { .al-primary-navbar .dropdown-menu-dark .dropdown-divider {
border-color: #264154; border-color: #264154;
} }
/* this counters the default padding in menu items */
.dropdown-nested {
padding: .25rem -1.5rem !important;
}
.al-primary-navbar .al-language-switch img { .al-primary-navbar .al-language-switch img {
height: 24px; height: 24px;
} }

7
assets/scss/main.scss

@ -133,8 +133,6 @@ button:focus, .btn:focus{
border-bottom: 0; border-bottom: 0;
} }
.dropdown-menu-dark { .dropdown-menu-dark {
background: $al-c-black-pearl; background: $al-c-black-pearl;
border: 0; border: 0;
@ -144,10 +142,11 @@ button:focus, .btn:focus{
.dropdown-item:hover{ .dropdown-item:hover{
background-color: #ffffff26 !important; background-color: #ffffff26 !important;
} }
.dropdown-nested {
padding: .25rem -1.5rem !important;
}
.dropdown-divider { .dropdown-divider {
border-color: $al-c-black-pearl-lighter; border-color: $al-c-black-pearl-lighter;
} }
} }

6
content/certification/_index.md

@ -0,0 +1,6 @@
---
title: "Certification"
type: certification
images:
- /images/og/certification.png
---

6
content/certification/ecosystem-catalog/_index.md

@ -0,0 +1,6 @@
---
title: "Ecosystem Catalog"
type: "certification/ecosystem-catalog"
images:
- /images/og/ecosystemcatalog.png
---

170
content/certification/ecosystem-catalog/supermicro-as-2124bt-hntr.md

@ -0,0 +1,170 @@
---
#Required - don't alter
type: "certification/ecosystem-catalog"
#Required
date: 2024-07-31
#Required
title: "A+ Server AS-2124BT-HNTR"
#Required
image: "/images/ec/supermicro-logo.png"
#Required
shortTitle: "Supermicro A+ Server AS-2124BT-HNTR"
#Required
provider: "Super Micro Computer, Inc."
#Optional
system: "Server"
#Optional
specsLink: "https://www.supermicro.com/en/Aplus/system/2U/2124/AS-2124BT-HNTR.cfm"
#Optional
supportLink: "https://www.supermicro.com/en/support"
#Optional - If not provided no button will be rendered
buttonLink: "https://www.supermicro.com/en/Aplus/system/2U/2124/AS-2124BT-HNTR.cfm"
# optional
key_applications:
- Compute Intensive Applications
- HPC, Data Center, Enterprise Server
- Hyperscale / Hyperconverged
# The data contained here will be displayed in a key -> value table
# under overview. If it is removed no overview section will display
overview_collection:
- key: Tests Run By
# valid values are "AlmaLinux OS Foundation", "<Vendor Name>", or "Community"
value: AlmaLinux OS Foundation
# optional
# - key: "Certification Inherited From"
# value: A+ Server AS-2124BT-HNTR
# link: supermicro-as-2124bt-hntr
# optional
- key: "Test Logs"
value: "Click here"
link: systems/supermicro/supermicro-as-2124bt-hntr
- key: "CPU"
value: "2 x AMD EPYC 73F3 16-Core @ 3.50GHz (32 Cores / 64 Threads)"
- key: "Chipset"
value: "AMD Starship/Matisse"
- key: "RAM"
value: "16 x 64 GB DDR4-3200MT/s 36ASF8G72PZ-3G2E1"
- key: "STORAGE"
value: "960GB SAMSUNG MZ7LH960"
- key: "NETWORK"
value: "2 x Intel XXV710 for 25GbE SFP28"
certification_collection:
- name: "AlmaLinux 9"
# valid values are "official", or "community"
certified: official
architecture: "x86_64"
compute:
name: "Compute"
level: 9.0
features:
- "CPU Core Performance Counters": "9.0+"
- "CPU Scaling Governor": "9.0+"
- "System Memory": "9.0+"
- "Virtualization (Host)": "9.0+"
management:
name: "Management"
level: 9.0
features:
- "Graphical Console": "9.0+"
- "Virtual Media": "9.0+"
network:
name: "Network"
level: 9.0
features:
- "25Gb Ethernet": "9.0+"
storage:
name: "Storage"
level: 9.0
features:
- "SATA SSD": "9.0+"
- "PCIe NVMe": "9.0+"
hardware:
name: "Hardware"
level: 9.0
features:
- "AMD EPYC™ 7002 Series": "9.0+"
- "AMD EPYC™ 7003 Series": "9.0+"
- name: "AlmaLinux 8"
# valid values are "official", or "community"
certified: official
architecture: "x86_64"
compute:
name: "Compute"
level: 8.3
features:
- "CPU Core Performance Counters": "8.3+"
- "CPU Scaling Governor": "8.3+"
- "System Memory": "8.3+"
- "Virtualization (Host)": "8.3+"
management:
name: "Management"
level: 8.3
features:
- "Graphical Console": "8.3+"
- "Virtual Media": "8.3+"
network:
name: "Network"
level: 8.3
features:
- "25Gb Ethernet": "8.3+"
storage:
name: "Storage"
level: 8.3
features:
- "SATA SSD": "8.3+"
- "PCIe NVMe": "8.3+"
hardware:
name: "Hardware"
level: 8.3
features:
- "AMD EPYC™ 7002 Series": "8.3+"
- "AMD EPYC™ 7003 Series": "8.3+"
#Begin Search metadata
searchTitle: "Supermicro A+ Server AS-2124BT-HNTR"
# this is basically just tags, formatting doesn't much matter
searchDesc: "2U DP CloudDC with 12 hot-swap 3.5 NVMe/SAS/SATA bays and 4 PCIe 5.0 x16 slots + 2 PCIe 5.0 x16 AIOM slots
Highly configurable 2U 4-node systems
2-socket with 16 DIMMs or
1-socket with 8 DIMMs per node
Flexible storage and I/O options
including NVMe/SATA3 and SIOM
networking
NO-COMPROMISE 2U 4-NODE ARCHITECTURE
BigTwin is the 5th generation in the Supermicro® Twin Family with a multitude of
innovations and engineering breakthroughs.
TwinPro systems are designed for simplified deployment and maintenance, and
assembled with the highest quality to ensure continuous operation even at maximum
capacity.
With AMD EPYC™ 7003 Series Processors with AMD 3D V-Cache™ Technology,
customers in high-end enterprise, data center, HPC and Cloud Computing
environments receive the greatest competitive advantage from data center resources
with the Supermicro® TwinPro."
es_collection:
# valid values Server, Component, Component Collection
type: ["Server"]
provider: "Super Micro Computer, Inc."
certified-for: ["AlmaLinux 9", "AlmaLinux 8"]
# valid values x86_64, aarch64, s390x, ppc64le, risc-v
architecture: "x86_64"
network: Configurable (SIOM)
pcie-version: "4.0"
processor-line : "Dual AMD EPYC™ 7003/7002"
processor-brand: "AMD"
storage: ["NVMe", "SATA", "SAS"]
---

170
content/certification/ecosystem-catalog/supermicro-sys-621c-tn12r.md

@ -0,0 +1,170 @@
---
#Required - don't alter
type: "certification/ecosystem-catalog"
#Required
date: 2024-07-31
#Required
title: "CloudDC SuperServer SYS-621C-TN12R"
#Required
image: "/images/ec/supermicro-logo.png"
#Required
shortTitle: "Supermicro CloudDC SuperServer SYS-621C-TN12R"
#Required
provider: "Super Micro Computer, Inc."
#Optional
system: "Server"
#Optional
specsLink: "https://www.supermicro.com/en/products/system/clouddc/2u/sys-621c-tn12r"
#Optional
supportLink: "https://www.supermicro.com/en/support"
#Optional - If not provided no button will be rendered
buttonLink: "https://www.supermicro.com/en/products/system/clouddc/2u/sys-621c-tn12r"
# optional
key_applications:
- Web Server, Firewall Application
- Data Center Optimized, Value IaaS
- Cloud Computing, Compact Server
- DNS & Gateway Servers, Firewall Application
- CDN, Edge Nodes
# The data contained here will be displayed in a key -> value table
# under overview. If it is removed no overview section will display
overview_collection:
- key: Tests Run By
# valid values are "AlmaLinux OS Foundation", "<Vendor Name>", or "Community"
value: AlmaLinux OS Foundation
# optional
# - key: "Certification Inherited From"
# value: A+ Server AS-2124BT-HNTR
# link: supermicro-as-2124bt-hntr
# optional
- key: "Test Logs"
value: "Click here"
link: systems/supermicro/supermicro-sys-621c-tn12r
- key: "CPU"
value: "2 x Intel Xeon Gold 6444Y @ 4.00GHz (32 Cores)"
- key: "Chipset"
value: "Intel Device 1bce"
- key: "RAM"
value: "16 x 64 GB DDR5-4800MT/s MTC40F2046S1RC48BA1"
- key: "STORAGE"
value: "7682GB KCM6XRUL7T68 + 2000GB INTEL SSDPELKX020T8"
- key: "NETWORK"
value: "2 x Mellanox MT2892"
certification_collection:
- name: "AlmaLinux 9"
# valid values are "official", or "community"
certified: official
architecture: "x86_64"
compute:
name: "Compute"
level: 9.0
features:
- "CPU Core Performance Counters": "9.0+"
- "CPU Scaling Governor": "9.0+"
- "System Memory": "9.0+"
- "Virtualization (Host)": "9.0+"
management:
name: "Management"
level: 9.0
features:
- "Graphical Console": "9.0+"
- "Virtual Media": "9.0+"
network:
name: "Network"
level: 9.0
features:
- "25Gb Ethernet": "9.0+"
storage:
name: "Storage"
level: 9.0
features:
- "SATA SSD": "9.0+"
- "PCIe NVMe": "9.0+"
hardware:
name: "Hardware"
level: 9.0
features:
- "4th Generation Intel® Xeon® Scalable Processors": "9.0+"
- "5th Generation Intel® Xeon® Scalable Processors": "9.2+"
- name: "AlmaLinux 8"
# valid values are "official", or "community"
certified: official
architecture: "x86_64"
compute:
name: "Compute"
level: 8.7
features:
- "CPU Core Performance Counters": "8.7+"
- "CPU Scaling Governor": "8.7+"
- "System Memory": "8.7+"
- "Virtualization (Host)": "8.7+"
management:
name: "Management"
level: 8.7
features:
- "Graphical Console": "8.7+"
- "Virtual Media": "8.7+"
network:
name: "Network"
level: 8.7
features:
- "25Gb Ethernet": "8.7+"
storage:
name: "Storage"
level: 8.7
features:
- "SATA SSD": "8.7+"
- "PCIe NVMe": "8.7+"
hardware:
name: "Hardware"
level: 8.7
features:
- "4th Generation Intel® Xeon® Scalable Processors": "8.0+"
- "5th Generation Intel® Xeon® Scalable Processors": "8.8+"
#Begin Search metadata
searchTitle: "Supermicro CloudDC SuperServer SYS-621C-TN12R"
searchDesc: "Key Applications
Web Server, Firewall Application, Data Center Optimized, Value IaaS, Cloud
Computing, Compact Server, DNS & Gateway Servers, Firewall Application,
CDN, Edge Nodes,
Key Features
Dual sockets E (LGA-4677) 5th and 4th Gen Intel® Xeon® Scalable
processors;
16 DIMMs up to 4TB 3DS ECC DDR5-5600: RDIMM;
4 PCIe 5.0 x8 FHHL (optional: combine into 2 PCIe 5.0 x16); 2 PCIe 5.0 x16
FHHL; 2 PCIe 5.0 x4 NVMe M.2;
Dual AIOM (OCP 3.0) slots with NCSI for networking, 1 dedicated IPMI LAN;
12x 3.5/2.5 hot-swap hybrid NVMe/SATA/SAS drive bays;
3 heavy duty fans with optimal fan speed control, 1 air shroud;
1200W redundant Titanium level 100-240Vac and 200-240 Vdc power
supplies;
1 VGA, 1 COM, 2 USB 3.0 (rear);"
es_collection:
# valid values Server, Component, Component Collection
type: ["Server"]
provider: "Super Micro Computer, Inc."
certified-for: ["AlmaLinux 9", "AlmaLinux 8"]
# valid values x86_64, aarch64, s390x, ppc64le, risc-v
architecture: "x86_64"
network: Configurable (AIOM)
pcie-version: "5.0"
processor-line : "4th/5th Generation Intel® Xeon® Scalable Processors"
processor-brand: "Intel"
storage: ["NVMe", "SATA", "SAS"]
---

135
content/certification/ecosystem-catalog/test-item1.md.bak

@ -0,0 +1,135 @@
---
#Required - don't alter
type: ecosystem-catalog
#Required
date: 2024-07-19T14:56:00-04:00
#Required
title: "Dell Poweredge 8427 82922 8GB Cloud"
#Required
image: "/images/ec/dell-logo.png"
#Required
shortTitle: "Dell Poweredge 8427"
#Required
provider: "Dell Inc."
#Optional
system: "Server"
#Optional
specsLink: "https://www.google.com"
#Optional
supportLink: "https://www.google.com"
#Optional - If not provided no button will be rendered
buttonLink: "https://www.google.com"
# The data contained here will be displayed in a key -> value table
# under overview. If it is removed no overview section will display
overview_collection:
- key: "CPU"
value: "Intel Xeon"
- key: "RAM"
value: "DDR4 4/8GB"
- key: "STORAGE"
value: "128GB eMMC"
- key: "FEATURE"
value: "It runs software!"
certification_collection:
- name: "AlmaLinux 9"
certified: 1
architecture: "x86_64"
compute:
name: "Compute"
level: 9.0
features:
- "CPU Core Performance Counters": "9.4+"
- "HDMI Audio Playback": "9.4+"
- "22 x Max Logical CPU": "9.4+"
- "Stereo Audio Playback": "9.4+"
- "Stereo Audio Record": "9.4+"
- "System Controlled Scaling": "9.4+"
- "System Memory": "9.4+"
- "Thunderbolt 4": "9.4+"
- "1 x USB 3 (5 Gigabit) Ports": "9.4+"
- "1 x USB C (10 Gigabit) Ports": "9.4+"
- "Uncore Performance Counters": "9.4+"
- "Virtual Machine (Host)": "9.4+"
management:
name: "Management"
level: 9.0
features:
- "Basic GPU Graphics": "9.4+"
- "Battery Monitoring": "9.4+"
- "Fingerprint Reader": "9.4+"
- "LCD Backlight Control": "9.4+"
- "Suspend on lid": "9.4+"
- "Suspend to disk": "9.4+"
- "Suspend to idle": "9.4+"
- "Suspend to idle on Fn": "9.4+"
- "Suspend to memory": "9.4+"
- "Suspend to memory on Fn": "9.4+"
network:
name: "Network"
level: 9.0
features:
- "Bluetooth 5.x": "9.4+"
- "WiFi 6": "9.4+"
storage:
name: "Storage"
level: 9.0
features:
- "M.2 NVME": "9.4+"
- "PCIe SD Card Reader": "9.4+"
- name: "AlmaLinux 8"
certified: 0
architecture: "x86_64"
compute:
name: "Compute"
level: 8.0
features:
- "CPU Core Performance Counters": "8.4+"
- "HDMI Audio Playback": "8.4+"
management:
name: "Management"
level: 8.0
features:
- "Basic GPU Graphics": "8.4+"
- "Battery Monitoring": "8.4+"
network:
name: "Network"
level: 8.0
features:
- "Bluetooth 5.x": "8.4+"
- "WiFi 6": "8.4+"
storage:
name: "Storage"
level: 9.0
features:
- "M.2 NVME": "9.4+"
- "PCIe SD Card Reader": "9.4+"
#Begin Search metadata
searchTitle: "ZBook Studio 16 G11"
searchDesc: "The innovative Poweredge, is fast. Real fast. Safe too, never hurt a fly."
es_collection:
type: ["CPU Collection", "Component"]
provider: "Dell Inc."
platform: "AlmaLinux"
certified-for: ["AlmaLinux 9", "AlmaLinux 8"]
architecture: "x64"
network: "2 Gigabit Ethernet"
management: "Accelerated GPU Graphics"
compute: "CPU Pinning"
storage: "Blu-ray"
---

135
content/certification/ecosystem-catalog/test-item2.md.bak

@ -0,0 +1,135 @@
---
#Required - don't alter
type: ecosystem-catalog
#Required
date: 2024-07-19T14:56:00-04:00
#Required
title: "HP Zbook Mobile Workstation HP ZBook Studio 16 inch G11 Mobile Workstation PC"
#Required
image: "/images/ec/hp-logo.png"
#Required
shortTitle: "ZBook Studio 16 G11"
#Required
provider: "HP Inc."
#Required
system: "Laptop"
#Optional
specsLink: "https://www.google.com"
#Optional
supportLink: "https://www.google.com"
#Optional - If not provided no button will be rendered
buttonLink: "https://www.google.com"
# The data contained here will be displayed in a key -> value table
# under overview. If it is removed no overview section will display
overview_collection:
- key: "CPU"
value: "Intel Xeon"
- key: "RAM"
value: "DDR4 4/8GB"
- key: "STORAGE"
value: "128GB eMMC"
- key: "FEATURE"
value: "It runs software!"
certification_collection:
- name: "AlmaLinux 9"
certified: 1
architecture: "x86_64"
compute:
name: "Compute"
level: 9.0
features:
- "CPU Core Performance Counters": "9.4+"
- "HDMI Audio Playback": "9.4+"
- "22 x Max Logical CPU": "9.4+"
- "Stereo Audio Playback": "9.4+"
- "Stereo Audio Record": "9.4+"
- "System Controlled Scaling": "9.4+"
- "System Memory": "9.4+"
- "Thunderbolt 4": "9.4+"
- "1 x USB 3 (5 Gigabit) Ports": "9.4+"
- "1 x USB C (10 Gigabit) Ports": "9.4+"
- "Uncore Performance Counters": "9.4+"
- "Virtual Machine (Host)": "9.4+"
management:
name: "Management"
level: 9.0
features:
- "Basic GPU Graphics": "9.4+"
- "Battery Monitoring": "9.4+"
- "Fingerprint Reader": "9.4+"
- "LCD Backlight Control": "9.4+"
- "Suspend on lid": "9.4+"
- "Suspend to disk": "9.4+"
- "Suspend to idle": "9.4+"
- "Suspend to idle on Fn": "9.4+"
- "Suspend to memory": "9.4+"
- "Suspend to memory on Fn": "9.4+"
network:
name: "Network"
level: 9.0
features:
- "Bluetooth 5.x": "9.4+"
- "WiFi 6": "9.4+"
storage:
name: "Storage"
level: 9.0
features:
- "M.2 NVME": "9.4+"
- "PCIe SD Card Reader": "9.4+"
- name: "AlmaLinux 8"
certified: 0
architecture: "x86_64"
compute:
name: "Compute"
level: 8.0
features:
- "CPU Core Performance Counters": "8.4+"
- "HDMI Audio Playback": "8.4+"
management:
name: "Management"
level: 8.0
features:
- "Basic GPU Graphics": "8.4+"
- "Battery Monitoring": "8.4+"
network:
name: "Network"
level: 8.0
features:
- "Bluetooth 5.x": "8.4+"
- "WiFi 6": "8.4+"
storage:
name: "Storage"
level: 9.0
features:
- "M.2 NVME": "9.4+"
- "PCIe SD Card Reader": "9.4+"
#Begin Search metadata
searchTitle: "ZBook Studio 16 G11"
searchDesc: "The innovative ZBook, dual-socket cloud scale server designed to deploy high-performance computing for optimal power efficiency."
es_collection:
type: ["CPU Collection", "Component"]
provider: "HP Inc."
platform: "AlmaLinux"
certified-for: "AlmaLinux 9"
architecture: "x64"
network: "2 Gigabit Ethernet"
management: "Accelerated GPU Graphics"
compute: "CPU Pinning"
storage: "Blu-ray"
---

135
content/certification/ecosystem-catalog/test-item3.md.bak

@ -0,0 +1,135 @@
---
#Required - don't alter
type: ecosystem-catalog
#Required
date: 2024-07-19T14:56:00-04:00
#Required
title: "Dell Poweredge 2421 socketed socket 482 "
#Required
image: "/images/ec/dell-logo.png"
#Required
shortTitle: "Dell Poweredge 2421"
#Required
provider: "Dell Inc."
#Optional
system: "Laptop"
#Optional
specsLink: "https://www.google.com"
#Optional
supportLink: "https://www.google.com"
#Optional - If not provided no button will be rendered
buttonLink: "https://www.google.com"
# The data contained here will be displayed in a key -> value table
# under overview. If it is removed no overview section will display
overview_collection:
- key: "CPU"
value: "Intel Xeon"
- key: "RAM"
value: "DDR4 4/8GB"
- key: "STORAGE"
value: "128GB eMMC"
- key: "FEATURE"
value: "It runs software!"
certification_collection:
- name: "AlmaLinux 9"
certified: 1
architecture: "x86_64"
compute:
name: "Compute"
level: 9.0
features:
- "CPU Core Performance Counters": "9.4+"
- "HDMI Audio Playback": "9.4+"
- "22 x Max Logical CPU": "9.4+"
- "Stereo Audio Playback": "9.4+"
- "Stereo Audio Record": "9.4+"
- "System Controlled Scaling": "9.4+"
- "System Memory": "9.4+"
- "Thunderbolt 4": "9.4+"
- "1 x USB 3 (5 Gigabit) Ports": "9.4+"
- "1 x USB C (10 Gigabit) Ports": "9.4+"
- "Uncore Performance Counters": "9.4+"
- "Virtual Machine (Host)": "9.4+"
management:
name: "Management"
level: 9.0
features:
- "Basic GPU Graphics": "9.4+"
- "Battery Monitoring": "9.4+"
- "Fingerprint Reader": "9.4+"
- "LCD Backlight Control": "9.4+"
- "Suspend on lid": "9.4+"
- "Suspend to disk": "9.4+"
- "Suspend to idle": "9.4+"
- "Suspend to idle on Fn": "9.4+"
- "Suspend to memory": "9.4+"
- "Suspend to memory on Fn": "9.4+"
network:
name: "Network"
level: 9.0
features:
- "Bluetooth 5.x": "9.4+"
- "WiFi 6": "9.4+"
storage:
name: "Storage"
level: 9.0
features:
- "M.2 NVME": "9.4+"
- "PCIe SD Card Reader": "9.4+"
- name: "AlmaLinux 8"
certified: 0
architecture: "x86_64"
compute:
name: "Compute"
level: 8.0
features:
- "CPU Core Performance Counters": "8.4+"
- "HDMI Audio Playback": "8.4+"
management:
name: "Management"
level: 8.0
features:
- "Basic GPU Graphics": "8.4+"
- "Battery Monitoring": "8.4+"
network:
name: "Network"
level: 8.0
features:
- "Bluetooth 5.x": "8.4+"
- "WiFi 6": "8.4+"
storage:
name: "Storage"
level: 9.0
features:
- "M.2 NVME": "9.4+"
- "PCIe SD Card Reader": "9.4+"
#Begin Search metadata
searchTitle: "Dell Poweredge 2421"
searchDesc: "Poweredge... It's power, it's on the edge. It's neat."
es_collection:
type: ["CPU Collection", "Component"]
provider: "Dell Inc."
platform: "AlmaLinux"
certified-for: ["AlmaLinux 9", "AlmaLinux 8"]
architecture: "x64"
network: "2 Gigabit Ethernet"
management: "Accelerated GPU Graphics"
compute: "CPU Pinning"
storage: "Blu-ray"
---

6
content/certification/hardware-certification/_index.md

@ -0,0 +1,6 @@
---
title: "Hardware Certification"
type: "certification/hardware-certification"
images:
- /images/og/hardwarecertification.png
---

209
content/certification/hardware-certification/hardware-certification-program.md

@ -0,0 +1,209 @@
---
title: "AlmaLinux Certification SIG's Hardware Certification Program"
type: p
---
###### last updated - Sept 8th, 2024
### Abstract
The AlmaLinux OS Foundation (ALOSF) Hardware Certification Program, managed by the [AlmaLinux Certification SIG](https://wiki.almalinux.org/sigs/Certification.html), aims to establish a streamlined, collaborative framework for Independent Hardware Vendors (IHVs) and ALOSF to certify hardware compatibility with AlmaLinux OS. The program leverages an open-source certification toolkit developed and curated by ALOSF, which is built upon various open-source hardware and software testing projects and tools. This toolkit is tailored for the purpose of hardware certification with AlmaLinux OS. The program presents two easy-to-use certification variants, facilitated either by IHVs or ALOSF, to accommodate the global support threshold challenges and foster a broader adoption of AlmaLinux OS. The Certification SIG (Special Interest Group) invites interested parties to partake in shaping the certification standards and procedures, ensuring a transparent, community-driven approach towards global hardware certification.
The SIG invites experts, IHVs, and community members to participate in shaping the certification standards and procedures. Interested parties can join by participating in a meeting, or joining the SIG's chat room. Details for both can be found in the [wiki](https://wiki.almalinux.org/sigs/Certification.html).
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-blue" href="/certification/ecosystem-catalog/"><i class="bi bi-check-all"> </i>See Currently Certified Hardware</a> <a class="btn al-cta-green" href="https://forms.gle/wuCSDisQwR5nFz3d8"><i class="bi bi-people-fill"></i> Get Certified</a>
</div>
<div>
<p>Once you review the below, if you have feedback or ideas to improve the AlmaLinux Certification Program, we'd love to hear from you!</p>
<a class="btn al-cta-yellow" href="https://wiki.almalinux.org/sigs/Certification.html"><i class="bi bi-people-fill"></i> Get involved</a>
</div>
## Table of Contents
* [Introduction](#uintroductionu)
* [Background](#background)
* [Scope](#scope)
* [Objectives and benefits](#uobjectives-and-benefitsu)
* [Certification types](#ucertification-typesu)
* [Collaboration Spaces and Tools](#ucollaboration-spaces-and-toolsu)
* [Certification Process](#ucertification-processu)
* [Initiating the process](#initiating-the-process)
* [Pre-certification](#pre-certification)
* [Certification Testing](#certification-testing)
* [Post-Certification](#post-certification)
* [Certification Locations](#certification-locations)
* [Certification Testing Areas](#ucertification-testing-areasu)
* [Certification Lifecycle](#ucertification-lifecycleu)
* [Contribute to testing: “Community Validated”](#ucontribute-to-testing-community-validatedu)
* [Appendix: Glossary of terms](#uappendix-glossary-of-termsu)
## <u>Introduction</u>
### Background
The AlmaLinux OS Foundation (ALOSF) is committed to delivering an open source, community-owned and governed, forever-free enterprise Linux distribution that is focused on long-term stability and production-grade robustness. In alignment with these objectives, the Hardware Certification Program is engineered to rigorously test and certify hardware for seamless compatibility and optimal performance with AlmaLinux OS.
### Scope
This document outlines the certification process, objectives, testing areas, and collaboration mechanisms. It aims to serve as a comprehensive guide for Independent Hardware Vendors (IHVs) and other stakeholders interested in hardware certification for AlmaLinux OS. If there are any questions about this process or document, the best place to ask is in the [~SIG/Certification](https://chat.almalinux.org/almalinux/channels/sigcertification) room on [chat.almalinux.org](http://chat.almalinux.org).
## <u>Objectives and benefits</u>
Hardware certification for IHVs provides a verified, trusted foundation for enterprise deployments, ensuring optimal compatibility and performance while accelerating market adoption of both hardware and AlmaLinux OS. To achieve this, the program aims to:
1. Establish a streamlined, collaborative framework for hardware certification.
1. Leverage open-source certification toolkits for transparent and robust testing.
1. Encourage community participation through the Special Interest Group (SIG).
1. Provide two certification types to accommodate support threshold challenges
While hardware certification has challenges both for IHVs and for AlmaLinux, the benefits to the AlmaLinux community far outweigh the work that will be put in.
- Ensuring Workload Compatibility: Verifies hardware meets workload needs.
- Promoting Interoperability: Encourages best practices for wide-ranging compatibility.
- Maximizing Test Efficiency: Utilizes a holistic, needs-based approach to optimize resources.
- Offering Free Resources: Including a no-cost certification suite & support improves the ecosystem overall.
## <u>Certification types</u>
Achieving widespread, global support for hardware compatibility with AlmaLinux OS presents a complex array of challenges, including but not limited to regional standards, legal frameworks, and varying hardware configurations. To navigate these challenges and lower the barriers to entry for IHVs, the Hardware Certification Program offers three certification types:
1. **IHV-Facilitated Certification:** The certification is conducted by the IHVs themselves, adhering to guidelines and testing procedures provided by ALOSF. This option offers greater flexibility for IHVs who have the necessary resources to conduct tests in-house. It is especially preferred when the vendor needs to account for specific local requirements, legal considerations, or a variety of hardware configurations. This type of certification will be identified as "Certified" in the AlmaLinux ecosystem catalog.
1. **ALOSF-Facilitated Certification:** The testing is conducted by ALOSF, with or without significant participation from the IHV, to ensure an accurate representation of the hardware's capabilities. This type of certification will be identified as "Certified" in the AlmaLinux ecosystem catalog.
1. **Community-Facilitated Certification without IHV Support:** Hardware certified solely by ALOSF without active IHV participation. This type of certification will be identified as "Community Validated" in the AlmaLinux ecosystem catalog.  
Each of these certification types is designed to accommodate the diverse needs and resources of IHVs, thereby aiding in the broader adoption and support of AlmaLinux OS on a global scale.
## <u>Collaboration Spaces and Tools</u>
The majority of this work is done in an asynchronous manner, so we rely on a collection of tools and applications to manage the workload at any given point.
GitHub Board & Repositories, and other: 
- [AlmaLinux/Certifications](https://github.com/AlmaLinux/certifications)
- This repo is the primary point of contact for the SIG, acts as the holder of certification results, and is the location for certification requests that are not initiated by the foundation or the IHV. It is also the source for the Hardware Certification Program documentation.
- [AlmaLinux/Hardware-Certification-Suite](https://github.com/AlmaLinux/Hardware-Certification-Suite)
- This repo houses the certification suite itself, and documentation, issues tracking, and related code snippets.
- [Certification SIG Board](https://github.com/orgs/AlmaLinux/projects/6)
- This board provides an asynchronous method of communication, allowing for more flexible timelines, especially for international participants. Additionally, the GitHub platform serves as a mechanism for organizations to collaborate with the SIG on making certification requests from Independent Software Vendors (ISVs) and Independent Hardware Vendors (IHVs).
- [Mattermost chat - SIGs/Certifcation](https://chat.almalinux.org/almalinux/channels/sigcertification)
- This acts as the primary way for the community to engage with each other (including the SIG members) for work on certifications or the certification suite. The most collaborative place for the SIG is this chat room. This room is also bridged to matrix on [#sig-certification:almalinux.im](https://app.almalinux.im/#/room/#sig-certification:almalinux.im)
- Private certification mailing list
- The ([certification-sig\@lists.almalinux.org](mailto:certification-sig@lists.almalinux.org?subject=updateme)) mailing list acts as a private place for the Certification SIG to communicate with IHVs and ISVs. If you require your interaction with the SIG to be private (for example, if you are working with the SIG under NDA), you may reach out here.
## <u>Certification Process</u>
The certification process is intentionally simple.
{{< figure src="/images/certificationimages/certificationprocess.svg" link="/images/certificationimages/certificationprocess.svg" caption="The Hardware Certification Process" width="40%">}}
### Initiating the process
For IHVs, initiating the process is as simple as filling out this [google form](https://forms.gle/wuCSDisQwR5nFz3d8). If you have questions that you would like answered ahead of time, reaching out via one of the methods detailed in the [Collaboration Tools](#ucollaboration-spaces-and-toolsu) section is best.
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-green" href="https://forms.gle/wuCSDisQwR5nFz3d8"><i class="bi bi-people-fill"></i> Get Certified</a>
</div>
We strongly recommend you join the [Mattermost chat - SIGs/Certifcation](https://chat.almalinux.org/almalinux/channels/sigcertification), if you have not already done so, after submitting your form to help facilitate collaboration throughout the process and engagement with the community.
### Pre-certification
Before starting the certification testing phase, some preliminary steps will be taken to ensure that the hardware and related documentation are prepared correctly. The pre-certification process might include any or all of the following:
1. Initial Review: After the request is submitted, the SIG will confirm that the request is valid and can be acted on. For example:
1. Does the hardware in question have architecture support in AlmaLinux?
1. Does the accompanying documentation match what was submitted for certification?
1. Hardware housing: If hardware is to be shipped to ALOSF, the SIG will reach out to facilitate that.
1. Test Environment Prep: For IHVs submitting their own test results, ALOSF may also want to perform a validation of the testing environment based on the submitted test logs, ensuring it meets the requirements.
1. Timeline and Milestones: A tentative timeline, along with key milestones for the certification process, is shared with the IHV.
1. Legal Agreements: Any necessary legal agreements, such as Non-Disclosure Agreements (NDAs) or Memorandums of Understanding (MOUs), are finalized.
Completion of the pre-certification phase ensures that both the IHV and ALOSF have a clear understanding of the steps involved in the certification process, what to expect, and how to proceed.
### Certification Testing
Testing, whether done by the Certification SIG or by the IHV, will look largely the same. The host is prepared, and then the tests are run. Running the tests can take between 2 and 5 days, depending on the resources of the device. The image below provides slightly more detail.
The SIG will provide ad-hoc support for IHV-facilitated certification testing including helping the IHV as they implement any IHV-specific tests (if desired or required), and can help diagnose any problems that come up within the certification process.
Note: ALOSF Platinum Sponsor Member, Tuxcare, has offered 2 years of free technical support for IHVs who certify at least 2 pieces of hardware. If the IHV also joins the foundation as a sponsor member, Tuxcare will extend that support window to 5 years.
{{< figure src="/images/certificationimages/certificationtestingprocess.svg" link="/images/certificationimages/certificationtestingprocess.svg" caption="Hardware Certification Testing Process" width="30%">}}
### Post Certification
Once the certification has been completed successfully, the results and certification status will be listed on the AlmaLinux website (almalinux.org), and the IHV will be asked to list AlmaLinux as a supported operating system for the hardware that was tested.
If the IHV joins the foundation as a member, then the Marketing SIG will work with the IHV on the publicity around the certification and joining the foundation. 
### Certification Locations
If the IHV is not able to provide hosting for the hardware that is being tested, the ALOSF will provide three certification locations:
- EU -- Poland, @Atman data center - staffed by CloudLinux
- Asia -- TBD
- USA -- Various, based on need and timing
If the hardware being tested is also being donated to the ALOSF, then it will need to be sent to the USA location in Atlanta for hosting. 
## <u>Certification Testing Areas</u>
The suite has a broad set of tests, balancing the needs of the community across many different uses for AlmaLinux and the hardware we support. In general, these are the areas that the certification suite touches on:
1. Hardware Detection
1. CPU Stress Testing
1. Containerization
1. KVM Functionality
1. Network Performance
1. Linux Kernel Testing through LTP ([Linux Test Project](https://github.com/linux-test-project/ltp))
1. USB Port Functionality (Optional - requires hands-on coordination with the hardware host)
1. PXE Device Booting
1. OS Feature Benchmarking via PTS ([Phoronix Test Suite](http://phoronix-test-suite.com))
## <u>Certification Lifecycle</u>
The Certification SIG will certify for major versions of AlmaLinux, expecting that minor versions will carry forward. For example, if hardware is certified for AlmaLinux 9.3, the hardware will not need to be re-certified until AlmaLinux 10 is released.
The Certification SIG will engage the IHVs for another round of certification when it's time. If the IHV has donated the hardware to ALOSF, then the SIG will maintain the certification ourselves, and alert the IHV to update their website when the updated certification is confirmed. 
## <u>Contribute to testing: "Community Validated"</u>
In addition to the certification processes with IHVs managed by the AlmaLinux OS Foundation (ALOSF), we encourage community involvement in hardware testing. Individuals with access to hardware that we have yet to certify are encouraged and invited to participate. This not only amplifies the scope of our hardware compatibility and validates the strength of the certification suite, but also shows IHVs the types and scope of the AlmaLinux user base.
Hardware that has been certified without input from the IHV will be described on the AlmaLinux website with a "Community Certified" status. This serves as a first confirmation of compatibility until a relationship with the IHV can be confirmed, and provides users with confidence in hardware compatibility.
Once the certification suite has been run, results should be shared through a pull request to the [Certifications](https://github.com/AlmaLinux/certification-test-results) repo.
#### Benefits
- Increased Coverage: With community support, we can vastly increase the range of hardware tested, providing more options for end-users.
- Quick Feedback: Engaged community members running these tests can provide rapid feedback on compatibility, aiding in engagement with IHVs for the SIG.
- Community Trust: Hardware that is "Community Certified" has been vetted by the very users who rely on it, creating a sense of trust and reliability.
If you have a specific certification request, or have hardware in reserve, take a look at the Community Requested Certifications list. We'd love to have you!
<div class="btn-row">
<a class="btn btn-primary btn-block p-2" href="https://github.com/AlmaLinux/certifications"><i class="bi bi-people-fill"></i> Request Certification</a>
</div>
## <u>Appendix: Glossary of terms</u>
**ALOSF:** AlmaLinux OS Foundation - The organization responsible for maintaining and governing AlmaLinux OS.
**IHV:** Independent Hardware Vendor - Companies that produce hardware to be used with various operating systems including AlmaLinux OS.
**ISV:** Independent Software Vendor - Companies that produce software that runs on various operating systems including AlmaLinux OS.
**LTP:** Linux Test Project - A project included in the certification suite aimed at delivering test suites to the open-source community to validate the reliability and stability of Linux.
**MOU:** Memorandum of Understanding - A formal agreement between two or more parties.
**NDA:** Non-Disclosure Agreement - A legal contract between at least two parties outlining confidential material.
**PTS:** Phoronix Test Suite - An open-source benchmark software for Linux.
**PXE:** Preboot Execution Environment - A technology that allows computers to load a software assembly from a network.
**SIG:** Special Interest Group - A community within ALOSF with a shared interest in advancing a specific area of AlmaLinux OS, such as hardware certification.
**SSH:** Secure Shell - A cryptographic network protocol for operating network services securely over an unsecured network.

6
content/certification/software-certification/_index.md

@ -0,0 +1,6 @@
---
title: "Software Certification"
type: "certification/software-certification"
images:
- /images/og/softwarecertification.png
---

4
contributing-blog-posts.md

@ -54,9 +54,11 @@ post:
**The meat of your post** **The meat of your post**
- Below the --- of the metadata block, you should place the content of your blog post. This content should be in markdown format, and any images you want to include in your post can be added to `./static/blog-images/` and will serve from `/blog-images/`. - Below the --- of the metadata block, you should place the content of your blog post. This content should be in markdown format, and any images you want to include in your post can be added to `./static/blog-images/` and will serve from `/blog-images/`.
- Using the '[figure](https://gohugo.io/content-management/shortcodes/#figure)' short code for images can give you more control in how they're displayed. For example:
`{{< figure src="/images/certificationimages/certificationprocess.svg" link="/images/certificationimages/certificationprocess.svg" caption="The Hardware Certification Process" width="100%">}}`
- Before submitting your PR, please test that your content loads correctly by building the site locally with the command `hugo server` - Before submitting your PR, please test that your content loads correctly by building the site locally with the command `hugo server`
- Adding YouTube embeds:\ - Adding YouTube embeds:\
To emebed YouTube videos we suggest you use the [YouTube shortcode](https://gohugo.io/content-management/shortcodes/#youtube) supplied by Hugo and modified by our contributors to include height and width customization with better mobile support, here is an overview of how to use it: To embed YouTube videos we suggest you use the [YouTube shortcode](https://gohugo.io/content-management/shortcodes/#youtube) supplied by Hugo and modified by our contributors to include height and width customization with better mobile support, here is an overview of how to use it:
- **YouTube ID** - The youtube ID can be allocated from the video link, for example in this video `https://www.youtube.com/watch?v=dQw4w9WgXcQ`, the ID is `dQw4w9WgXcQ`. (the value of "v" is the video ID) - **YouTube ID** - The youtube ID can be allocated from the video link, for example in this video `https://www.youtube.com/watch?v=dQw4w9WgXcQ`, the ID is `dQw4w9WgXcQ`. (the value of "v" is the video ID)
- `allowFullScreen=true` - Whether the video can activate full screen mode. - `allowFullScreen=true` - Whether the video can activate full screen mode.
- `autoplay=false` - Whether to automatically play the video. Forces mute to be true. - `autoplay=false` - Whether to automatically play the video. Forces mute to be true.

62
i18n/en.json

@ -583,8 +583,6 @@
"Thank you, CloudFest!": "Thank you, CloudFest!", "Thank you, CloudFest!": "Thank you, CloudFest!",
"AlmaLinux Day: Germany was one of the best events I've ever had. With nearly 300 attendees adjacent to one of my favorite annual events, we got to connect with people all week who were excited about AlmaLinux. I can't wait to do this again!": "AlmaLinux Day: Germany was one of the best events I've ever had. With nearly 300 attendees adjacent to one of my favorite annual events, we got to connect with people all week who were excited about AlmaLinux. I can't wait to do this again!", "AlmaLinux Day: Germany was one of the best events I've ever had. With nearly 300 attendees adjacent to one of my favorite annual events, we got to connect with people all week who were excited about AlmaLinux. I can't wait to do this again!": "AlmaLinux Day: Germany was one of the best events I've ever had. With nearly 300 attendees adjacent to one of my favorite annual events, we got to connect with people all week who were excited about AlmaLinux. I can't wait to do this again!",
"Each supported architecture has various installation images available:": "Each supported architecture has various installation images available:", "Each supported architecture has various installation images available:": "Each supported architecture has various installation images available:",
"AlmaLinux OS 9.4 Stable": "AlmaLinux OS 9.4 Stable",
" and ": " and ",
"The AlmaLinux Engineering Steering Committee": "The AlmaLinux Engineering Steering Committee", "The AlmaLinux Engineering Steering Committee": "The AlmaLinux Engineering Steering Committee",
"Join the conversation": "Join the conversation", "Join the conversation": "Join the conversation",
"Members of ALESCo": "Members of ALESCo", "Members of ALESCo": "Members of ALESCo",
@ -604,9 +602,6 @@
"Follow us, join us, or find more information at the links below": "Follow us, join us, or find more information at the links below", "Follow us, join us, or find more information at the links below": "Follow us, join us, or find more information at the links below",
"ALESCo": "ALESCo", "ALESCo": "ALESCo",
"AlmaLinux Lead Architect": "AlmaLinux Lead Architect", "AlmaLinux Lead Architect": "AlmaLinux Lead Architect",
"AlmaLinux 9.4 and AlmaLinux 8.10 are both stable! Checkout ": "AlmaLinux 9.4 and AlmaLinux 8.10 are both stable! Checkout ",
"AlmaLinux OS 8.10 Stable": "AlmaLinux OS 8.10 Stable",
" for more information!": " for more information!",
"processor series": "processor series", "processor series": "processor series",
"Motherboard": "Motherboard", "Motherboard": "Motherboard",
"tests cover benchmarking of OS features. The result of benchmarking can be found in the PDF linked above.": "tests cover benchmarking of OS features. The result of benchmarking can be found in the PDF linked above.", "tests cover benchmarking of OS features. The result of benchmarking can be found in the PDF linked above.": "tests cover benchmarking of OS features. The result of benchmarking can be found in the PDF linked above.",
@ -648,5 +643,60 @@
"Upgrade from Scientific Linux 7 to AlmaLinux 8": "Upgrade from Scientific Linux 7 to AlmaLinux 8", "Upgrade from Scientific Linux 7 to AlmaLinux 8": "Upgrade from Scientific Linux 7 to AlmaLinux 8",
"Upgrade from 8.x to 9.x within the same distribution": "Upgrade from 8.x to 9.x within the same distribution", "Upgrade from 8.x to 9.x within the same distribution": "Upgrade from 8.x to 9.x within the same distribution",
"Migration to Oracle Linux 9 is available with the": "Migration to Oracle Linux 9 is available with the", "Migration to Oracle Linux 9 is available with the": "Migration to Oracle Linux 9 is available with the",
"Subscribe to our newsletter mailing list and never miss out on the latest in AlmaLinux OS news, and sign up for any other updates on lists.almalinux.org!": "Subscribe to our newsletter mailing list and never miss out on the latest in AlmaLinux OS news, and sign up for any other updates on lists.almalinux.org!" "Subscribe to our newsletter mailing list and never miss out on the latest in AlmaLinux OS news, and sign up for any other updates on lists.almalinux.org!": "Subscribe to our newsletter mailing list and never miss out on the latest in AlmaLinux OS news, and sign up for any other updates on lists.almalinux.org!",
"Certification": "Certification",
"Read More": "Read More",
"Announcing the new Certification Program, run by the Certification SIG.": "Announcing the new Certification Program, run by the Certification SIG.",
"Hardware Certification": "Hardware Certification",
"Part of the AlmaLinux Certification Program": "Part of the AlmaLinux Certification Program",
"The AlmaLinux Hardware Certification Program ensures hardware compatibility and promotes OS adoption through community-first, flexible certification types. The process is built just like AlmaLinux: with focus on long-term reliability and performance.": "The AlmaLinux Hardware Certification Program ensures hardware compatibility and promotes OS adoption through community-first, flexible certification types. The process is built just like AlmaLinux: with focus on long-term reliability and performance.",
"Certified Hardware": "Certified Hardware",
"Get started": "Get started",
"Get involved": "Get involved",
"Compatibility you can trust for performance, reliability, and stability": "Compatibility you can trust for performance, reliability, and stability",
"For consumers": "For consumers",
"Ensuring that hardware is fully compatible with chosen operating systems is critical for all users. Whether running a home server, a desktop, or an HPC cluster, compatibility issues can lead to system instability or performance degradation. The AlmaLinux certification program ensures you know what hardware you can rely on for your AlmaLinux environment.": "Ensuring that hardware is fully compatible with chosen operating systems is critical for all users. Whether running a home server, a desktop, or an HPC cluster, compatibility issues can lead to system instability or performance degradation. The AlmaLinux certification program ensures you know what hardware you can rely on for your AlmaLinux environment.",
"Confirm Compatibility": "Confirm Compatibility",
"The full list of certified hardware is available for you to see in the": "The full list of certified hardware is available for you to see in the",
"Ecosystem Catalog": "Ecosystem Catalog",
"If your hardware isn't listed yet, join the Certification SIG chat room to ask about it, or submit a request! You can also find our entire our open source certification suite": "If your hardware isn't listed yet, join the Certification SIG chat room to ask about it, or submit a request! You can also find our entire our open source certification suite",
"on GitHub": "on GitHub",
"Request Certification": "Request Certification",
"For hardware providers": "For hardware providers",
"Proving hardware reliability is incredibly important for producers of some of the most powerful hardware in the world. The AlmaLinux Certification SIG has partnered with some of the biggest hardware providers in the world for the painless process of getting certified.": "Proving hardware reliability is incredibly important for producers of some of the most powerful hardware in the world. The AlmaLinux Certification SIG has partnered with some of the biggest hardware providers in the world for the painless process of getting certified.",
"Test your hardware": "Test your hardware",
"Get Certified": "Get Certified",
"Start the processes to get hardware certified by clicking below, or take a look at our open source certification suite": "Start the processes to get hardware certified by clicking below, or take a look at our open source certification suite",
"Software Certification": "Software Certification",
"The AlmaLinux Certification Program provides certification at no-cost, to support users in every industry. Stable, secure, and trusted performance starts here for users of AlmaLinux.": "The AlmaLinux Certification Program provides certification at no-cost, to support users in every industry. Stable, secure, and trusted performance starts here for users of AlmaLinux.",
"The AlmaLinux Certificated Software list, managed by the AlmaLinux Certification SIG, encourages the global adoption of the AlmaLinux by ensuring third-party software critical to our community has been certified to run on AlmaLinux.": "The AlmaLinux Certificated Software list, managed by the AlmaLinux Certification SIG, encourages the global adoption of the AlmaLinux by ensuring third-party software critical to our community has been certified to run on AlmaLinux.",
"Certification Program": "Certification Program",
"Test your software - coming soon!": "Test your software - coming soon!",
"The AlmaLinux Certification SIG has launched with hardware certification, and plan to start implementing software certification. If you want to hear when this happens, sign up for the AlmaLinux Announce mailing list, or": "The AlmaLinux Certification SIG has launched with hardware certification, and plan to start implementing software certification. If you want to hear when this happens, sign up for the AlmaLinux Announce mailing list, or",
"join the Certification SIG": "join the Certification SIG",
"to help make it happen!": "to help make it happen!",
"The AlmaLinux Certification Program": "The AlmaLinux Certification Program",
"The AlmaLinux Certification Program focuses on no-cost assurances of compatibility for its community. Stable, secure, and trusted performance is key for users of AlmaLinux, and that starts here.": "The AlmaLinux Certification Program focuses on no-cost assurances of compatibility for its community. Stable, secure, and trusted performance is key for users of AlmaLinux, and that starts here.",
"Hardware": "Hardware",
"Software": "Software",
"A Certification Program Built with Everyone in Mind": "A Certification Program Built with Everyone in Mind",
"Navigating the fluctuating compatibility and dependencies for your environment is hard enough without having to dig into your operating system. Make the best use of your time by checking list of compatible solutions for your needs, environment.": "Navigating the fluctuating compatibility and dependencies for your environment is hard enough without having to dig into your operating system. Make the best use of your time by checking list of compatible solutions for your needs, environment.",
"The full list of certified hardware and software is available in the": "The full list of certified hardware and software is available in the",
"If you don't see what you need, you can either send a request to the Certification SIG, or join the Certification SIG chat room to ask about it. You can also find our entire our open source hardware certification suite": "If you don't see what you need, you can either send a request to the Certification SIG, or join the Certification SIG chat room to ask about it. You can also find our entire our open source hardware certification suite",
"For providers": "For providers",
"No-cost, high-value certification, with support from the experts.": "No-cost, high-value certification, with support from the experts.",
"Certifying in the Linux ecosystem is too often a tedious, painful process. The AlmaLinux Certification SIG has partnered with some of the biggest hardware and software providers in the world to develop the": "Certifying in the Linux ecosystem is too often a tedious, painful process. The AlmaLinux Certification SIG has partnered with some of the biggest hardware and software providers in the world to develop the",
"with a goal of being as quick and easy as possible.": "with a goal of being as quick and easy as possible.",
"Software certification is still in the works. Want to help out? Join the Certification SIG!": "Software certification is still in the works. Want to help out? Join the Certification SIG!",
"Home": "Home",
"Product specs": "Product specs",
"Product Support": "Product Support",
"Learn More": "Learn More",
"LOADING": "LOADING",
"FILTER RESULTS": "FILTER RESULTS",
"SEARCH": "SEARCH",
"Overview": "Overview",
"Certifications": "Certifications",
"Feature": "Feature",
"Level": "Level"
} }

490
layouts/certification/ecosystem-catalog/list.html

@ -0,0 +1,490 @@
{{ define "main" }}
<section id="ecosystem-catalog-listing">
<div class="container">
<div class="row">
<div class="col-12">
<div class="loading"><img src="/images/icon.svg" alt="AlmaLinux OS icon" height="64">{{ i18n "LOADING" }}</div>
</div>
<div class="col-12">
<a href="#!" class="filter-btn" id="filter-link">
<i class="bi bi-filter-circle"></i>{{ i18n "FILTER RESULTS" }}
</a>
</div>
<div class="col-md-3">
<div id="filter-container">
<div id="filter-header">
{{ i18n "FILTER RESULTS" }}
<div class="filter-close">
<a id="filter-close-btn" href="#"><i class="bi bi-x-circle-fill"></i></a>
</div>
</div>
<div id="filter-results"></div>
</div>
</div>
<div class="col-md-9">
<div id="search-container">
<div class="row">
<div class="col-12 pr">
<input type="text" id="search-box" placeholder="Search the catalog..." />
<button id="search-button">{{ i18n "SEARCH" }}</button>
</div>
</div>
</div>
<div id="search-results"></div>
</div>
</div>
</div>
</section>
<style>
.filter-btn {
border: 1px solid #24c2ff;
display: none;
text-align:center;
padding:0.75rem;
text-decoration: none;
margin-bottom: 1rem;
font-weight: bold;
color: #24c2ff;
font-size: 1.2rem;
}
.filter-header {
display: none;
}
.filter-btn i {
margin-right: 0.25rem;
font-size: 1.2rem;
}
.filter-btn:hover, .filter-btn:visited, .filter-btn:active {
text-decoration: none;
color: #24c2ff;
}
#search-box {
width: 100%;
border: none;
border-radius: 1rem;
height: 3rem;
margin-bottom:1.5rem;
border: 2px solid gray;
padding-left: 1rem;
}
#search-button {
width:25%;
height: 3rem;
border: 2px solid gray;
border-radius: 1rem;
position:absolute;
right:0;
background: #04AA6D;
color: white;
font-weight: bold;
}
.pr {
margin:0 !important;
padding:0 !important;
}
#search-container {
display: none;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
#ecosystem-catalog-listing {
padding-top: 1.5rem;
padding-bottom: 1.5rem;
background: white;
color: black;
}
.filter {
display: block;
font-size:1rem;
border-bottom: 1px solid lightgray;
border-top: 1px solid lightgray;
padding-top: 0.2rem;
padding-bottom: 0.4rem;
summary, summary h2 {
font-size: 1.5rem;
line-height: 1.5rem;
font-weight: bold;
text-transform: capitalize;
}
summary h2 {
display: inline-block;
}
label {
display: block;
font-size:1rem;
margin-left: 1rem;
}
input {
font-size: 1rem !important;
}
label:first-of-type {
margin-top: 0.5rem;
}
}
.loading {
margin: 0 auto;
font-size: 5rem;
color: black;
text-align: center;
img {
text-align: center;
display: block;
margin: 3rem auto 0 auto;
animation: spin 2s linear infinite;
}
}
.search-result, .search-result:hover, .search-result:visited {
text-decoration: none;
color: black;
}
.search-result p {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
text-overflow: ellipsis; /* This adds the ellipsis */
}
.search-result {
display: block;
border: 1px solid lightgray;
padding: 1rem;
margin-top: 0.5rem;
border-radius: 1rem;
}
.search-result:first-of-type {
margin-top: 0;
}
.search-result:hover {
background: lightgray;
}
.result-img {
max-height: 75px;
max-width: 100%;
margin:0 auto;
}
.img-con {
display: flex;
align-items: center;
}
.es-details span {
font-size: smaller;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.es-details {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#filter-container {
display: block;
}
#filter-header {
display: none;
}
@media (max-width: 991px) {
.filter summary h2 {
font-size: 1.1rem;
}
}
@media (max-width: 767px) {
#filter-container {
display: none;
position: fixed;
overflow-y: auto; /* Enable vertical scrolling for content that overflows */
bottom: 0;
left: 0;
width: 100%;
height: 100%;
background-color: white; /* Optional: Set a background color */
z-index: 1020;
border: 2px solid black;
}
#filter-results {
padding-top: 3.2rem;
position: fixed;
overflow-y: auto;
height: calc(100% - 3.2rem);
overflow-y: auto;
width: 100%;
}
#filter-header {
position: fixed;
top:0;
left:0;
height:3.2rem;
width:100%;
z-index:1021;
display: block;
background:black;
color: white;
line-height: 3.2rem;
padding: 0 1rem 0 1rem;
font-weight: 1000;
}
.filter-btn {
display: block;
}
.filter-close {
font-size:2rem;
display: inline-block;
float: right;
line-height:2.7rem;
}
}
</style>
<script>
document.addEventListener("DOMContentLoaded", async function () {
const pagefind = await import("/pagefind/pagefind.js");
await pagefind.init();
const filters = await pagefind.filters();
// This function returns a string suitable for being used as an HTML id
function sanitizeForId(...parts) {
const sanitizedParts = parts.map((part) => {
if (typeof part === "string") {
return part.replace(/[^a-zA-Z0-9-_]/g, "").toLowerCase(); //Sanitize string and lowercase them
} else if (typeof part === "number") {
return part.toString(); // Convert numbers to strings
} else {
return ""; // Ignore other types I guess?
}
});
const joined = sanitizedParts.join("-"); // Join with hyphens
// Ensure the ID starts with a letter (important for CSS selectors)
if (!/^[a-zA-Z]/.test(joined)) {
return "id-" + joined;
}
return joined;
}
// Handles and displays filters
function createFilterElements(filters, containerId) {
const filterContainer = document.getElementById(containerId);
//Get checkbox status and store for restoration later
const checkedBoxIds = Array.from(
filterContainer.querySelectorAll('input[type="checkbox"]:checked')
).map((checkbox) => checkbox.id);
//Get the open / closed state of details elements and store for restoration later
const detailsElements = filterContainer.querySelectorAll("details");
const stateMap = {};
detailsElements.forEach((details) => {
stateMap[details.id] = details.open;
});
//Blank out the filters
filterContainer.innerHTML = "";
//Rebuild the filters
for (const filterName in filters) {
const filterValues = filters[filterName];
const filterElement = document.createElement("details"); // Container for each filter
filterElement.setAttribute("open", ""); //This makes the filters open by default
filterElement.id = sanitizeForId(filterName);
filterElement.classList.add("filter");
const filterLabel = document.createElement("summary");
const filterHeading = document.createElement("h2");
filterHeading.textContent = filterName.replace(/-/g, " ");
filterLabel.appendChild(filterHeading);
filterElement.appendChild(filterLabel);
for (const filterValue in filterValues) {
//Axe the empty filters
if (`${filterValues[filterValue]}` < 1) {
continue;
}
const checkbox = document.createElement("input");
checkbox.type = "checkbox";
checkbox.id = sanitizeForId(filterName, filterValue);
checkbox.name = filterName;
checkbox.value = filterValue;
checkbox.checked = false; // By default uncheck all filters
const label = document.createElement("label");
label.textContent = ` ${filterValue} (${filterValues[filterValue]})`;
label.prepend(checkbox); // Put checkbox before the label text
filterElement.appendChild(label);
}
filterContainer.appendChild(filterElement);
}
//Restore the checked state of filter checkboxes from the previous search
checkedBoxIds.forEach((id) => {
const checkbox = document.getElementById(id);
if (checkbox) {
checkbox.checked = true;
}
});
//Restore the open/closed state of filter summaries from the previous search
detailsElements.forEach((details) => {
if (details.open !== true) {
const detailsElement = document.getElementById(details.id);
if (detailsElement) {
detailsElement.removeAttribute("open");
}
}
});
document
.querySelectorAll('.filter input[type="checkbox"]')
.forEach((checkbox) => {
checkbox.addEventListener("change", searchWithFilters); // Trigger a search on filter change
});
}
// Search and Display Results Function
async function searchWithFilters(e = null, query = null) {
if (query === '' || typeof query === "undefined" || !query) {
query = null;
}
// Get active filters from the checkboxes
const activeFilters = {};
const checkboxes = document.querySelectorAll(
'.filter input[type="checkbox"]'
);
checkboxes.forEach((checkbox) => {
if (checkbox.checked) {
activeFilters[checkbox.name] =
activeFilters[checkbox.name] || [];
activeFilters[checkbox.name].push(checkbox.value);
}
});
const results = await pagefind.search(query, { filters: activeFilters });
//Map the search results to make them easier to work with
const pages = await Promise.all(results.results.map((r) => r.data()));
// Axe the loading div if it exists
const loadingDiv = document.querySelector('.loading');
if (loadingDiv) {
loadingDiv.remove();
}
//Show the search box
document.getElementById("search-container").style.display = "block";
// Display Search Results in a Div
const resultsContainer = document.getElementById("search-results"); // Get your results container
resultsContainer.innerHTML = ""; // Clear previous results
if (pages.length > 0) {
// Only Update the filters based on the new search if
// there are results
const newFilters = await results.filters;
createFilterElements(newFilters, "filter-results");
pages.forEach((result) => {
const resultElement = document.createElement("a");
resultElement.classList.add("search-result"); // Add a class for styling
resultElement.href = result.url;
resultElement.innerHTML = `<div class="row"><div class="col-md-2 col-12 img-con"><img class="result-img" src="${result.meta.image}"></div><div class="col-md-7 col-12"><h3>${result.meta.title}</h3><p>${result.meta.excerpt}</p></div><div class="col-md-3 col-12 es-details"><i class="bi bi-building"></i><span>&nbsp;${result.meta.provider}</span><br><i class="bi bi-hdd-stack"></i><span>&nbsp;${result.meta.system}</span><br><i class="bi bi-calendar"></i><span>&nbsp; ${result.meta.published}</span></div></div>`;
resultsContainer.appendChild(resultElement);
});
} else {
resultsContainer.innerHTML = "<p>No results found.</p>";
}
}
function initializeSearch() {
const searchBox = document.getElementById("search-box");
const searchButton = document.getElementById("search-button");
// Event Listener for Enter key press
searchBox.addEventListener("keyup", function(event) {
if (event.key === "Enter") {
searchWithFilters(null, searchBox.value.trim()); // Trim to remove extra spaces
}
});
// Event Listener for button click
searchButton.addEventListener("click", function() {
searchWithFilters(null, searchBox.value.trim());
});
}
// Get references to the link and the filter container
//Do a search as soon as the page loads
searchWithFilters();
initializeSearch();
//filter results link on mobile
const filterLink = document.getElementById("filter-link");
const filterContainer = document.getElementById("filter-container");
filterLink.addEventListener("click", function (event) {
event.preventDefault(); // Prevent default link behavior (page jump)
// Toggle the display of the filter container
if (filterContainer.style.display != "block") {
filterContainer.style.display = "block";
} else {
filterContainer.style.display = "none";
}
});
// Filter results close button on mobile
const closeFilterButton = document.getElementById("filter-close-btn");
closeFilterButton.addEventListener("click", function() {
filterContainer.style.display = "none"; // Hide the filter container
});
});
</script>
{{ end }}

361
layouts/certification/ecosystem-catalog/single.html

@ -0,0 +1,361 @@
{{ define "main" }}
<style>
#ec-hero {
margin-bottom: 1rem;
h1 {
font-size:2rem;
}
.c-img {
max-height: 150px;
overflow: hidden;
max-width:100%;
}
p.provider {
color: lightgray;
font-size:1.1rem;
margin: 1rem 0 1rem 0;
}
p.short-title {
font-size:1.2rem;
}
.clean-link {
text-decoration: none;
}
.collateral {
line-height: 1.5rem;
}
.collateral-item, .collateral-item div, .collateral-item p, .collateral-item a {
display: inline-block;
}
.collateral-item p {
margin: 0;
}
.separator {
margin-left: 0.5rem;
margin-right: 0.5rem;
opacity: 0.5;
font-size:1.5rem;
}
.btn {
padding: 1rem 1.8rem 1rem 1.8rem;
font-size:1.2rem;
margin-top: 2rem;
}
}
#ec-overview {
margin: 2rem 0rem 2rem 0rem;
padding: 2rem 2rem 2rem 2rem;
background: white;
color: black;
p {
margin: 0;
}
}
#ec-overview a{
color: #003eaa;
}
#ec-certification {
margin: 2rem 1rem 2rem 1rem;
summary {
font-size: 2rem;
user-select: none;
}
details {
border: 1px solid white;
padding: 1rem;
}
summary span.architecture {
font-size: 1rem;
margin-left: 2rem;
display: block;
color: lightgray;
}
summary span.badge {
color: white;
background: green;
font-size: 1rem;
line-height: 1rem;
}
h4 {
margin: 3rem 0 0.4rem 0;
font-size:1.6rem;
font-weight: bold;
}
table.certs-table {
width: 90%;
margin:0 auto;
border-collapse: collapse;
border: none;
}
table.certs-table th {
background-color: black;
text-align: left;
padding: 0.75rem;
border:none;
font-size:1.3rem;
}
table.certs-table td {
padding: 0.625rem;
border: none;
}
table.certs-table tr:hover td {
background-color: #f5f5f5;
}
.certs-table th:nth-child(2) {
width:200px;
}
table.certs-table tr:nth-child(even) td {
background-color: #e0e0e0;
color: black !important;
font-size:1.2rem;
}
table.certs-table tr:nth-child(odd) td {
background-color: #f2f2f2;
color: black !important;
font-size:1.2rem;
}
summary h3 {
display: inline-block;
}
}
/*RESPONSIVE QUERIES */
@media(max-width: 767px){
.m-hide {
display: none !important;
}
#ec-hero {
h1 {
font-size:1.2rem;
font-weight: 1000;
text-align: center;
margin-bottom: 0.5rem;
}
.collateral-item {
display: block !important;
margin: 1rem 0 1rem 0;
}
.c-img {
margin:0 auto 2rem auto;
display: block;
}
}
table.certs-table {
overflow-x: auto;
}
}
.breadcrumb {
display: flex;
list-style: none;
padding: 0;
background: none;
font-weight: bold;
flex-wrap: nowrap;
overflow-x: auto;
margin-top: 5px;
}
.breadcrumb-item {
white-space: nowrap;
}
.breadcrumb-item a {
color: white;
text-decoration: none;
}
.breadcrumb-item.active {
color: lightgray;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.breadcrumb-item + .breadcrumb-item::before {
content: "»";
}
@media (max-width: 991px) {
.breadcrumb {
font-size: smaller;
}
}
/*END RESPONSIVE QUERIES */
</style>
<!-- BEGIN SEARCH METADATA SECTION-->
<!--This section is used for search results and is hidden from end users-->
<div data-pagefind-body style="display: none;">
<span data-pagefind-meta="title">{{ .Params.searchTitle }}</span>
<span data-pagefind-meta="excerpt">{{ .Params.searchDesc }}</span>
<span data-pagefind-meta="image">{{ .Params.image }}</span>
<span data-pagefind-meta="system">{{ .Params.system }}</span>
<span data-pagefind-meta="published">{{ .Params.date.Format "January 2, 2006" }}</span>
<span data-pagefind-meta="provider">{{ .Params.provider }}</span>
{{ with .Params.es_collection }}
{{ range $key, $value := . }}
{{ if reflect.IsSlice $value }} {{/* Check if the value is an array */}}
{{ range $nestedValue := $value }}
<span data-pagefind-filter="{{ $key }}">{{ $nestedValue }}</span><br>
{{ end }}
{{ else }} {{/* Otherwise, simple key-value pair */}}
<span data-pagefind-filter="{{ $key }}">{{ $value }}</span><br>
{{ end }}
{{ end }}
{{ else }}
<p>There was no metadata for this page.</p>
{{ end }}
</div>
<!-- END SEARCH METADATA SECTION-->
<div class="container">
<div class="row">
<div class="col-12">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ "/" | relLangURL }}">{{ i18n "Home" }}</a></li>
<li class="breadcrumb-item"><a href="{{ "/certification/ecosystem-catalog" | relLangURL }}">{{ i18n "Ecosystem Catalog" }}</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ .Title }}</li>
</ol>
</nav>
</div>
</div>
</div>
<section id="ec-hero">
<div class="container">
<div class="row">
<div class="col-12 col-md-8 order-md-1 order-2">
<h1>{{ .Title }}</h1>
{{ with .Params.provider }}
<p class="provider">Provided by {{ . }}</p>
{{ end }}
{{ with .Params.shortTitle }}
<p class="short-title">{{ . }}</p>
{{ end }}
{{ with .Params.key_applications }}
<h3>Key Applications</h3>
<ul>
{{ range . }}
<li>{{ . }}</li>
{{ end }}
</ul>
{{ end }}
<div class="collateral">
{{ with .Params.system }}
<div class="collateral-item">
<i class="bi bi-hdd-stack"></i>&nbsp;&nbsp;<p>System: {{ . }}</p>
<div class ="separator m-hide">|</div>
</div>
{{ end }}
{{ with .Params.specsLink }}
<div class="collateral-item">
<a class="clean-link" href="{{ . }}" rel="nofollow"><i class="bi bi-box-arrow-up-right"></i>&nbsp;&nbsp;{{ i18n "Product specs" }}</a>
<div class ="separator m-hide">|</div>
</div>
{{ end }}
{{ with .Params.supportLink }}
<div class="collateral-item">
<a class="clean-link" href="{{ . }}" rel="nofollow"><i class="bi bi-chat"></i>&nbsp;&nbsp;{{ i18n "Product Support" }}</a>
</div>
{{ end }}
</div>
{{ with .Params.buttonLink }}
<a class="btn btn-primary" href="{{ . }}" rel="nofollow">{{ i18n "Learn More" }}</a>
{{ end }}
</div>
<div class="col-12 col-md-4 order-md-2 order-1">
<img src="{{ .Params.image }}" class="c-img">
</div>
</div>
</div>
</section>
{{ with .Params.overview_collection }}
<section id="ec-overview">
<div class="container">
<div class="row">
<div class="col-12">
<h2>{{ i18n "Overview" }}</h2>
{{ range . }}
{{ if eq .key "Certification Inherited From"}}
<p><strong>{{ .key }}: </strong><a href="/certification/ecosystem-catalog/{{ .link }}" alt="">{{ .value }}</a></p>
{{ else if eq .key "Test Logs"}}
<p><strong>{{ .key }}: </strong><a href="https://github.com/AlmaLinux/certification/tree/master/{{ .link }}/" alt="">{{ .value }}</a></p>
{{ else }}
<p><strong>{{ .key }}: </strong>{{ .value }}</p>
{{ end }}
{{ end }}
</div>
</div>
</div>
</section>
{{ end }}
{{ with .Params.certification_collection }}
<section id="ec-certification">
<div class="container">
<div class="row">
<div class="col-12">
<h2>{{ i18n "Certifications" }}</h2>
{{ range . }}
<details>
<summary><h3>{{ .name }}</h3> {{ with .certified }}{{ if . }}<span class="badge">{{ end }}{{ if eq . "official" }}CERTIFIED{{ else if eq . "community" }}COMMUNITY VALIDATED{{ end }}{{ if . }}</span>{{ end }}{{ end }}<span class="architecture">Architecture: {{ .architecture }}</span></summary>
{{ range $categoryKey, $categoryData := . }}
{{ if (reflect.IsMap $categoryData) }}
<h4>{{ index $categoryData "name" }}: {{ index $categoryData "level" }}</h4>
<table class="certs-table">
<thead>
<tr>
<th>{{ i18n "Feature" }}</th>
<th>{{ i18n "Level" }}</th>
</tr>
</thead>
<tbody>
{{ range index $categoryData "features" }}
{{ range $featureKey, $featureValue := . }}
<tr>
<td>{{ $featureKey }}</td>
<td>{{ $featureValue }}</td>
</tr>
{{ end }}
{{ end }}
</tbody>
</table>
{{ end }}
{{ end }}
</details>
{{ end }}
</div>
</div>
</div>
</section>
{{ end }}
{{end}}

152
layouts/certification/hardware-certification/list.html

@ -0,0 +1,152 @@
{{ define "main" }}
<style>
img {
max-width: 100%;
}
#hc-hero {
background: #0e3b5c;
padding-top: 2.5rem;
padding-bottom: 2.5rem;
}
#hc-hero h1 {
font-weight: 800;
font-size: 2.3rem;
}
#hc-hero h2 {
font-size: 1.7rem;
}
#hc-hero img {
border-radius: 1rem;
}
#hc-hero .row {
align-items: center;
}
.btn-row {
text-align: center;
}
.btn-row div {
padding-left: 0.4rem;
padding-right: 0.4rem;
}
.btn-box {
width: 100%;
background: white;
display: block;
padding: 0.5rem;
color: black;
text-decoration: none;
font-weight: 600;
border-radius: 0.3rem;
margin-bottom: 1rem;
}
.btn-box:hover {
text-decoration: none;
color: black;
}
.btn-box i {
display: block;
margin-bottom: 0.2rem;
}
.blue {
background: #24c2ff;
}
.green {
background: #86da2f;
}
.yellow {
background: #ffcb12;
}
.red {
background: #ff4649;
}
#hc-get {
margin-bottom: 2rem;
text-align: left;
}
#hc-get h2 {
text-align: center;
border-bottom: 2px solid #13517e;
padding-bottom: 0.5rem;
margin-bottom: 2rem;
}
#hc-get h3 {
margin: 0;
}
.mixed-text {
line-height:48px;
font-size:32px;
}
.mixed-text img {
display: inline;
}
/*RESPONSIVE QUERIES */
@media(max-width: 991px){
.m-hide {
display: none;
}
}
/*END RESPONSIVE QUERIES */
</style>
<!-- HERO -->
<section id="hc-hero">
<div class="container px-0 al-py-lg">
<div class="row">
<div class="col-lg-6">
<h1 class="display-5 fw-bold">{{ i18n "Hardware Certification" }}</h1>
<p class="display-4"><i class="bi bi-building-fill-check"></i> {{ i18n "Part of the AlmaLinux Certification Program" }}</p>
<p class="lead mb-5 mb-md-3">{{ i18n "The AlmaLinux Hardware Certification Program ensures hardware compatibility and promotes OS adoption through community-first, flexible certification types. The process is built just like AlmaLinux: with focus on long-term reliability and performance." }}</p>
<div class="row btn-row">
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-blue" href="/certification/ecosystem-catalog/"><i class="bi bi-check-all"></i> {{ i18n "Certified Hardware" }}</a>
</div>
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-green" href="/certification/hardware-certification/hardware-certification-program/"><i class="bi bi-journal-medical"></i> {{ i18n "Get started" }}</a>
</div>
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-yellow" href="https://wiki.almalinux.org/sigs/Certification.html"><i class="bi bi-people-fill"></i> {{ i18n "Get involved" }}</a>
</div>
</div>
</div>
<div class="col-lg-6 imgswitch">
<img src="/images/certificationimages/hardware_certification_hero.png">
</div>
</div>
</div>
</section>
<!-- start page content -->
<section id="hc-get">
<div class="container px-4 al-py-lg">
<h2>{{ i18n "Compatibility you can trust for performance, reliability, and stability" }}</h2>
<div class="row px-4 pb-4">
<div class="col-lg-6">
<h3 class="pb-3">{{ i18n "For consumers" }}</h3>
<p>{{ i18n "Ensuring that hardware is fully compatible with chosen operating systems is critical for all users. Whether running a home server, a desktop, or an HPC cluster, compatibility issues can lead to system instability or performance degradation. The AlmaLinux certification program ensures you know what hardware you can rely on for your AlmaLinux environment." }}</p>
<h4 class="pb-3">{{ i18n "Confirm Compatibility" }}</h4>
<p>{{ i18n "The full list of certified hardware is available for you to see in the" }} <a href="/certification/ecosystem-catalog/">{{ i18n "Ecosystem Catalog" }}</a>. {{ i18n "If your hardware isn't listed yet, join the Certification SIG chat room to ask about it, or submit a request! You can also find our entire our open source certification suite" }} <i class="bi bi-github p"></i><a href="https://github.com/AlmaLinux/Hardware-Certification-Suite">{{ i18n "on GitHub" }}</a></p>
<div class="btn-row">
<i class="bi bi-send p"></i> <a class="btn btn-primary btn-block p-2" href="https://github.com/AlmaLinux/certifications">{{ i18n "Request Certification" }}</a>
</div>
</div> <!-- end column 1 -->
<div class="col-lg-6">
<img src="/images/certificationimages/certification_consumers.jpg">
</div>
</div><!-- end consumer row -->
<div class="row px-4">
<div class="col-lg-6">
<img src="/images/certificationimages/certification_providers.jpg">
</div>
<div class="col-lg-6">
<h3 class="pb-3">{{ i18n "For hardware providers" }}</h3>
<p>{{ i18n "Proving hardware reliability is incredibly important for producers of some of the most powerful hardware in the world. The AlmaLinux Certification SIG has partnered with some of the biggest hardware providers in the world for the painless process of getting certified." }}</p>
<h4 class="pb-3">{{ i18n "Test your hardware" }}</h4>
<p>{{ i18n "Start the processes to get hardware certified by clicking below, or take a look at our open source certification suite" }} <i class="bi bi-github p"></i> <a href="https://github.com/AlmaLinux/Hardware-Certification-Suite">{{ i18n "on GitHub" }}</a></p>
<div class="btn-row pt-3">
<a class="btn btn-primary btn-block p-2" href="/certification/hardware-certification/hardware-certification-program/">{{ i18n "Get Certified" }}</a>
</div>
</div>
</div><!-- end provider row -->
</div>
</section>
{{ end }}

134
layouts/certification/list.html

@ -0,0 +1,134 @@
{{ define "main" }}
<style>
img {
max-width: 100%;
}
#hc-hero {
background: #0e3b5c;
padding-top: 2.5rem;
padding-bottom: 2.5rem;
}
#hc-hero h1 {
font-weight: 800;
font-size: 2.3rem;
}
#hc-hero h2 {
font-size: 1.7rem;
}
#hc-hero img {
border-radius: 1rem;
}
#hc-hero .row {
align-items: center;
}
.btn-row {
text-align: center;
}
.btn-row div {
padding-left: 0.4rem;
padding-right: 0.4rem;
}
.btn-box {
width: 100%;
background: white;
display: block;
padding: 0.5rem;
color: black;
text-decoration: none;
font-weight: 600;
border-radius: 0.3rem;
margin-bottom: 1rem;
}
.btn-box:hover {
text-decoration: none;
color: black;
}
.btn-box i {
display: block;
margin-bottom: 0.2rem;
}
#hc-get {
margin-bottom: 2rem;
text-align: left;
}
#hc-get h2 {
text-align: center;
border-bottom: 2px solid #13517e;
padding-bottom: 0.5rem;
margin-bottom: 2rem;
}
#hc-get h3 {
margin: 0;
}
.mixed-text {
line-height:48px;
font-size:32px;
}
.mixed-text img {
display: inline;
}
/*RESPONSIVE QUERIES */
@media(max-width: 991px){
.m-hide {
display: none;
}
}
/*END RESPONSIVE QUERIES */
</style>
<!-- HERO -->
<section id="hc-hero">
<div class="container px-0 al-py-lg">
<div class="row">
<div class="col-lg-6">
<h1 class="display-5 fw-bold">{{ i18n "The AlmaLinux Certification Program" }}</h1>
<p class="lead mb-5 mb-md-3">{{ i18n "The AlmaLinux Certification Program focuses on no-cost assurances of compatibility for its community. Stable, secure, and trusted performance is key for users of AlmaLinux, and that starts here." }}</p>
<div class="row btn-row">
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-blue" href="/certification/hardware-certification/"><i class="bi bi-server"></i> {{ i18n "Hardware" }}</a>
</div>
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-green" href="/certification/software-certification/"><i class="bi bi-people-fill"></i> {{ i18n "Software" }}</a>
</div>
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-yellow" href="https://wiki.almalinux.org/sigs/Certification.html"><i class="bi bi-people-fill"></i> {{ i18n "Get involved" }}</a>
</div>
</div>
</div>
<div class="col-lg-6 imgswitch">
<img src="/images/certificationimages/certificationpagehero.png">
</div>
</div>
</div>
</section>
<!-- start page content -->
<section id="hc-get">
<div class="container px-4 al-py-lg">
<h2>{{ i18n "A Certification Program Built with Everyone in Mind" }}</h2>
<div class="row px-4 pb-4">
<div class="col-lg-6">
<h3 class="pb-3">{{ i18n "For consumers" }}</h3>
<p><b>{{ i18n "Compatibility you can trust for performance, reliability, and stability" }}</b></p>
<p>{{ i18n "Navigating the fluctuating compatibility and dependencies for your environment is hard enough without having to dig into your operating system. Make the best use of your time by checking list of compatible solutions for your needs, environment." }}</p>
<p>{{ i18n "The full list of certified hardware and software is available in the" }} <a href="/certification/ecosystem-catalog/">{{ i18n "Ecosystem Catalog" }}</a>. {{ i18n "If you don't see what you need, you can either send a request to the Certification SIG, or join the Certification SIG chat room to ask about it. You can also find our entire our open source hardware certification suite" }} <i class="bi bi-github p"></i> <a href="https://github.com/AlmaLinux/Hardware-Certification-Suite">{{ i18n "on GitHub" }}</a>.</p>
<div class="btn-row">
<a class="btn btn-primary btn-block p-2" href="https://github.com/AlmaLinux/certifications"><i class="bi bi-people-fill"></i> {{ i18n "Request Certification" }}</a>
</div>
</div> <!-- end column 1 -->
<div class="col-lg-6">
<h3 class="pb-3">{{ i18n "For providers" }}</h3>
<p><b>{{ i18n "No-cost, high-value certification, with support from the experts." }}</b></p>
<p>{{ i18n "Certifying in the Linux ecosystem is too often a tedious, painful process. The AlmaLinux Certification SIG has partnered with some of the biggest hardware and software providers in the world to develop the" }} <a href="/certification/hardware-certification/hardware-certification-program/">{{ i18n "Certification Program" }}</a> {{ i18n "with a goal of being as quick and easy as possible." }}</p>
<h4 class="pb-3">{{ i18n "Test your software - coming soon!" }}</h4>
<p>{{ i18n "Software certification is still in the works. Want to help out? Join the Certification SIG!" }}</p>
<h4 class="pb-3">{{ i18n "Test your hardware" }}</h4>
<p>{{ i18n "Start the processes to get hardware certified by clicking below, or take a look at our open source certification suite" }} <i class="bi bi-github p"></i> <a href="https://github.com/AlmaLinux/Hardware-Certification-Suite">{{ i18n "on GitHub" }}</a></p>
<div class="btn-row pt-3">
<a class="btn btn-primary btn-block p-2" href="/certification/hardware-certification/">{{ i18n "Get Certified" }}</a>
</div>
</div>
</div><!-- end consumer row -->
</div>
</section>
{{ end }}

125
layouts/certification/software-certification/list.html

@ -0,0 +1,125 @@
{{ define "main" }}
<style>
img {
max-width: 100%;
}
#hc-hero {
background: #0e3b5c;
padding-top: 2.5rem;
padding-bottom: 2.5rem;
}
#hc-hero h1 {
font-weight: 800;
font-size: 2.3rem;
}
#hc-hero h2 {
font-size: 1.7rem;
}
#hc-hero img {
border-radius: 1rem;
}
#hc-hero .row {
align-items: center;
}
.btn-row {
text-align: center;
}
.btn-row div {
padding-left: 0.4rem;
padding-right: 0.4rem;
}
.btn-box {
width: 100%;
background: white;
display: block;
padding: 0.5rem;
color: black;
text-decoration: none;
font-weight: 600;
border-radius: 0.3rem;
margin-bottom: 1rem;
}
.btn-box:hover {
text-decoration: none;
color: black;
}
.btn-box i {
display: block;
margin-bottom: 0.2rem;
}
#hc-get {
margin-bottom: 2rem;
text-align: left;
}
#hc-get h2 {
text-align: center;
border-bottom: 2px solid #13517e;
padding-bottom: 0.5rem;
margin-bottom: 2rem;
}
#hc-get h3 {
margin: 0;
}
.mixed-text {
line-height:48px;
font-size:32px;
}
.mixed-text img {
display: inline;
}
/*RESPONSIVE QUERIES */
@media(max-width: 991px){
.m-hide {
display: none;
}
}
/*END RESPONSIVE QUERIES */
</style>
<!-- HERO -->
<section id="hc-hero">
<div class="container px-0 al-py-lg">
<div class="row">
<div class="col-lg-6">
<h1 class="display-5 fw-bold">{{ i18n "Software Certification" }}</h1>
<p class="display-4"><i class="bi bi-building-fill-check"></i> {{ i18n "Part of the AlmaLinux Certification Program" }}</p>
<p class="lead mb-5 mb-md-3">{{ i18n "The AlmaLinux Certification Program provides certification at no-cost, to support users in every industry. Stable, secure, and trusted performance starts here for users of AlmaLinux." }}</p>
<p class="lead mb-5 mb-md-3">{{ i18n "The AlmaLinux Certificated Software list, managed by the AlmaLinux Certification SIG, encourages the global adoption of the AlmaLinux by ensuring third-party software critical to our community has been certified to run on AlmaLinux." }}</p>
<div class="row btn-row">
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-blue" href="/certification/"><i class="bi bi-server"></i> {{ i18n "Certification Program" }}</a>
</div>
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-green" href="/certification/hardware-certification/"><i class="bi bi-people-fill"></i> {{ i18n "Hardware Certification" }}</a>
</div>
<div class="d-grid d-md-flex justify-content-md-start">
<a class="btn al-cta-yellow" href="https://wiki.almalinux.org/sigs/Certification.html"><i class="bi bi-people-fill"></i> {{ i18n "Get involved" }}</a>
</div>
</div>
</div>
<div class="col-lg-6 imgswitch">
<img src="/images/certificationimages/software_certification_hero.png">
</div>
</div>
</div>
</section>
<!-- start page content -->
<section id="hc-get">
<div class="container px-4 al-py-lg">
<h2>{{ i18n "Compatibility you can trust for performance, reliability, and stability" }}</h2>
<div class="row px-4 pb-4">
<div class="col-lg-6">
<h3 class="pb-3">{{ i18n "Test your software - coming soon!" }}</h3>
<p>{{ i18n "The AlmaLinux Certification SIG has launched with hardware certification, and plan to start implementing software certification. If you want to hear when this happens, sign up for the AlmaLinux Announce mailing list, or" }} <a href="https://wiki.almalinux.org/sigs/Certification.html">{{ i18n "join the Certification SIG" }}</a> {{ i18n "to help make it happen!" }} </p>
<div class="btn-row">
<a class="btn btn-primary btn-block p-2" href="https://github.com/almalinux/certifications/">{{ i18n "Request Certification" }}</a>
</div>
</div> <!-- end column 1 -->
<div class="col-lg-6">
<img src="/images/certificationimages/software_testers.png">
</div>
</div><!-- end consumer row -->
</div>
</section>
{{ end }}

11
layouts/index.html

@ -60,9 +60,6 @@
padding-left: 1.5rem !important; padding-left: 1.5rem !important;
padding-right: 1.5rem !important; padding-right: 1.5rem !important;
} }
.al-page-index .al-hero-cta-primary {
margin:10px;
}
.row > * { .row > * {
margin-top: 20px; margin-top: 20px;
} }
@ -98,16 +95,16 @@
{{ i18n "An Open Source, community owned and governed, forever-free enterprise Linux distribution, focused on long-term stability, providing a robust production-grade platform. AlmaLinux OS is binary compatible with RHEL®." }} {{ i18n "An Open Source, community owned and governed, forever-free enterprise Linux distribution, focused on long-term stability, providing a robust production-grade platform. AlmaLinux OS is binary compatible with RHEL®." }}
</p> </p>
<div class="d-grid gap-3 d-md-flex justify-content-md-start pt-3"> <div class="d-grid gap-3 d-md-flex justify-content-md-start pt-3">
<a href="{{ "/contribute" | relLangURL }}" class="btn btn-lg px-4 me-md-2 al-hero-cta-primary"> <a href="{{ "/contribute" | relLangURL }}" class="btn btn-lg px-4 me-md-2 al-cta-blue">
<i class="bi bi-people pe-1"></i> <i class="bi bi-people pe-1"></i>
{{ i18n "Contribute" }} {{ i18n "Contribute" }}
</a> </a>
<a href="{{ "/get-almalinux" | relLangURL }}" class="btn btn-lg px-4 al-hero-cta-secondary"> <a href="{{ "/get-almalinux" | relLangURL }}" class="btn btn-lg px-4 al-cta-green">
<i class="bi bi-download pe-1"></i> <i class="bi bi-download pe-1"></i>
{{ i18n "Download" }} {{ i18n "Download" }}
</a> </a>
<a href="https://wiki.almalinux.org/documentation/migration-guide" class="btn btn-lg px-4 al-hero-cta-tertiary"> <a href="https://wiki.almalinux.org/documentation/migration-guide" class="btn btn-lg px-4 al-cta-yellow">
<img src="/images/icon-migrate.svg" alt="Icon" class="pe-1"> <img src="/images/icon-almalinux-black.svg" alt="Icon" class="pe-1">
{{ i18n "Migrate" }} {{ i18n "Migrate" }}
</a> </a>
</div> </div>

12
layouts/p/list.html

@ -3,9 +3,6 @@
<div class="al-body-container"> <div class="al-body-container">
<section class="al-page-page" dir="ltr"> <section class="al-page-page" dir="ltr">
<div class="container py-5"> <div class="container py-5">
<h1 class="al-section-title mb-4">{{ .Title }}</h1> <h1 class="al-section-title mb-4">{{ .Title }}</h1>
@ -14,20 +11,11 @@
{{ .Content }} {{ .Content }}
</div> </div>
<div class="al-page-date d-flex align-items-center"
title="July 25, 2021 1:14 p.m."
dir="ltr">
<i class="bi bi-calendar pe-1"></i>
<span>Published 1 year, 4 months ago</span>
</div>
</article> </article>
</div> </div>
</section> </section>
</div> </div>
{{ .Content }} {{ .Content }}
{{ end }} {{ end }}

10
layouts/p/single.html

@ -1,11 +1,6 @@
{{ define "main" }} {{ define "main" }}
<div class="al-body-container " style="margin: auto;">
<div class="al-body-container " style="max-width:680px; margin: auto;">
<section class="al-page-page" dir="ltr"> <section class="al-page-page" dir="ltr">
<div class="container py-5"> <div class="container py-5">
<h1 class="al-section-title mb-4">{{ .Title }}</h1> <h1 class="al-section-title mb-4">{{ .Title }}</h1>
@ -19,7 +14,4 @@
</div> </div>
{{ end }} {{ end }}

3
layouts/partials/common/footer.html

@ -3,7 +3,7 @@
<div class="row"> <div class="row">
<div class="col-12 col-md"> <div class="col-12 col-md">
<img src="/images/icon.svg" alt="AlmaLinux OS icon" class="mb-3" height="64"> <img src="/images/icon.svg" alt="AlmaLinux OS icon" class="mb-3" height="64">
<div class="d-block mb-3">© 2024 AlmaLinux OS Foundation</div> <div class="d-block mb-3">AlmaLinux OS Foundation</div>
<div>20791 Three Oaks Pkwy, #980<br />Estero, FL 33929</div> <div>20791 Three Oaks Pkwy, #980<br />Estero, FL 33929</div>
<div><a href="mailto:hello@almalinux.org">hello@almalinux.org</a></div> <div><a href="mailto:hello@almalinux.org">hello@almalinux.org</a></div>
</div> </div>
@ -11,6 +11,7 @@
<h5>Resources</h5> <h5>Resources</h5>
<ul class="list-unstyled"> <ul class="list-unstyled">
<li><a href="https://wiki.almalinux.org">{{ i18n "Wiki" }}</a></li> <li><a href="https://wiki.almalinux.org">{{ i18n "Wiki" }}</a></li>
<li><a href="{{ "/certification" | relLangURL }}">{{ i18n "Certification" }}</a></li>
<li><a href="{{ "/alesco" | relLangURL }}">{{ i18n "ALESCo" }}</a></li> <li><a href="{{ "/alesco" | relLangURL }}">{{ i18n "ALESCo" }}</a></li>
<li><a href="https://github.com/AlmaLinux/">GitHub</a></li> <li><a href="https://github.com/AlmaLinux/">GitHub</a></li>
<li><a href="https://bugs.almalinux.org/">{{ i18n "Bugs" }}</a></li> <li><a href="https://bugs.almalinux.org/">{{ i18n "Bugs" }}</a></li>

29
layouts/partials/common/nav.html

@ -43,6 +43,28 @@
</a> </a>
</li> </li>
<li> <li>
<a class="dropdown-item" href="{{ "/certification" | relLangURL }}" style="color:aliceblue">
{{ i18n "Certification" }}
</a>
<ul>
<li>
<a class="dropdown-nested dropdown-item" href="{{ "/certification/hardware-certification" | relLangURL }}" style="color:aliceblue">
{{ i18n "Hardware" }}
</a>
</li>
<li>
<a class="dropdown-item dropdown-nested" href="{{ "/certification/hardware-certification/hardware-certification-program" | relLangURL }}" style="color:aliceblue">
{{ i18n "Certification Program" }}
</a>
</li>
<li>
<a class="dropdown-item dropdown-nested" href="{{ "/certification/software-certification" | relLangURL }}" style="color:aliceblue">
{{ i18n "Software" }}
</a>
</li>
</ul>
</li>
<li>
<a class="dropdown-item" href="{{ "/alesco" | relLangURL }}" style="color:aliceblue"> <a class="dropdown-item" href="{{ "/alesco" | relLangURL }}" style="color:aliceblue">
{{ i18n "ALESCo" }} {{ i18n "ALESCo" }}
</a> </a>
@ -85,7 +107,7 @@
</ul> </ul>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="https://shop.almalinux.org/?utm_source=almalinuxorg&amp;utm_medium=web&amp;utm_campaign=almalinuxorg_navbar" style="margin-top:5px"> <a class="nav-link" href="https://shop.almalinux.org/" style="margin-top:5px">
{{ i18n "Shop" }} {{ i18n "Shop" }}
</a> </a>
</li> </li>
@ -117,14 +139,11 @@
</ul> </ul>
</div> </div>
</div> </div>
</nav> </nav>
<div id="al-motd" dir="ltr" data-nosnippet="" style="display: block; letter-spacing: 0px;"> <div id="al-motd" dir="ltr" data-nosnippet="" style="display: block; letter-spacing: 0px;">
<div class="container pl-3"> <div class="container pl-3">
<i class="bi bi-card-checklist"></i> <i class="bi bi-card-checklist"></i>
<div class="text">{{ i18n "AlmaLinux 9.4 and AlmaLinux 8.10 are both stable! Checkout " }}<a href="{{ "/blog/2024-05-06-announcing-94-stable/" | relLangURL }}">{{ i18n "AlmaLinux OS 9.4 Stable" }}</a>{{ i18n " and " }}<a href="{{ "/blog/2024-05-28-announcing-810-stable/" | relLangURL }}">{{ i18n "AlmaLinux OS 8.10 Stable" }}</a>{{ i18n " for more information!" }}</div> <div class="text">{{ i18n "Announcing the new Certification Program, run by the Certification SIG." }} <a href="{{ "/certification" | relLangURL }}">{{ i18n "Read More" }}</a></div>
</div> </div>
</div> </div>

2
layouts/partials/common/opengraph.html

@ -15,7 +15,7 @@
{{- with $.Site.Params.images }}<meta property="og:image" content="{{ index . 0 | absURL }}"/>{{ end -}} {{- with $.Site.Params.images }}<meta property="og:image" content="{{ index . 0 | absURL }}"/>{{ end -}}
{{- if not $.Site.Params.images -}} {{- if not $.Site.Params.images -}}
<!-- Default image if no other image is found --> <!-- Default image if no other image is found -->
<meta property="og:image" content="{{ "images/newhero.png" | absURL }}"/> <meta property="og:image" content="{{ "images/og/newhero.png" | absURL }}"/>
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}

31
package-lock.json

@ -0,0 +1,31 @@
{
"name": "almalinux",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "almalinux",
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"bootstrap-icons": "^1.11.3"
}
},
"node_modules/bootstrap-icons": {
"version": "1.11.3",
"resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.11.3.tgz",
"integrity": "sha512-+3lpHrCw/it2/7lBL15VR0HEumaBss0+f/Lb6ZvHISn1mlK83jjFpooTLsMWbIjJMDjDjOExMsTxnXSIT4k4ww==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/twbs"
},
{
"type": "opencollective",
"url": "https://opencollective.com/bootstrap"
}
]
}
}
}

4
static/images/building-fill-check.svg

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-building-fill-check" viewBox="0 0 16 16">
<path d="M12.5 16a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7m1.679-4.493-1.335 2.226a.75.75 0 0 1-1.174.144l-.774-.773a.5.5 0 0 1 .708-.708l.547.548 1.17-1.951a.5.5 0 1 1 .858.514"/>
<path d="M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7.256A4.5 4.5 0 0 0 12.5 8a4.5 4.5 0 0 0-3.59 1.787A.5.5 0 0 0 9 9.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .39-.187A4.5 4.5 0 0 0 8.027 12H6.5a.5.5 0 0 0-.5.5V16H3a1 1 0 0 1-1-1zm2 1.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5m3 0v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5m3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zM4 5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5M7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm2.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5M4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/images/certificationimages/certification_consumers.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
static/images/certificationimages/certification_providers.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
static/images/certificationimages/certificationpagehero.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

1
static/images/certificationimages/certificationprocess.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 131 KiB

1
static/images/certificationimages/certificationtestingprocess.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 79 KiB

BIN
static/images/certificationimages/hardware_certification_hero.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 KiB

BIN
static/images/certificationimages/software_certification_hero.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
static/images/certificationimages/software_testers.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
static/images/ec/dell-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

BIN
static/images/ec/hp-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
static/images/ec/supermicro-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

0
static/images/icon-migrate.svg → static/images/icon-almalinux-black.svg

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
static/images/og/certification.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
static/images/og/ecosystemcatalog.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
static/images/og/hardwarecertification.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
static/images/og/newhero.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
static/images/og/softwarecertification.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Loading…
Cancel
Save