@apolitical/content
Version:
React library to interact with Apolitical's content using Contentful CDA
68 lines (42 loc) • 1.59 kB
Markdown
# Apolitical Content
Browser (and Node.js) library to interact with Apolitical's content using Contentful CDA
## Requirements
Requires the following to run:
- [node.js][node] 16.13.0+
- [yarn][yarn]
[node]: https://nodejs.org/en/download/
[yarn]: https://classic.yarnpkg.com/en/docs/install
## Installation
Install with `yarn`:
```sh
yarn add @apolitical/content
```
## Available Scripts
In the project directory, you can run:
### `yarn run test`
Runs the test (and the interactive mode can be enabled with `--watchAll`).
### `yarn build`
Builds the library for production to the `build` folder.
It correctly bundles the code on production mode and optimizes the build for the best performance.
### `yarn publish`
Publishes the library to NPM.
## Usage
The recommended way to use `@apolitical/content` is to set the context with the appropriate parameters:
```js
const { setContext, getEntry } = require('@apolitical/content');
setContext({
environment: 'some-environment',
accessToken: 'some-token'
});
```
And then, you can query Contentful as you like:
```js
const { seoTitle, seoDescription, hero } = await getEntry({
content_type: 'some-type',
'fields.slug': 'some-slug',
});
```
## Troubleshooting
### Usage of other libraries within your library
- Add the library as a dependency in `package.json` (effectively requiring the calling project to provide this dependency)
- Add the Contentful library as a dependency in `package.json`. By default, only the library code is published, meaning that the Contentful library needs to be installed separately