Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
gatsby-source-ghost
Advanced tools
Gatsby source plugin for building websites using the Ghost API as a data source.
Source plugin for pulling data into Gatsby.js from Ghost, using the Ghost Content API.
yarn add gatsby-source-ghost
npm install --save gatsby-source-ghost
Plugin configuration for gatsby-config.js
:
{
resolve: `gatsby-source-ghost`,
options: {
apiUrl: `https://<your-subdomain>.ghost.io`,
contentApiKey: `<your content api key>`,
version: `v3` // Ghost API version, optional, defaults to "v3".
// Pass in "v2" if your Ghost install is not on 3.0 yet!!!
}
}
apiUrl
Ghost Content API URL - for Ghost(Pro) customers this is your .ghost.io
domain, it’s the same URL used to view the admin panel, but without the /ghost
subdirectory. This should be served over https.
contentApiKey
The "Content API Key" copied from the "Integrations" screen in Ghost Admin.
If you want to keep these values private (if your site is not public) you can do so using environment variables.
There are 5 node types available from Ghost: Post, Page, Author, Tag, and Settings.
Documentation for the full set of fields made available for each resource type can be found in the Content API docs. Posts and Pages have the same properties.
Example Post Query
{
allGhostPost(sort: { order: DESC, fields: [published_at] }) {
edges {
node {
id
slug
title
html
published_at
...
tags {
id
slug
...
}
primary_tag {
id
slug
...
}
authors {
id
slug
...
}
}
}
}
}
Filter Posts by Tag
A common but tricky example of filtering posts by tag, can be achieved like this (Gatsby v2+):
{
allGhostPost(filter: {tags: {elemMatch: {slug: {eq: $slug}}}}) {
edges {
node {
slug
...
}
}
}
}
Query Settings
The settings node is different as there's only one object, and it has the properties listed here.
{
allGhostSettings {
edges {
node {
title
description
lang
...
navigation {
label
url
}
}
}
}
}
Query Other Node Types
The Post, Page, Author and Tag nodes all work the same. Use the node type you need in this query:
{
allGhost${NodeType} {
edges {
node {
id
slug
...
}
}
}
}
Copyright (c) 2018-2019 Ghost Foundation - Released under the MIT license.
FAQs
Gatsby source plugin for building websites using the Ghost API as a data source.
The npm package gatsby-source-ghost receives a total of 640 weekly downloads. As such, gatsby-source-ghost popularity was classified as not popular.
We found that gatsby-source-ghost demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 24 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.