NL Design System design token values for "the 's-Hertogenbosch theme".
The shertogenbosch theme is used in environments that support styling with NL Design System (community) components. It serves as the source of truth for any theme/design choices.
Specify the design tokens in JSON files, which are picked up and merged using the style-dictionary library. The resulting packages include various build targets, such as ES6 modules, CSS variables files, SASS vars... to be consumed in downstream projects.
The draft Design Token Format drives the structure of these design tokens.
Using tokens
If you are only consuming the design tokens, the easiest integration path is adding the NPM package as dependency to your project:
npm install --save-dev @maykinmedia/shertogenbosch-design-tokensThen, import the desired build target artifact and run your usual build chain.
Or, deploy the Docker image somewhere publicly and refer to the hosted assets.
The source of truth is defined in the src directory, this includes the tokens themselves and any
CSS overrides that may be necessary. The src acts as input for the build process, which emits
compilation targets into the dist folder.
Next, the assets directory contains ready-to-use assets such as images, favicon and fonts.
The final step of the build process combines dist artifacts and makes everything ready for
consumption in the assets directory. That folder is ultimately included in the container image.
When building the docker image, you can provide the build arg VERSION, which determines the final
URL where the assets are available. E.g.:
docker build --build-arg=VERSION=0.1.0 --tag maykinmedia/shertogenbosch-design-tokens:0.1.0 .Will lead to the following URL structure: https://theme.example.com/0.1.0/assets/theme.css.
We don't let npm apply the git tags when releasing a new version, instead follow this process:
npm version minor # or major or patch, depending on the nature of the changes
git commit -am ":bookmark: Bump to version <newVersion>"
git tag "<newVersion>"
git push origin main --tagsIf you have PGP keys set up, you can use them for the git tag operation.
The CI pipeline will then publish the new version to npmjs.