Terrabyte Tools
Design system of reusable components and styles for building Terrabyte web projects via node (NPM) package.
NOTE: Until Terrabyte contributors have more capacity, the Web UI package will be indefinitely paused. We have found that creating, managing, and further supporting a full UI Package is out of our depth for the time being. If you have interest in further developing our (beginnings of the) design system, please reach out (or make a PR)! In the meantime, please see the boilerplate for creating Terrabyte websites.
pnpm installterrabyte-web-ui/
├── css/ # Stylesheets
├── data/ # Data files (JSON)
├── img/ # Images and graphic assets
├── js/ # Site script files
├── layouts/ # Page layout templates
├── macros/ # Reusable components
├── partials/ # Drop-in elements
├── scripts/ # Dev and utility scripts
├── utils/ # Site filters and transforms
├── package.json
└── README.md
Global styles are provided in the css/ directory:
global-tb-styles.css- Base Terrabyte styles; CSS variables light/dark colorsglobal-tb-ui-styles.css- UI component styles; Cross-domain styles and componentsshared-canapi-styles.css- Shared Canapi styles; Global styles specific to Canapi brandingshared-pixel-styles.css- Shared pixel styles; typography, imagery, etc.
pnpm install- Install dependenciespnpm run <script-name>- Run any script defined inpackage.jsonbuild: Run Eleventy build processstart: Serve project to preview in browser
This project follows Semantic Versioning.
- Git must be configured and you must have push access to the repository
- Have npm/pnpm installed on your machine
Open a bash terminal and run:
Patch release (e.g., 1.0.0 → 1.0.1):
./scripts/release.sh patchMinor release (e.g., 1.0.0 → 1.1.0):
./scripts/release.sh minorMajor release (e.g., 1.0.0 → 2.0.0):
./scripts/release.sh majorTo automatically create a GitHub release in addition to the version bump:
./scripts/release.sh patch --publish
./scripts/release.sh minor --publish
./scripts/release.sh major --publishThe script will:
- Bump the version in
package.json - Create a git commit with the new version
- Create an annotated git tag
- Push the commit and tag to the repository
- (Optional with
--publish) Create a release on GitHub