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
- Host: GitHub
- URL: https://github.com/apostrophecms/open-graph
- Owner: apostrophecms
- License: mit
- Created: 2021-06-08T15:08:11.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-04-02T09:03:58.000Z (about 1 year ago)
- Last Synced: 2025-04-02T10:23:11.735Z (about 1 year ago)
- Language: JavaScript
- Size: 31.3 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
## 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`