Important Packages
UI components library
This package contains UI components for building commercetools documentation websites.
Getting started
To create a new documentation website you need to install this theme and its peer dependencies:
npx install-peerdeps --dev @commercetools-docs/ui-kit
Design System
The package includes a small design system that should be used for everything related to documentation websites. It exposes design tokens that derive from the original commercetools design system library.
import { designSystem } from '@commercetools-docs/ui-kit';
The exported designSystem
object contains several top-level entries:
colors
tokens
dimensions
typography
commercetools Writing Style Linter
This package provides
- commercetools specific writing style and terminology rules for the configurable vale prose linter.
- the
commercetools-vale
command-line tool which wraps the vale binary and calls it using the included writing style and configuration - the
commercetools-vale-bin
command is directly calling the vale binary without passing the commercetools configuration. The.vale.ini
configuration location has to be passed separately via vale's--config
flag.
The base style is the Google Developer Documentation Style Guide, which is included as a copy (MIT licensed, too) and modified and partially overridden with commercetools specific rules.
The configuration defaults to checking .md
, .mdx
, .txt
, and .html
files, which can be overridden by calling it with a command-line parameter commercetools-vale --glob='*.{js,md}' ./path/to/content
passing a list of supported file format extensions.
Automatic vale binary download for the current system environment
This packages postinstall
script automatically downloads the appropriate vale
binary upon installation. This ensures a small package size and no unnecessary binary files in it. Supported platforms are Mac OS (darwin
), Linux (linux
), and Windows (windows
).
Standalone command-line usage
- Install the command globally via
yarn global add @commercetools-docs/writing-style
ornpm install -g @commercetools-docs/writing-style
- Use it by calling
commercetools-vale ./path/to/your/content
Please don't forget to frequently update the package to get the latest styles.
Usage in the VSCode vale plugin
The vale plugin is always passing a --config
parameter even if none is configured, so you have to separately configure the binary and the config location as follows, for example in a workspace configuration file:
{"settings": {"vale.core.useCLI": true,"vale.valeCLI.path": "${workspaceFolder}/node_modules/.bin/commercetools-vale-bin","vale.valeCLI.config": "${workspaceFolder}/node_modules/@commercetools-docs/writing-style/.vale.ini"}}
Usage as a package.json
dependency
- Add the writing-style package as a development dependency:
yarn add --dev @commercetools-docs/writing-style
- In your project's folder, call it from the command
line via
npx commercetools-vale ./your/path/to/content
and optionally add vale command-line parameters as needed (for example--no-wrap
on command-line jobs).- Tip: Running it over your complete repository is not a good idea since it checks the complete node_modules folder which takes a long time and is not your content, so make sure to pass a relevant file selection
Updating the Google styles
The Google styles for vale should not be changed in this repository as they are maintained by the Errata-AI team and pulled directly from their repository. To get the latest changes, run the yarn download:google
command.
Updating the vale version
Update the custom valeVersion
property in package.json
and confirm that the artifact naming convention on vale's GitHub releases page has not changed.
Contributing
All contributions, especially to enrich and complete the commercetools specific terminology and branding are welcome.
Please always provide content examples in the pull request to explain the rationale and typical use cases.