diff --git a/content/_index.html b/content/_index.html index 0b8bca5..b2f347e 100644 --- a/content/_index.html +++ b/content/_index.html @@ -24,7 +24,7 @@

Contact Us - + {{< icon "slack" "w-5 h-5" >}} Chat on Slack @@ -183,10 +183,10 @@

Store, Analyze
@@ -202,7 +202,7 @@

CRA is Coming.

In the US, Executive Order 14028 kicked off federal SBOM adoption and remains in effect, and OMB's latest guidance encourages agencies to require SBOMs in contracts. Cryptography is next: under EO 14144's post-quantum provisions, CISA now maintains a list of product categories where post-quantum support is expected, and agencies must support TLS 1.3 by January 2030. You can't migrate cryptography you haven't inventoried, which is exactly what a CBOM gives you. sbomify covers both: automated SBOM generation and CBOM ingestion with a post-quantum readiness view.

- Learn More About CRA + Learn More About CRA
diff --git a/content/case-studies/_index.html b/content/case-studies/_index.html index 05715fe..00a0d36 100644 --- a/content/case-studies/_index.html +++ b/content/case-studies/_index.html @@ -7,7 +7,7 @@
- +
Atsign logo
@@ -30,7 +30,7 @@

+
Screenly logo
diff --git a/content/features/_index.md b/content/features/_index.md index 63c653b..be46b95 100644 --- a/content/features/_index.md +++ b/content/features/_index.md @@ -9,7 +9,7 @@ description: "Explore sbomify's comprehensive feature set for managing, sharing, ### Generate, Collaborate, and Analyze -Streamline your SBOM workflow from creation to analysis. Our comprehensive toolset helps you generate accurate SBOMs, collaborate with your team, and gain insights from your software supply chain data. Triage vulnerabilities with [multi-format VEX](/faq/how-do-i-use-vex/) (CycloneDX, OpenVEX, CSAF), and inventory your cryptography with [CBOMs](/faq/what-is-a-cbom/) including post-quantum readiness scoring. [Learn more about the SBOM lifecycle →](/features/generate-collaborate-analyze) +Streamline your SBOM workflow from creation to analysis. Our comprehensive toolset helps you generate accurate SBOMs, collaborate with your team, and gain insights from your software supply chain data. Triage vulnerabilities with [multi-format VEX](/faq/how-do-i-use-vex/) (CycloneDX, OpenVEX, CSAF), and inventory your cryptography with [CBOMs](/faq/what-is-a-cbom/) including post-quantum readiness scoring. [Learn more about the SBOM lifecycle →](/features/generate-collaborate-analyze/) ### Trust Center @@ -17,14 +17,14 @@ Turn transparency into a competitive advantage. Share SBOMs, VEX statements, and ### SBOM Hierarchy -Understand complex relationships between your software components with our hierarchical view. Map dependencies across your entire software portfolio and identify potential vulnerabilities at any level. [Discover SBOM Hierarchy →](/features/sbom-hierarchy) +Understand complex relationships between your software components with our hierarchical view. Map dependencies across your entire software portfolio and identify potential vulnerabilities at any level. [Discover SBOM Hierarchy →](/features/sbom-hierarchy/) ## Integration & Automation ### Integrations -Seamlessly connect sbomify with your existing tools and workflows. Our integration ecosystem supports popular CI/CD platforms, security tools, and development environments. [View available integrations →](/features/integrations) +Seamlessly connect sbomify with your existing tools and workflows. Our integration ecosystem supports popular CI/CD platforms, security tools, and development environments. [View available integrations →](/features/integrations/) ### Why Now? -Understand the critical importance of SBOM adoption in today's software landscape. Learn how recent security mandates and industry trends are shaping the future of software supply chain security. [Read more about timing →](/features/why-now) +Understand the critical importance of SBOM adoption in today's software landscape. Learn how recent security mandates and industry trends are shaping the future of software supply chain security. [Read more about timing →](/features/why-now/) diff --git a/content/features/trust-center.html b/content/features/trust-center.html index d5cabef..3703775 100644 --- a/content/features/trust-center.html +++ b/content/features/trust-center.html @@ -34,7 +34,7 @@

Everything You Ne {{< /feature-card >}} - {{< feature-card icon_bg_class="bg-blue-50" icon_text_class="text-blue-500" title="Automated Publishing" description="Stop manual uploads. Your trust center stays in sync with your CI/CD pipeline, automatically publishing new SBOMs for every software release. Manage complex hierarchies with ease." >}} + {{< feature-card icon_bg_class="bg-blue-50" icon_text_class="text-blue-500" title="Automated Publishing" description="Stop manual uploads. Your trust center stays in sync with your CI/CD pipeline, automatically publishing new SBOMs for every software release. Manage complex hierarchies with ease." >}} {{< /feature-card >}} diff --git a/content/posts/2026-01-09-fda-medical-device-sbom-requirements.md b/content/posts/2026-01-09-fda-medical-device-sbom-requirements.md index fa61b3b..b916fd5 100644 --- a/content/posts/2026-01-09-fda-medical-device-sbom-requirements.md +++ b/content/posts/2026-01-09-fda-medical-device-sbom-requirements.md @@ -92,7 +92,7 @@ The FDA guidance ties SBOMs into broader cybersecurity documentation expectation - SBOMs should be **updated to reflect changes** throughout software updates and the device lifecycle - This is not a one-time snapshot – it's a living document -- Proper [SBOM versioning practices](/guides/how-to-version-sboms) are essential for maintaining traceability +- Proper [SBOM versioning practices](/guides/how-to-version-sboms/) are essential for maintaining traceability ### Integration with Other Documentation @@ -213,7 +213,7 @@ Getting ahead of these requirements isn't just about regulatory compliance – i - [What is an SBOM?](/what-is-sbom/) - [The SBOM Lifecycle: Generation, Distribution, and Analysis](/features/generate-collaborate-analyze/) -- [How to Version SBOMs](/guides/how-to-version-sboms) +- [How to Version SBOMs](/guides/how-to-version-sboms/) - [The Growing Importance of SBOMs in Cybersecurity Compliance](/features/why-now/) ### Related Compliance Frameworks diff --git a/content/pricing.html b/content/pricing.html index c724ce5..6496514 100644 --- a/content/pricing.html +++ b/content/pricing.html @@ -109,7 +109,7 @@

