@priduck-color-theme/cli (0.2.1)

Published 2024-05-10 06:42:45 +00:00 by dmoonfire in priduck-color-theme/priduck-color-theme-cli-js

Installation

@priduck-color-theme:registry=
npm install @priduck-color-theme/cli@0.2.1
"@priduck-color-theme/cli": "0.2.1"

About this package

Priduck Color Theme

A CLI for generating a tri-color theme based on a single hue and an even rotation around the color wheel.

Priduck (name is nonscense) is a color theme originally designed for Fedran where the base color is a hue (in degrees, 0-360) with with nine colors based on an even distribution around the wheel with nine-levels of brightness ranging from a near-black to a near-white.

Installation

This tool is currently not available on npmjs. To install it, modify your project's .npmrc file to include:

@priduck-color-theme:registry=https://src.mfgames.com/api/packages/priduck-color-theme/npm/

Once that is done, the CLI can be installed as a development package with npm:

npm install --only-dev @priduck/cli`

Once installed, this will produce a CLI in the node_modules/.bin folder called priduck.

Commands

css mixin

Combines a number of CSS style fragments together and intersperses them in a manner that supports prefers-color-scheme and prefers-contrast in the various methods to support no preferences or a preference in one or more of the options.

For purposes of the read me file, an example of use has to suffice.

priduck css mixin --selector :root --output examples/theme.css --light examples/light.css --light-more-contrast examples/light-more-contrast.css --light-less-contrast examples/light-less-contrast.css --dark examples/dark.css --dark-more-contrast examples/dark-more-contrast.css --dark-less-contrast examples/dark-less-contrast.css

If a fragment isn't included, then it isn't used. So to generate an output file that defaults to dark mode and honors prefers-color-scheme, the command

priduck css mixin --selector :root --output examples/theme.css --light examples/light.css --dark examples/dark.css --output style.css

The fragment files can either be a bare set of CSS properties, or they can use a pseudo-selector of :theme.

:theme {
  color: red;
}
color: red;

There is no parsing of CSS, so this can also be used with Sass or Less or Postcss.

css variables [--hue HUE] [--output PATH] [--selector SELECTOR]

Generate a CSS file using variables. The thirty colors all follow the pattern of --color-priduck-cXbY where X is a number between 0 and 9 (inclusive) and Y is the brightness (also in the range of 0 to 9, inclusive).

All of the colors are calculated based on the variable --color-priduck-hue, which is not included by default. If --hue is provided with a number between 0 and 360, then --color-priduck-hue will be set to the given color.

If --selector is included, the colors will be wrapped in a selector and slightly indented:

// priduck css variables
--color-priduck-c0b0: lch(5.0 50.0 calc(var(--color-priduck-hue) + 0));
--color-priduck-c0b1: lch(15.0 45.0 calc(var(--color-priduck-hue) + 0));
// priduck css variables --selector ":root"
:root {
  --color-priduck-c0b0: lch(5 50 calc(var(--color-priduck-hue) + 0));
  --color-priduck-c0b1: lch(15 45 calc(var(--color-priduck-hue) + 0));
}

palette gpl --hue HUE [--output PATH] [--secondary 5] [--tertiary 8]

Generate a GNU Imp or Inkscape file. --hue is required in this situation. This assumes up to two additional colors (secondary, and tertiary).

Both of these are numbers in the range of 0-9 with 0 being an identical color to the base hue (which is always 0).

Debugging

The CLI uses debug for logging and (relatively) minor output. The CLI will produce no output unless the DEBUG environment variable is set, such as:

export DEBUG="*"

Dependencies

Dependencies

ID Version
colorjs.io ^0.5.0
debug ^4.3.4
mkdirp ^3.0.1
yargs ^17.7.2

Keywords

css color
Details
npm
2024-05-10 06:42:45 +00:00
65
D. Moonfire
MIT
latest
6.3 KiB
Assets (1)
cli-0.2.1.tgz 6.3 KiB
Versions (3) View all
0.2.1 2024-05-10
0.2.0 2024-05-10
0.0.1 2024-03-04