From f043c0bae4242f117bf3ea545228709e11db6a2e Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Wed, 21 May 2025 17:59:44 +0200 Subject: Initial guide --- src/pages/cidr-calculator-subnet-guide.astro | 113 +++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 src/pages/cidr-calculator-subnet-guide.astro (limited to 'src/pages') diff --git a/src/pages/cidr-calculator-subnet-guide.astro b/src/pages/cidr-calculator-subnet-guide.astro new file mode 100644 index 0000000..09b553a --- /dev/null +++ b/src/pages/cidr-calculator-subnet-guide.astro @@ -0,0 +1,113 @@ +--- +import Layout from "../layouts/Layout.astro"; +import Cidr from "../components/Cidr"; +import { faqs } from "../content/faqs.ts"; +import Prose from "../components/Prose.astro"; + +// ──────────────────────────────────────────────────────────── +// Metadata +// ──────────────────────────────────────────────────────────── +const title = "CIDR Calculator & Subnet Guide — IP Ranges, Masks & IPv6"; +const description = + "Free interactive CIDR calculator and comprehensive plain‑language guide covering subnetting, IP ranges, subnet masks and IPv6 addressing."; + +// FAQ structured‑data (kept in sync with UI) +const faqJsonLd = { + "@context": "https://schema.org", + "@type": "FAQPage", + mainEntity: faqs.map(({ q, a }) => ({ + "@type": "Question", + name: q, + acceptedAnswer: { "@type": "Answer", text: a }, + })), +}; + +import { Content as GuideContent } from "../content/cidr-guide.md"; +--- + + + { + /** + ──────────────────────────────────────────────────────────── + Hero + ────────────────────────────────────────────────────────────*/ + } +
+
+

+ CIDR Calculator & Subnet Guide +

+

+ Convert CIDR blocks to IP ranges and master subnetting for IPv4 + & IPv6 — in one streamlined resource. +

+
+
+ + { + /** + ──────────────────────────────────────────────────────────── + Calculator block + ────────────────────────────────────────────────────────────*/ + } +
+ +
+ + { + /** + ──────────────────────────────────────────────────────────── + Table of Contents (desktop only for cleanliness) + ────────────────────────────────────────────────────────────*/ + } + + + + + + + {/** Structured‑data block */} +