Community Plugin
View plugin on GitHubgatsby-source-patstore
A Gatsby source plugin for fetching data from PatStore.
Installation
npm install gatsby-source-patstoreor
yarn add gatsby-source-patstoreUsage
Add the plugin to your gatsby-config.js:
module.exports = {
plugins: [
{
resolve: "gatsby-source-patstore",
options: {
apiUrl: "https://api.patstore.com",
apiKey: "your-api-key-here",
},
},
],
};Configuration Options
| Option | Type | Required | Description |
|---|---|---|---|
apiUrl |
string |
No | API endpoint URL for PatStore |
apiKey |
string |
No | API key for authentication |
Querying Data
Once the plugin is configured, you can query PatStore data using GraphQL:
query {
allPatStoreData {
nodes {
id
title
description
createdAt
updatedAt
data
}
}
}Example
// gatsby-config.js
module.exports = {
plugins: [
{
resolve: "gatsby-source-patstore",
options: {
apiUrl: process.env.PATSTORE_API_URL,
apiKey: process.env.PATSTORE_API_KEY,
},
},
],
};// src/pages/index.js
import React from "react";
import { graphql } from "gatsby";
const IndexPage = ({ data }) => {
return (
<div>
<h1>PatStore Data</h1>
{data.allPatStoreData.nodes.map((item) => (
<div key={item.id}>
<h2>{item.title}</h2>
<p>{item.description}</p>
</div>
))}
</div>
);
};
export const query = graphql`
query {
allPatStoreData {
nodes {
id
title
description
createdAt
updatedAt
}
}
}
`;
export default IndexPage;Development
Build
npm run buildWatch Mode
npm run watchClean
npm run cleanDependencies
This plugin uses the following dependencies:
@apollo/client- GraphQL client@bytescale/sdk- File handlinggatsby-plugin-image- Image optimizationgatsby-source-filesystem- File system operationsgraphql- GraphQL implementationgraphql-compose- GraphQL schema compositionimage-size- Image dimension detectionlodash- Utility functionsnode-fetch- HTTP clientzod- Runtime validation
License
MIT