> For the complete CircleCI developer hub index, see [llms.txt](https://circleci.com/developer/llms.txt)

# zenika/training-material

Build Zenika training materials with [sensei](https://github.com/Zenika/sensei) and publish them on https://training-material.zenika.com/.


## Jobs

### build

Build training materials. PDF and static website.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra-opts` | string |  |  |
| `sensei-version` | string | latest |  |
| `training-name` | string | $CIRCLE_PROJECT_REPONAME |  |

### deploy

Publish training materials built previously.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `training-name` | string | $CIRCLE_PROJECT_REPONAME |  |
| `version` | string | $CIRCLE_BRANCH |  |

### lint

Lint slides


| Parameter | Type | Default | Description |
|---|---|---|---|
| `sensei-version` | string | latest |  |
| `slides-path` | string | Slides/ |  |

## Examples

### common

Build and publish training materials. Training name is extracted from repository name.


```yaml
version: '2.1'
orbs:
  training-material: zenika/training-material@x.y
workflows:
  build-and-deploy:
    jobs:
      - training-material/lint
      - training-material/build
      - training-material/deploy:
          context: training-deploy-zenika
          filters:
            branches:
              only: master
          requires:
            - training-material/build
  version: 2
```

### custom-name

Build and publish training materials with custom training name.


```yaml
version: '2.1'
orbs:
  training-material: zenika/training-material@x.y
workflows:
  build-and-deploy:
    jobs:
      - training-material/lint
      - training-material/build:
          training-name: my-training
      - training-material/deploy:
          context: training-deploy-zenika
          filters:
            branches:
              only: master
          requires:
            - training-material/build
          training-name: my-training
  version: 2
```

### custom-version

Build and publish training materials with custom version for publishing.


```yaml
version: '2.1'
orbs:
  training-material: zenika/training-material@x.y
workflows:
  build-and-deploy:
    jobs:
      - training-material/lint
      - training-material/build
      - training-material/deploy:
          context: training-deploy-zenika
          filters:
            branches:
              only: master
          requires:
            - training-material/build
          version: alpha
  version: 2
```

### extra-opts

Build and publish training materials with extra sensei build options.


```yaml
version: '2.1'
orbs:
  training-material: zenika/training-material@x.y
workflows:
  build-and-deploy:
    jobs:
      - training-material/build:
          extra-opts: '--slideWidth=1024 --slideHeight=768'
      - training-material/deploy:
          context: training-deploy-zenika
          filters:
            branches:
              only: master
          requires:
            - training-material/build
  version: 2
```

### special-sensei

Build and publish training materials. Use a specific version of sensei.


```yaml
version: '2.1'
orbs:
  training-material: zenika/training-material@x.y
workflows:
  build-and-deploy:
    jobs:
      - training-material/lint:
          sensei-version: test
      - training-material/build:
          sensei-version: test
      - training-material/deploy:
          context: training-deploy-zenika
          filters:
            branches:
              only: master
          requires:
            - training-material/build
  version: 2
```