Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
gatsby-plugin-ghost-images
Advanced tools
Gatsby plugin that downloads images from Ghost CMS to be used with Gatsby image tools.
Downloads images from Ghost CMS so they can be processed with the Gatsby image tool chain. This plugin is designed to seamlessly work with a headless Ghost CMS, but it should also work with other content management systems.
yarn add gatsby-plugin-ghost-images
Note that gatsby-source-filesystem
is installed as a dependency of this plugin, because it provides needed functions. It is not required to include gatsby-source-filesystem
in your gatsby-config.js
as all images are fetched remotely from the CMS.
While you can use gatsby-plugin-ghost-images
on its own, you most likely want to use it with Gatsby image and sharp plugins:
yarn add gatsby-plugin-sharp gatsby-transformer-sharp gatsby-image
// In your gatsby-config.js
plugins: [
// sharp plugins are only needed if you want to use gatsby image processing tools
`gatsby-plugin-sharp`,
`gatsby-transformer-sharp`,
{
resolve: `gatsby-plugin-ghost-images`,
options: {
// An array of node types and image fields per node
// Image fields must contain a valid absolute path to the image to be downloaded
lookup: [
{
type: `GhostPost`,
imgTags: [`feature_image`],
},
{
type: `GhostPage`,
imgTags: [`feature_image`],
},
{
type: `GhostSettings`,
imgTags: [`cover_image`],
},
],
// Additional condition to exclude nodes
// Takes precedence over lookup
exclude: node => (
node.ghostId === undefined
),
// Additional information messages useful for debugging
verbose: true,
// Option to disable the module (default: false)
disable: false,
},
},
]
For each image, this plugin creates a new file node and puts the image data into the cache. For convenience all images are also attached to the original node. We adopt a naming convention, so the reference names are automatically generated. First the image tag name is extended with _sharp
, next it is transformed into camel Case. For example:
feature_image -> feature_image_sharp -> featureImageSharp
With this naming convention there is no need to provide a target name.
This plugin will dramatically improve user experience and site performance! Gatsby provides amazing image processing tools that natively ship with lazy loading, adaptive image resolutions and much more. Get all these image features into your Ghost site with this plugin.
{
allGhostPost {
edges {
node {
featureImageSharp {
id
}
}
}
}
}
{
allGhostPost {
edges {
node {
featureImageSharp {
childImageSharp {
fluid(maxWidth: 1024) {
...GatsbyImageSharpFluid
}
}
}
}
}
}
}
import Img from "gatsby-image"
...
const fluidImg = ghostPost.featureImageSharp.childImageSharp.fluid
<Img fluid={fluidImg} />
PRs are welcome! Consider contributing to this project if you are missing feature that is also useful for others.
Copyright (c) 2020 styxlab - Released under the MIT license.
FAQs
Gatsby plugin that downloads images from Ghost CMS to be used with Gatsby image tools.
The npm package gatsby-plugin-ghost-images receives a total of 5 weekly downloads. As such, gatsby-plugin-ghost-images popularity was classified as not popular.
We found that gatsby-plugin-ghost-images demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.