The shared styles for TACC WMA Workspace Portals & Websites
- Core CMS, the base CMS code for TACC WMA CMS Websites
- Core CMS Custom, the host for custom CMS assets
- Core Portal, the base Portal code for TACC WMA CMS Websites
- Core Components, the UI components for Core Portal and TUP UI
- TUP UI, the client code for TACC User Portal
- TACC Docs, the documentation for TACC
- and, indirectly, DesignSafe User Guide
- Tapis Authenticator, the web server for Tapis v3 auth
- Hazmapper, a TACC application for geospatial data
- DesignSafe Portal, the DesignSafe-CI Portal code
Note
This is likely the easier and simpler solution. Try this first.
See QUICKSTART.md.
Install with any package manager e.g.:
npm install @tacc/core-stylesyarn add @tacc/core-styles
Import stylesheets of either type:
- pre-compiled, from
/dist - source files, from
/src/lib/_imports
- pre-compiled, from
Via Your Environment's PostCSS
Please review the plugins expected.
require('core-styles').buildStylesheets
constbuildStylesheets=require('core-styles').buildStylesheets;buildStylesheets(// Parse CSS files from which directory (required)`path/to/your/css/src`,// Output CSS files to which directory (required)`path/to/put/css/output`,{// List of YAML config files (optional)// (The first file is merged on top of the base config.)// (Each successive file overwrites the file before it.)// SEE: https://github.com/postcss/postcss-load-config#postcssrccustomConfigs: [// The "base" config is `/.postcssrc.base.yml``path/to/custom/config/that/extends/base/.postcssrc.yml`,`path/to/custom/config/that/extends/above/.postcssrc.yml`,],// Print more info from build log (optional, default: false)verbose: true,// Print version of this software (optional, default: false)version: true,// Any value to help identify the build (optional, default: app version)buildId: process.env.npm_package_version+someUniqueId,});core-styles
Usage: core-styles [options] [command]
Options:
-V, --version output the version number
-h, --help display helpforcommand
Commands:
build [options] build stylesheets with TACC standard process:
- "post-css" plugins
- custom input path
- custom output path
- custom configs
- prepend build id
help [command] display helpforcommandcore-styles build
Usage: core-styles build [options]
build stylesheets with TACC standard process:
- "post-css" plugins
- custom input path
- custom output path
- custom configs
- prepend build id
Options:
-i, --input <path> parse source at which path¹
-o, --output <path> output CSS files to which path¹
-v, --verbose print more info during build process
-c, --custom-configs <paths...> extend base config with YAML files²³
-b, --build-id <identifier> any value to identify the build (default: version of app)
-m, --base-mirror-dir <path>if input folder structure is mirrored, this path is not⁴
-h, --help display helpforcommand
Notes:
¹ Folder structure of "--input-dir" mirrored in"--output-dir" i.e.
given input
- "input_dir/x.css"
- "input_dir/sub_dir_a/y.css"
- "input_dir"
- "input_dir/**/*"
expect output
- "output_dir/x.css"
- "output_dir/sub_dir_a/y.css"
- "output_dir/..." (all files from input not in sub-directories)
- "output_dir/.../..." (all files from input as nested)
² The file formats are like ".postcssrc.yml" from
https://github.com/postcss/postcss-load-config#postcssrc
³ The first file is merged on top of the base config.
Each successive file overwrites the file before it.
⁴ Given '-i "a/b*" -o "x/" -m "a/"' output is "x/b/...".
Given '-i "a/b*" -o "x/" -m "a/b/"' output is "x/...".
Given '-i "a/b*" -o "x/" -m "not-a/"' output is "x/abs-path-to-input/...".- Nodejs 20.x
(initially) Install dependencies:
npm ci(optional) Make changes to
/src/libfiles.Build the styles*:
npm run build:cssBuild and preview the styles*:
npm start(to debug) Review output in respective
/distor/demofiles.*
* Stylesheets are built from source files insrc/lib directory to compiled files indist directory.
Build stylesheets and build static demo:
npm run build
Run the static demo:
npx serve demo
Web page will live-reload on demo build, but not on change of source files.
Open the web interface. The build command will output the URL (and may even open it for you).
Run each of these commands in its own terminal.
Build stylesheets and re-build on change:
npm run watch
Run the auto-refresh demo:
npm run start
Web page will live-reload twice on change of source files. The second reload will show changes.
npm run build:cssnpm run build:css -- --build-id="..."All testing is done manually.
Auto-deploy occurs via workflow to https://tacc.github.io/core-styles.
To contribute, first read How to Contribute.
We manually release versions of Core-Styles. Read more.
Core Styles had been an effort to replace Bootstrap. Core Styles is compatible with Bootstrap. Core Styles skins only some Bootstrap components. Learn more.