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" +}