An open API service indexing awesome lists of open source software.

https://github.com/apostrophecms/open-graph

Open Graph tools for Apostrophe 3
https://github.com/apostrophecms/open-graph

Last synced: about 1 year ago
JSON representation

Open Graph tools for Apostrophe 3

Awesome Lists containing this project

README

          


ApostropheCMS logo

Open Graph for ApostropheCMS













## Installation

```bash
npm install @apostrophecms/open-graph
```

## Use

Configure `@apostrophecms/open-graph` in `app.js`.

```js
const apos = require('apostrophe')({
shortName: 'project',
modules: {
'@apostrophecms/open-graph': {}
}
});
```

### Setting the `baseUrl`

Open Graph images *will not be set* with absolute URLs if the `baseUrl` is not set. This should either be set statically in `app.js`, but more likely, in the environment configuration, such as in `data/local.js`. Some social media platforms consider an aboslute URL to be a requirement and *will not accept the image URL without it*.

#### In `app.js` as part of your main Apostrophe app
```js
require('apostrophe')({
shortName: 'mysite',
baseUrl: 'https://mysite.com',
modules: {
// other module configurations
}
});
```
#### As part of an environment configuration in `data/local.js`
```js
module.exports = {
baseUrl: 'https://mysite.com',
modules: {
// other environment-specific module configurations
}
};
```
### Opting out of Open Graph Fields

Adding `openGraph: false` to any module will prevent Open Graph fields from being added. Good use cases for this are utility modules, special page types, or piece types that don't have index or show pages.

```js
require('apostrophe')({
shortName: 'mysite',
baseUrl: 'https://mysite.com',
modules: {
category: {
options: {
openGraph: false;
}
}
}
});
```

The following modules opt out of the Open Graph fields by default:
- `@apostrophecms/global`
- `@apostrophecms/user`
- `@apostrophecms/image`
- `@apostrophecms/image-tag`
- `@apostrophecms/file`
- `@apostrophecms/file-tag`

### Field Reference
The following are the fields that are added to pieces and pages

|Name |Description | Module Effected |
--- | --- | ---
|`openGraphTitle`|OG Title, populates ``|`@apostrophecms/doc-type`
|`openGraphDescription`|OG Description, populates ``|`@apostrophecms/doc-type`
|`openGraphType`|OG Type, populates ``, defaults to 'website'|`@apostrophecms/doc-type`
|`openGraphImage`|OG Image, populates ``|`@apostrophecms/doc-type`