From ffef10327d9fdf51dcb32e2eb4abb0bdb8a61b5b Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 17 Feb 2026 19:47:48 +0300 Subject: [PATCH 1/6] Add List layout for downloads pages --- _TODO.md | 5 +- src/components/List/index.astro | 2 + .../List/layouts/DownloadPageList.astro | 22 + .../List/layouts/PlainIconList.astro | 2 +- src/pages/downloads/branding.png | Bin 10616 -> 0 bytes src/pages/hero.astro | 426 +++++++++++++++++- 6 files changed, 450 insertions(+), 7 deletions(-) create mode 100644 src/components/List/layouts/DownloadPageList.astro delete mode 100644 src/pages/downloads/branding.png diff --git a/_TODO.md b/_TODO.md index 7c998eb76..1f7fbb0e0 100644 --- a/_TODO.md +++ b/_TODO.md @@ -264,8 +264,7 @@ This article has different approaches to [print pagination](https://www.customjs - Social shares - module CSS doesn't appear correct with nested button hover classes, not sure how network name is generated or styled but it needs improvement. Should be rendered inside article content column, not across both content and TOC columns. - - ### Component Stylings +### Component Stylings The bottom margin issues on CTAs need to handle paragraphs differently than headers. Headers are properly spaced now; paragraphs are flush with the CTA with no top margin. @@ -276,5 +275,3 @@ The bottom margin issues on CTAs need to handle paragraphs differently than head - Callouts should get round corners like the Download and Newsletter CTAs - Tags need styled at the top of articles item view pages - - diff --git a/src/components/List/index.astro b/src/components/List/index.astro index 1b73a342d..2de65f946 100644 --- a/src/components/List/index.astro +++ b/src/components/List/index.astro @@ -5,6 +5,7 @@ import CardGridList from '@components/List/layouts/CardGridList.astro' import CheckIconsList from '@components/List/layouts/CheckIconsList.astro' import ChevronList from '@components/List/layouts/ChevronList.astro' import ColoredMarkerList from '@components/List/layouts/ColoredMarkerList.astro' +import DownloadPageList from '@components/List/layouts/DownloadPageList.astro' import NumberedWithBackgroundList from '@components/List/layouts/NumberedWithBackgroundList.astro' import PlainIconList from '@components/List/layouts/PlainIconList.astro' import SideBySideList from '@components/List/layouts/SideBySideList.astro' @@ -65,6 +66,7 @@ const itemsWithIconAndColor = items as Array<{ {variant === 'check-icons-list' && } {variant === 'chevron-list' && } {variant === 'colored-marker-list' && } +{variant === 'download-page-list' && } {variant === 'numbered-with-background-list' && } {variant === 'plain-icon-list' && } {variant === 'side-by-side-list' && } diff --git a/src/components/List/layouts/DownloadPageList.astro b/src/components/List/layouts/DownloadPageList.astro new file mode 100644 index 000000000..dd169c61a --- /dev/null +++ b/src/components/List/layouts/DownloadPageList.astro @@ -0,0 +1,22 @@ +--- +export type Props = { + items: { + text: string + }[] +} + +const { items } = Astro.props + +const ulClass = ["list-disc pl-0 space-y-3 mb-0 mt-2"] +const liClass = ["flex items-start gap-3"] +--- + +
    + { + items.map(({ text }) => ( +
  • + {text} +
  • + )) + } +
diff --git a/src/components/List/layouts/PlainIconList.astro b/src/components/List/layouts/PlainIconList.astro index 7ab449724..723065038 100644 --- a/src/components/List/layouts/PlainIconList.astro +++ b/src/components/List/layouts/PlainIconList.astro @@ -32,4 +32,4 @@ const markerClasses = props.classes?.svg )) } - \ No newline at end of file + diff --git a/src/pages/downloads/branding.png b/src/pages/downloads/branding.png deleted file mode 100644 index d71a86508c80b2c7806a23e8ea337e8529d0059e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10616 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 - - +
+
+

