diff --git a/.gitignore b/.gitignore
index 81a1f31..d7c9d5d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,4 @@ TODO*
!TODO.astro/
!TODO.improve-website/
src/content/library/api-reference-ruby.md
+src/content/library/api-reference-ts.md
diff --git a/scripts/fetch-api-reference.mjs b/scripts/fetch-api-reference.mjs
index af08976..cccee4d 100644
--- a/scripts/fetch-api-reference.mjs
+++ b/scripts/fetch-api-reference.mjs
@@ -29,6 +29,18 @@ description: "${description}"
`;
+// the pubid version badge reads this at build time
+mkdirSync("src/data", { recursive: true });
+const versionUrl = "https://raw.githubusercontent.com/pubid/pubid/main/lib/pubid/version.rb";
+const versionRes = await fetch(versionUrl);
+const versionText = await versionRes.text();
+const versionMatch = versionText.match(/VERSION\s*=\s*"([^"]+)"/);
+writeFileSync(
+ "src/data/pubid-version.json",
+ JSON.stringify({ version: versionMatch ? versionMatch[1] : null, fetched_at: new Date().toISOString() }, null, 2) + "\n",
+);
+console.log("pubid version:", versionMatch ? versionMatch[1] : "NOT FOUND");
+
mkdirSync("src/content/library", { recursive: true });
for (const { repo, file, out, title, description } of SOURCES) {
const url = `https://raw.githubusercontent.com/${repo}/main/${file}`;
diff --git a/src/components/VersionBadge.astro b/src/components/VersionBadge.astro
new file mode 100644
index 0000000..97fb8fc
--- /dev/null
+++ b/src/components/VersionBadge.astro
@@ -0,0 +1,31 @@
+---
+import data from '../data/pubid-version.json'
+
+const { version, fetched_at } = data
+const date = fetched_at ? new Date(fetched_at).toISOString().split('T')[0] : ''
+---
+
+
+ pubid-ruby
+ {version && v{version}}
+ {date && ·}
+ {date && {date}}
+
+
+
diff --git a/src/content/about/index.md b/src/content/about/index.md
index fd43d98..6d1a830 100644
--- a/src/content/about/index.md
+++ b/src/content/about/index.md
@@ -76,15 +76,7 @@ This pattern extends across all supported publishers: every PubID can render as
| **Reference Library** | Ruby gem implementing all schemas with parse/render/URN support |
| **This Website** | Documentation, interactive playground, and schema registry |
-
-
-**Data pipeline:** Publisher schema data on this site is exported directly from the [pubid-ruby](https://github.com/metanorma/pubid) reference implementation. The export version is:
-
-
-
-
+**Data pipeline:** Publisher schema data on this site is exported directly from the [pubid-ruby](https://github.com/pubid/pubid) reference implementation, fetched at build time from its main branch — see the generated [API Reference — Ruby](/library/api-reference-ruby/) for exactly what the current export reflects.
## NIST: The First Adopter
diff --git a/src/content/library/index.md b/src/content/library/index.mdx
similarity index 95%
rename from src/content/library/index.md
rename to src/content/library/index.mdx
index ea2e1c5..0a13685 100644
--- a/src/content/library/index.md
+++ b/src/content/library/index.mdx
@@ -7,9 +7,7 @@ description: "PubID library documentation."
The PubID Ruby gem provides parsing, rendering, and URN generation for all supported publisher schemes.
-
+import VersionBadge from '../../components/VersionBadge.astro'
diff --git a/src/content/specs/iec-urn-specification.adoc b/src/content/specs/iec-urn-specification.adoc
index 34c7351..2dff2cb 100644
--- a/src/content/specs/iec-urn-specification.adoc
+++ b/src/content/specs/iec-urn-specification.adoc
@@ -142,7 +142,7 @@ edition plus its amendments).
| Within a field (part numbers, date components, copublishers, languages)
| `urn:iec:std:iec-iso:60601-1-1`
-| `||`
+| `\|\|`
| Between base edition and adjunct (reference to adjunct itself)
| `urn:iec:std:iec:60601-1-1:2015-10:::fr\|\|amd:1:2017-01`
@@ -528,7 +528,7 @@ Global.
| Supplement model
| Appended with `:` separator
-| Adjunct model with `||` (adjunct ref) and `_` (consolidation)
+| Adjunct model with `\|\|` (adjunct ref) and `_` (consolidation)
| Relation marker
| Not applicable
diff --git a/src/content/specs/index.md b/src/content/specs/index.md
index 5bcee74..038c2e7 100644
--- a/src/content/specs/index.md
+++ b/src/content/specs/index.md
@@ -2,9 +2,6 @@
title: "URN Specifications"
---
-
-
# URN Specifications
Every PubID maps to a canonical URN (Uniform Resource Name) for machine interchange. These specifications define the URN namespaces for each standards publisher.
diff --git a/src/content/specs/iso-urn-specification.adoc b/src/content/specs/iso-urn-specification.adoc
index ae8dc15..cd96638 100644
--- a/src/content/specs/iso-urn-specification.adoc
+++ b/src/content/specs/iso-urn-specification.adoc
@@ -243,9 +243,9 @@ project iteration.
stage-00.00:: Preliminary work item
stage-20.00:: New work item proposal
stage-30.00:: Committee draft
-stage-40.00:: Draft (enquiry) -- DIS for an IS project, DAM for an
+stage-40.00:: Draft (enquiry) -- DIS for an IS project, DAM for an +
amendment project, DTS for a TS project, ...
-stage-50.00:: Final draft -- FDIS for an IS project, FDAM for an
+stage-50.00:: Final draft -- FDIS for an IS project, FDAM for an +
amendment project, FDTS for a TS project, ...
stage-60.00:: Published (not emitted for published documents)
@@ -298,14 +298,14 @@ The slots after the type token, in order:
[horizontal]
supplnumber:: the supplement's own number (`Amd 1` carries 1)
-supplyear:: the supplement's own publication year (`Amd 1:2007`) --
+supplyear:: the supplement's own publication year (`Amd 1:2007`) -- +
added by this specification; RFC 5141 has no slot for it
-supplversion:: the corrected version of the published supplement
-(`v2` = version corrected once); omitted when not stated, where the
+supplversion:: the corrected version of the published supplement +
+(`v2` = version corrected once); omitted when not stated, where the +
reference is to the highest version per RFC 5141
-stage:: optionally, the supplement's own stage immediately BEFORE the
-type token (`stage-40.00:amd:1`) -- added by this specification; RFC
-5141's single `status` slot cannot separate a draft amendment from its
+stage:: optionally, the supplement's own stage immediately BEFORE the +
+type token (`stage-40.00:amd:1`) -- added by this specification; RFC +
+5141's single `status` slot cannot separate a draft amendment from its +
published base
==== addition
diff --git a/src/data/pubid-version.json b/src/data/pubid-version.json
new file mode 100644
index 0000000..53983d1
--- /dev/null
+++ b/src/data/pubid-version.json
@@ -0,0 +1,4 @@
+{
+ "version": "2.0.0.pre.alpha.53",
+ "fetched_at": "2026-10-24T00:46:13.344Z"
+}