Features

@@ -146,7 +146,7 @@

Features

diff --git a/data/main.yml b/data/main.yml index c7930a0..907a5b4 100644 --- a/data/main.yml +++ b/data/main.yml @@ -1,16 +1,16 @@ nav: - name: Zero to Hero - link: /zero-to-hero + link: /zero-to-hero/ - name: What is an SBOM? - link: /what-is-sbom + link: /what-is-sbom/ - name: About - link: /about + link: /about/ - name: Blog - link: /blog + link: /blog/ - name: Case Studies - link: /case-studies + link: /case-studies/ - name: Pricing - link: /pricing + link: /pricing/ social: x: https://x.com/sbomify diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 3b4425f..872c17a 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -8,7 +8,7 @@ {{ block "main" . }}{{ end }} {{ partial "footer.html" . }} - {{ $js := resources.Get "js/main.js" | fingerprint }} + {{ $js := resources.Get "js/main.js" | minify | fingerprint }} diff --git a/layouts/case-studies/single.html b/layouts/case-studies/single.html index 0bcdee7..e99575f 100644 --- a/layouts/case-studies/single.html +++ b/layouts/case-studies/single.html @@ -38,7 +38,7 @@

Inspired by this story?

Start Free Trial - + All Case Studies diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 9f3b8d2..49853ac 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -52,7 +52,7 @@ {{ end }} - + {{ $slIcon := resources.Get "images/site/slack-white.svg" }} {{ if $slIcon }} {{ $slIcon = $slIcon | fingerprint }} @@ -65,9 +65,9 @@
© 2024 - {{ now.Format "2006" }} sbomify ltd. All rights reserved.
- Privacy + Privacy - Terms + Terms
A Viktopia Studio project diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 55920ef..4c2aab4 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -13,10 +13,29 @@ {{- $desc := or .Params.description "" -}} {{- if not $desc -}} {{- if eq .Kind "term" -}} - {{- if eq .Data.Plural "categories" -}} - {{- $desc = printf "All sbomify blog posts in the %s category: articles on SBOMs, software supply chain security, and compliance." (.Title | lower) -}} + {{- /* Derive the description from what the term actually contains. The + previous wording differed only by the term itself, which left ~12 + taxonomy pages sharing a near-identical description; the post count + and newest headline make each one genuinely distinct and more + informative than boilerplate. */ -}} + {{- $n := len .Pages -}} + {{- $noun := cond (eq $n 1) "article" "articles" -}} + {{- $rel := cond (eq .Data.Plural "categories") "in the" "tagged" -}} + {{- $suffix := cond (eq .Data.Plural "categories") " category" "" -}} + {{- $latest := "" -}} + {{- with .Pages.ByDate.Reverse -}} + {{- /* Post titles may contain straight quotes (eg. v26.7.1 "Not + Affected"), which would end the attribute early. Fold them to + single quotes rather than relying on the minifier to swap the + surrounding quote style -- and so they stay legible next to the + typographic quotes wrapping the title itself. */ -}} + {{- $latest = replace (index . 0).Title "\"" "'" -}} + {{- end -}} + {{- $term := .Title | lower -}} + {{- if $latest -}} + {{- $desc = printf "%d sbomify %s %s %s%s, most recently “%s”." $n $noun $rel $term $suffix $latest -}} {{- else -}} - {{- $desc = printf "All sbomify blog posts tagged %s: articles on SBOMs, software supply chain security, and compliance." (.Title | lower) -}} + {{- $desc = printf "sbomify %s %s %s%s." $noun $rel $term $suffix -}} {{- end -}} {{- else if eq .Kind "taxonomy" -}} {{- $desc = printf "Browse the sbomify blog by %s to find articles on SBOMs, software supply chain security, and compliance." (.Title | lower) -}} @@ -85,18 +104,16 @@ - - - - - - + {{/* No linkedin:* meta tags. There is no such vocabulary -- LinkedIn reads + the standard Open Graph tags above. Emitting them with property="" + declares RDFa properties in an undefined "linkedin" prefix, which + validators report as a structured-data error on every page. */}} - {{ $css := resources.Get "css/styles.css" | fingerprint }} + {{ $css := resources.Get "css/styles.css" | minify | fingerprint }} - {{ $nativeCss := resources.Get "css/native.css" | fingerprint }} + {{ $nativeCss := resources.Get "css/native.css" | minify | fingerprint }} diff --git a/layouts/partials/post-card.html b/layouts/partials/post-card.html index d7b9a03..70aa6f4 100644 --- a/layouts/partials/post-card.html +++ b/layouts/partials/post-card.html @@ -3,8 +3,7 @@ {{- $headingLevel := .headingLevel | default "h3" -}} + class="group flex flex-col justify-between rounded-2xl p-8 h-full motion-safe:hover:-translate-y-1 hover:shadow-xl transition-[box-shadow,transform,border-color] duration-300 {{ if $dark }}bg-primary-light border border-primary-600 hover:border-purple hover:shadow-purple/20{{ else }}bg-white border border-gray-200 hover:border-purple hover:shadow-purple/10{{ end }}">