# DXP Directus CLI

[![NPM version](https://img.shields.io/npm/v/@archer-edu/dxp-directus-cli.svg?style=flat)](https://www.npmjs.com/package/@archer-edu/dxp-directus-cli) [![NPM monthly downloads](https://img.shields.io/npm/dm/@archer-edu/dxp-directus-cli.svg?style=flat)](https://npmjs.org/package/@archer-edu/dxp-directus-cli) [![NPM total downloads](https://img.shields.io/npm/dt/@archer-edu/dxp-directus-cli.svg?style=flat)](https://npmjs.org/package/@archer-edu/dxp-directus-cli)

This is the DXP Directus CLI for incorporating CMS data from Directus into our into DXP website builds.

## Getting started

Install the CLI

``` 
yarn add @archer-edu/dxp-directus-cli -D
```

Once it is installed, you can call one of three commands: `pull-blog`, `pull-data` or `pull-pages`.

## Pull Blog

Usage:

    cmsctl pull-blog|b [options] <siteId>

Pull a site's blog posts to the 'blog' directory inside content

Options:

```
  -b, --blog-dir              Change the 'blog' path. (This directory is relative to /content)
  -i, --download-images <d>   Download images to a directory (ie 'assets/images'). If omitted, images use the CDN
  -r, --redirect [redirect]   Add a global redirect for each of the blog entries, relative to their path (slug/redirect).
  -t, --tag                   Pull content versions of this name
  -d, --debug                 Enable debug mode
  -h, --help                  Display help for command
```


## Pull data
Usage: 

    cmsctl pull-data|d [options] <siteId>

Pull site data from directus and write to the 'data' directory

Options:

```
  -D, --directory <directory>  Directory output for file creation.
  -f, --force                  Force-delete the directory before writing files.
  -d, --debug                  Enable debug mode
  -t, --tag                    Pull content versions of this name
  -r, --drafts                 Include drafts (used for preview environment)
  -h, --help                   Display help for command
```

## Pull Pages

Usage:

    cmsctl pull-pages|p [options] <siteId>

Pull content pages from directus into the 'content' directory

Options:

```
  -d, --debug  Enable debug mode
  -t, --tag Pull content versions of this name
  -i, --download-images  <imageDir> Download images to a directory (ie 'assets/images'). If omitted, images use the CDN
  -h, --help   display help for command
```
