Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
@browniebroke/gatsby-image-gallery
Advanced tools
Very basic gallery grid based on gatsby-image.
Very basic gallery grid based on gatsby-plugin-image
and react-image-lightbox
, styling powered by styled-components
.
npm install --save @browniebroke/gatsby-image-gallery
Please check the table below to choose the version of this library to use depending on your version of Gatsby:
Gatsby Image Gallery | Gatsby | Gatsby Plugin Image | Gatsby Image |
---|---|---|---|
v5 | v2 | Not supported | v3 |
v6 | v3 | v1 | Not supported |
v7-v8 | v4-v5 | v2-v3 | Not supported |
v9 | v5 | v3 | Not supported |
Only the latest major version of Gatsby Image Gallery is supported.
This library provides a Gallery
component, rendering as a grid of images that can be clicked to open in full size inside a lightbox. See below for a minimal example:
import { graphql } from 'gatsby'
import React from 'react'
import Gallery from '@browniebroke/gatsby-image-gallery'
const MyPage = ({ data }) => {
const images = data.allFile.edges.map(({ node }) => node.childImageSharp)
// `images` is an array of objects with `thumb` and `full`
return <Gallery images={images} />
}
export const pageQuery = graphql`
query ImagesForGallery {
allFile {
edges {
node {
childImageSharp {
thumb: gatsbyImageData(
width: 270
height: 270
placeholder: BLURRED
)
full: gatsbyImageData(layout: FULL_WIDTH)
}
}
}
}
}
`
export default MyPage
images
propThe images
prop is an array of objects with 2 required properties: thumb
and full
that should each be a GatsbyImage
compatible object.
In addition, images may have the following properties:
thumbAlt
: (string) used to set the alt
attribute on the thumbnail imagetitle
: (node) passed to the Lightbox component as imageTitle
.caption
: (node) passed to the Lightbox component as imageCaption
.The <Gallery>
component accepts an object in the lightboxOptions
prop, which will be passed down directly to react-image-lightbox
.
You can see the full list of options in their documentation.
onClose
callback to LightboxThe <Gallery>
component accepts a function in the onClose
prop, which will be called when react-image-lightbox
is closed by the user.
To customise the number of columns and the space between the images, you have several props:
colWidth
: percentage of total width to use on small screens (1/3 by default).mdColWidth
: percentage of total width to use on medium and large screens (1/4 by default).gutter
: margin around each image (0.25rem by default).rowMargin
: horizontal margin on each side of the gallery (-15px by default)You may also inject your own image styles by passing a component as customWrapper
prop. The given component will be passed a few props that you should handle:
GatbsyImage
as children
, this is the small imageonClick
, opening the Lightbox when the small image is clickedA minimal example may look like this, but you're free to bind the onClick
to another element or render the image otherwise:
const CustomWrapper = ({ children, onClick }) => (
<div className="my-custom-image-wraper" onClick={onClick}>
{children}
</div>
)
const MyPage = ({ data }) => {
return (
<Gallery
//... Other props omited for clarity
customWrapper={CustomWrapper} // example of use
/>
)
}
For a full working example, there is one in the example folder which is deployed to Netlify.
Releases are automated using semantic release. This library parses the commit log to detect which version number should be bumped.
MIT © browniebroke
FAQs
Very basic gallery grid based on gatsby-image.
The npm package @browniebroke/gatsby-image-gallery receives a total of 40 weekly downloads. As such, @browniebroke/gatsby-image-gallery popularity was classified as not popular.
We found that @browniebroke/gatsby-image-gallery 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
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.