cxa-track
Version:
Convenient CLI to quickly update CxA tracked links
63 lines (41 loc) • 2.72 kB
Markdown
# :memo: cxa-track
[](https://www.npmjs.com/package/cxa-track)
[](https://github.com/sinedied/cxa-track/actions)

[](https://packagephobia.now.sh/result?p=cxa-track)
[](https://github.com/sindresorhus/xo)
[](LICENSE)
<img src="https://user-images.githubusercontent.com/593151/69799062-d86c4500-11d2-11ea-8af8-bc9e002ec3d6.png" alt="bit matrix" width="200">
> Convenient CLI to quickly create or update CxA tracked links.
**Features:**
- Watch mode to automagically catch URLs from clipboard and update them without intervention
- Batch mode to search & replace tracked URLs directly in text files
- [Front matter](https://jekyllrb.com/docs/front-matter/) support, using `trackingCode`, `tracking_code` or `tracking-code` property if it's defined
## Installation
```sh
npm install -g cxa-track
```
## CLI Usage
```sh
Usage: cxa [options] [<files|URL>]
You can omit the URL argument if you copy one to the clipboard.
Options:
-s, --set <tracking-code> Set default tracking code
-t, --track <tracking-code> Use specified tracking code
-w, --watch Watch clipboard for URLs
-h, --help Show this help
Tracking code format (fallback to default for missing values):
ID
area-ID
area-ID-alias
```
### Default tracking code
You should run `cxa -s area-ID-alias` at least once to save your default tracking code.
You will then be able to override it partially or fully using the `-t` options when needed.
### Watch mode
When using `cxa -w` the app will be left open and monitor your clipboard: each time tracked URLs are detected, they will be updated directly in the clipboard so you can just paste them.
> Note that it work with both single URLs and any text containing multiple URLs 😎.
### Batch mode
Using `cxa <files>` you can update tracked links in a bunch of text files at once. Only URLs matching tracked domains will be affected, you can see the list [here]().
Using the `trackingCode` property in a [Front matter](https://jekyllrb.com/docs/front-matter/) section of your files, you can use different tracking code per file (partial overrides are supported, like with `-t` option). This property will always have the priority over the `-t` option.
> Note that text files are read and written using `UTF-8` encoding, be careful if you use other encodings!