From 129410793af764de214978d1a1fc59526a8572a4 Mon Sep 17 00:00:00 2001
From: Viktor Barzin
Date: Thu, 7 May 2026 23:25:13 +0000
Subject: [PATCH] fix: deterministic family ordering (current first, legacy
last)
Co-Authored-By: Claude Opus 4.7
---
layouts/index.html | 39 +++++++++++++++------------------------
1 file changed, 15 insertions(+), 24 deletions(-)
diff --git a/layouts/index.html b/layouts/index.html
index 4572774..d1f10ac 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -94,14 +94,10 @@ cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /act
Click any key to copy.
- {{ $byFamily := dict }}
- {{ range $windows }}
- {{ $f := .family }}
- {{ $arr := index $byFamily $f | default slice }}
- {{ $arr = $arr | append . }}
- {{ $byFamily = merge $byFamily (dict $f $arr) }}
- {{ end }}
- {{ range $family, $items := $byFamily }}
+ {{ $order := slice "Windows 11 / 10" "Windows LTSC" "Legacy desktop" }}
+ {{ range $family := $order }}
+ {{ $items := where $windows "family" $family }}
+ {{ if $items }}
{{ $family }}
| Edition | GVLK | Notes |
@@ -115,6 +111,7 @@ cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /act
{{ end }}
+ {{ end }}
{{ end }}
@@ -132,14 +129,10 @@ slmgr /dlv :: verify (look for "LICENSED")<
Windows Server
Server SKUs need only 5 unique clients to satisfy the KMS activation count threshold (vs. 25 for desktop).
- {{ $byFamily := dict }}
- {{ range $servers }}
- {{ $f := .family }}
- {{ $arr := index $byFamily $f | default slice }}
- {{ $arr = $arr | append . }}
- {{ $byFamily = merge $byFamily (dict $f $arr) }}
- {{ end }}
- {{ range $family, $items := $byFamily }}
+ {{ $serverOrder := slice "Windows Server 2025" "Windows Server 2022" "Windows Server 2019" "Windows Server 2016" "Windows Server 2012 R2" "Windows Server 2012" "Windows Server 2008 R2" "Windows Server 2008" }}
+ {{ range $family := $serverOrder }}
+ {{ $items := where $servers "family" $family }}
+ {{ if $items }}
{{ $family }}
| Edition | GVLK | Notes |
@@ -153,6 +146,7 @@ slmgr /dlv :: verify (look for "LICENSED")<
{{ end }}
+ {{ end }}
{{ end }}
@@ -165,14 +159,10 @@ slmgr /dlv :: verify (look for "LICENSED")<
ospp.vbs /unpkey:<LAST5> + /inpkey:<GVLK> and /act.
- {{ $byFamily := dict }}
- {{ range $office }}
- {{ $f := .family }}
- {{ $arr := index $byFamily $f | default slice }}
- {{ $arr = $arr | append . }}
- {{ $byFamily = merge $byFamily (dict $f $arr) }}
- {{ end }}
- {{ range $family, $items := $byFamily }}
+ {{ $officeOrder := slice "Office LTSC 2024" "Office LTSC 2021" "Office 2019" "Office 2016" }}
+ {{ range $family := $officeOrder }}
+ {{ $items := where $office "family" $family }}
+ {{ if $items }}
{{ $family }}
| Edition | Product ID | GVLK | Channel |
@@ -187,6 +177,7 @@ slmgr /dlv :: verify (look for "LICENSED")<
{{ end }}
+ {{ end }}
{{ end }}