Download Landing Page Mockups

+

+ Eight HTML-only concepts using the same sample offer and a minimal lead form. +

+
+ +
+
+
+
+

Mockup 1 · Split Hero

+

Download Your Alert Fatigue Reduction Guide

+

+ Systematic triage to reduce alert noise and make the alerts that remain actually actionable. +

+
    +
  • Framework to audit current alerts
  • +
  • Methods to tune thresholds by traffic patterns
  • +
  • Maintenance practices to prevent alert creep
  • +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+

Mockup 2 · Centered Card

+
+

Get the Alert Fatigue e-book

+

+ Learn the process used to move from 200 weekly alerts to a high signal, actionable on-call flow. +

+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+

Mockup 3 · Value Bullets + Form

+
+
+

Reduce Alert Noise Without Losing Signal

+
    +
  • • Quantify alert fatigue with practical metrics
  • +
  • • Build a repeatable triage and classification workflow
  • +
  • • Apply tuning, grouping, and inhibition safely
  • +
  • • Maintain quality over time with lightweight hygiene
  • +
+
+
+ + + + + + + + +
+
+
+
+ +
+
+

Mockup 4 · Simple Two-Column CTA

+
+
+

Download the Complete Alert Triage Guide

+

+ A practical e-book for reducing non-actionable pages and improving on-call response quality. +

+

Whitepaper · 24 pages · PDF

+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + + + +
+
+

Mockup 5 · Full-Width Banner

+

Download Your Alert Fatigue Reduction Guide

+

+ Systematic triage to reduce alert noise and make the alerts that remain actually actionable. +

+
+
+
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + + + +
+
+

Mockup 6 · Feature Grid

+
+

Alert Fatigue Reduction Guide

+

+ From 200 alerts per week to 35 actionable ones — here's exactly how. +

+
+
+
+

Audit & Inventory

+

Systematically catalog every alert and measure its action rate.

+
+
+

Threshold Tuning

+

Adapt thresholds to real traffic patterns instead of static limits.

+
+
+

Grouping & Inhibition

+

Consolidate related alerts and suppress downstream noise.

+
+
+

Long-Term Hygiene

+

Maintenance practices that keep alert quality high over time.

+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + + + +
+
+

Mockup 7 · Left Form + Right Content

+
+
+

Get the Guide

+
+ + +
+
+ + +
+
+ + +
+ + +
+
+

Alert Fatigue Reduction Guide

+

+ One team managing 47 alerts per shift — 44 required no action, while the real issue went unnoticed. This guide shows you the systematic process to fix that. +

+
    +
  • • Quantify fatigue with MTTA and action-rate metrics
  • +
  • • Classify alerts into actionable vs. informational tiers
  • +
  • • Apply grouping and inhibition to cut downstream noise
  • +
  • • Establish lightweight maintenance to prevent regression
  • +
+

Whitepaper · 24 pages · 2.3 MB PDF

+
+
+
+
+ + + + +
+
+

Mockup 8 · Minimal Stack

+

Get the Alert Fatigue Reduction Guide

+

+ Learn the exact process used to cut alert volume by 82% while improving incident response times. A practical, 24-page playbook for on-call teams. +

