Skip to content

Replace Jekyll site with Vite+Tailwind schema browser#7

Merged
ronaldtse merged 18 commits intomainfrom
new-schema-browser
Apr 27, 2026
Merged

Replace Jekyll site with Vite+Tailwind schema browser#7
ronaldtse merged 18 commits intomainfrom
new-schema-browser

Conversation

@ronaldtse
Copy link
Copy Markdown
Contributor

Summary

  • New custom index page built with Vite + Tailwind CSS v4 listing all UnitsML schema versions with status badges, namespace URIs, and XSD download links
  • Per-schema lutaml-xsd config generation via generate_configs.rb
  • Updated GHA workflows: Ruby 3.3, Node 20, modern action versions (checkout@v4, setup-ruby@v1, setup-node@v4, pages-*@v3/v4/v5)
  • Removed old Jekyll config (_config.yml) and babel.config.js
  • Added make stop target
  • Footer corrected to "UnitsML Group · UnitsML Schemas"

Key changes

Area Before After
Index page Jekyll (_config.yml) Vite + Tailwind CSS v4
Build target make _site make all (outputs to site/)
GHA Ruby 2.7 3.3
GHA Node 14 20
GHA actions v1-v3 v4-v5
lutaml-xsd local path GitHub (lutaml/lutaml-xsd main)

Test plan

  • make all builds all 9 schema SPAs + index page
  • make serve / make stop work
  • Index page renders correctly with all schema cards
  • Each card links to its schema browser SPA
  • XSD download links work
  • GHA build passes

- New custom index page (Vite + Tailwind CSS v4) listing all UnitsML
  schema versions with status badges, namespace URIs, and XSD links
- Per-schema lutaml-xsd config generation via generate_configs.rb
- Makefile builds all schema SPAs + index page via `make all`
- Updated GHA workflows: Ruby 3.3, Node 20, modern action versions,
  build target changed from `make _site` to `make all`
- Removed old Jekyll config (_config.yml) and babel.config.js
- Added `make stop` target for killing the dev server
- Footer corrected to "UnitsML Group · UnitsML Schemas"
The lutaml-xsd gem from GitHub main includes the SPA frontend source
but not the pre-built app.iife.js asset. Build it in CI before running
`make all`.
1.0.9 is now published on rubygems with pre-built frontend assets
and the SVG diagram generation fix. No need to build from source.
The v1.0 schema imports http://www.w3.org/2009/01/xml.xsd which
lutaml-xsd can't resolve remotely in CI, producing an empty package.
Added schema_location_mapping and bundled xml.xsd locally.
The v1.0 XSD imports xml.xsd from w3.org which isn't resolvable in CI.
Previously placed in the git submodule (schemas/) which isn't tracked.
Now bundled as schemas-external/xml.xsd with config path updated.
… flags

CLI flags for xsd-mode/resolution-mode/serialization-format are redundant
since each config file already declares them in the build: section.
Removing them fixes the v1.0 build in CI (was producing empty 3306-byte
packages). Also bump bundler cache-version to force fresh resolution.
The unitsml-v1.0.xsd and xml.xsd are now both committed to the
unitsml/schemas submodule. This eliminates the need for the separate
schemas-external/ directory. Also remove debug steps from CI workflow.
@ronaldtse ronaldtse merged commit 2e2c3c6 into main Apr 27, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant