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:
colorstokensdimensionstypography
commercetools Writing Style Linter
This package provides
- commercetools specific writing style and terminology rules for the configurable vale prose linter.
- the
commercetools-valecommand-line tool which wraps the vale binary and calls it using the included writing style and configuration - the
commercetools-vale-bincommand is directly calling the vale binary without passing the commercetools configuration. The.vale.iniconfiguration location has to be passed separately via vale's--configflag.
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-styleornpm 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/contentand optionally add vale command-line parameters as needed (for example--no-wrapon 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.