@focus-reactive/graphql-content-layer
Version:
[](https://badge.fury.io/js/%40focus-reactive%2Fgraphql-content-layer) # GitNation GraphQL Content Layer
88 lines (52 loc) • 1.93 kB
Markdown
[](https://badge.fury.io/js/%40focus-reactive%2Fgraphql-content-layer)
# GitNation GraphQL Content Layer
package for fetching conference content from GraphCMS
it's published on NPM as
`@focus-reactive/graphql-content-layer`
This package is intended for:
1. Fetching data from GraphCMS, process and building content layer
2. Generate Storybook with output of:
1. GraphCMS queries (CMS Layer)
2. Processed content (Content Layer)
## API and Configuring
1. GraphCMS connection should be configured via env variables: `CMS_ENDPOINT` and `CMS_TOKEN`
2. The package exposes `getContent` async function for generating content layer
Usage:
```js
const { getContent } = require('@focus-reactive/graphql-content-layer');
const content = await getContent(conferenceSettings);
```
see [conferenceSettings](#conferencesettings) for details
3. The package generates Storybook with CMS and Content layers
to use it:
```js
// story.js
const {
passConferenceSettings,
} = require('@focus-reactive/graphql-content-layer/dist/content.stories');
passConferenceSettings(conferenceSettings);
```
### conferenceSettings
Pass `conferenceSettings` with conference specific ("hardcoded") data
I should contain:
`tagColors` - colors settings for "tech" badges, tags, labels
```js
speakerAvatar = {
dimensions: {
avatarWidth: 500,
avatarHeight: 500,
}
}
```
- image transformation settings for speakers/trainers/mcs and so on avatars
## Develop
`yarn dev` to start watching and compiling the code
`yarn storybook` to launch Storybook
`yarn tdd` - Jest tests in watching mode
`yarn start` - starts dev, storybook and tests (each in independent watch mode)
`yarn update-schema` for updating GraphQL introspection schema
For publishing to NPM:
```shell
npm publish
```
it will transpile the code and publish the package