+
+
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+
From 3d135552658e7e8bd432fc3c59eeeedfacf8b989 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Wed, 18 Feb 2026 01:21:15 +0300 Subject: [PATCH 2/6] Update downloads pages to use List component --- .../download.mdx | 19 ++++++++------ .../download.mdx | 21 ++++++++++------ .../download.mdx | 23 ++++++++++------- .../download.mdx | 25 +++++++++++-------- .../download.mdx | 23 ++++++++++------- .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 17 ++++++++----- .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 23 ++++++++++------- .../download.mdx | 23 ++++++++++------- .../download.mdx | 23 ++++++++++------- .../download.mdx | 23 ++++++++++------- .../download.mdx | 23 ++++++++++------- .../download.mdx | 21 ++++++++++------ .../download.mdx | 23 ++++++++++------- .../download.mdx | 23 ++++++++++------- .../download.mdx | 23 ++++++++++------- .../download.mdx | 23 ++++++++++------- .../download.mdx | 21 ++++++++++------ .../download.mdx | 21 ++++++++++------ .../download.mdx | 23 ++++++++++------- .../download.mdx | 21 ++++++++++------ .../download.mdx | 23 ++++++++++------- .../download.mdx | 21 ++++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 17 ++++++++----- .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ .../download.mdx | 19 ++++++++------ 65 files changed, 813 insertions(+), 488 deletions(-) diff --git a/src/content/articles/alert-fatigue-reduction-triage-actionable-alerts/download.mdx b/src/content/articles/alert-fatigue-reduction-triage-actionable-alerts/download.mdx index ac9c46159..f71c4c317 100644 --- a/src/content/articles/alert-fatigue-reduction-triage-actionable-alerts/download.mdx +++ b/src/content/articles/alert-fatigue-reduction-triage-actionable-alerts/download.mdx @@ -18,12 +18,17 @@ This complete guide walks you through the systematic process used to reduce a 20 Read this e-book to understand: -- The quantifiable cost of alert fatigue (MTTA, action rate, burnout indicators) -- How to audit and inventory your alerts systematically -- Classification frameworks for separating signal from noise -- Threshold tuning strategies that adapt to your actual traffic patterns -- Aggregation and grouping techniques to consolidate related alerts -- Inhibition rules to suppress downstream consequences -- Long-term maintenance practices to prevent alert creep + Download Your Alert Fatigue Reduction Guide now to implement a sustainable on-call system where alerts actually matter. diff --git a/src/content/articles/api-deprecation-sunset-headers-consumer-migration/download.mdx b/src/content/articles/api-deprecation-sunset-headers-consumer-migration/download.mdx index 0d8cde76d..d50d9a952 100644 --- a/src/content/articles/api-deprecation-sunset-headers-consumer-migration/download.mdx +++ b/src/content/articles/api-deprecation-sunset-headers-consumer-migration/download.mdx @@ -18,13 +18,18 @@ This complete guide walks you through the full deprecation lifecycle and the org Read this e-book to understand: -- Realistic timeline guidance based on consumer type (internal, external, enterprise) -- RFC 8594 Sunset headers and Deprecation headers as technical foundations -- Usage tracking systems to identify which consumers still depend on deprecated endpoints -- Migration support strategies that reduce friction for consumers -- Communication tactics that move consumers from awareness to action -- Enforcement mechanisms—read-only modes, graduated restrictions, and final removal -- How to handle contractual obligations and political pressure -- Real-world lessons from successful large-scale deprecations + Download Your API Deprecation Playbook now to move deprecated endpoints from "technically sunset" to actually removed. diff --git a/src/content/articles/api-gateway-metrics-traces-logs-debugging/download.mdx b/src/content/articles/api-gateway-metrics-traces-logs-debugging/download.mdx index 20826c555..1ec8eb6a3 100644 --- a/src/content/articles/api-gateway-metrics-traces-logs-debugging/download.mdx +++ b/src/content/articles/api-gateway-metrics-traces-logs-debugging/download.mdx @@ -18,14 +18,19 @@ This complete guide shows you how to instrument API gateways so the data actuall Read this e-book to understand: -- Why gateway observability is fundamentally different from service observability -- The RED method applied correctly to gateways with meaningful label dimensions -- Decomposing latency into gateway time vs. backend time vs. network time -- Distributed tracing that flows through the gateway boundary -- Structured logging with trace context for correlation across services -- Dashboard design for debugging rather than status page aesthetics -- Vendor-agnostic patterns using Kong Gateway, AWS API Gateway, and Envoy -- Real-world examples of metrics that revealed hidden problems -- Sampling strategies that capture rare errors without overwhelming your system +