experimental web port of the Union style engine + adapters
styling theming css solidjs react union kde
0

Configure Feed

Select the types of activity you want to include in your feed.

13 1 0

Clone this repository

https://git.vm.fail/whey.party/union-web https://git.vm.fail/did:plc:2yawu2uh6h75fb6b2tbaigsk
ssh://git@knot1.tangled.sh:2222/whey.party/union-web ssh://git@knot1.tangled.sh:2222/did:plc:2yawu2uh6h75fb6b2tbaigsk

For self-hosted knots, clone URLs may differ based on your setup.


README.md

Union Web (Experimental)#

Experimental web implementation of Union, including a CSS output pipeline and a SolidJS component library that provides QQC2-like state handling for themes generated by the Union Web's output web CSS.

screenshot

npm install
npm run build    # compile TypeScript packages (core, output-solid)
npm run dev      # start Vite dev server with the SolidJS demo app
npm run build:demo  # production build of the demo app

Packages#

package description
@union-web/core CSS parsing, KColorScheme, IR generation
@union-web/output-solid Build-time CSS generator: takes a union CSS theme + .colors file, outputs resolved CSS (Vite plugin)
@union-web/plugin-solid SolidJS component library
@union-web/demo-solid Example SolidJS demo app

union-css/#

Shared input directory at the repo root containing:

  • themes/ -- union CSS theme files (e.g. breeze/)
  • colors/ -- KDE .colors color scheme files (e.g. BreezeDark.colors)
  • defaults/ -- base default CSS

These inputs are consumed independently by output-solid's Vite plugin and can be swapped.

Component model#

plugin-solid is modeled after the Kirigami and QtQuick output plugins at https://invent.kde.org/plasma/union. Future implementation work should use that as a reference.

CLI#

npx union-web <input.colors> [output.css]