{"id":15496383,"url":"https://github.com/imranhsayed/gatsby-wp-themes","last_synced_at":"2025-09-01T17:33:24.949Z","repository":{"id":97032613,"uuid":"330703686","full_name":"imranhsayed/gatsby-wp-themes","owner":"imranhsayed","description":"Gatsby WordPress Theme","archived":false,"fork":false,"pushed_at":"2021-01-18T15:21:19.000Z","size":272269,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-28T09:04:09.986Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imranhsayed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-18T15:10:42.000Z","updated_at":"2021-12-30T21:32:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3a54e68-1061-4ecb-aa87-c7930ec32fce","html_url":"https://github.com/imranhsayed/gatsby-wp-themes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Fgatsby-wp-themes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Fgatsby-wp-themes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Fgatsby-wp-themes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Fgatsby-wp-themes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imranhsayed","download_url":"https://codeload.github.com/imranhsayed/gatsby-wp-themes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250327298,"owners_count":21412399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T08:24:55.887Z","updated_at":"2025-04-22T21:27:53.945Z","avatar_url":"https://github.com/imranhsayed.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🎨 [Gatsby WP themes](https://codeytek.com/)\n[![Project Status: Active.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n![Stars](https://img.shields.io/github/stars/imranhsayed/gatsby-wp-themes?label=%E2%AD%90%20Stars)\n![Forks](https://img.shields.io/github/forks/imranhsayed/gatsby-wp-themes?color=%23ff69b4)\n![Contributors](https://img.shields.io/github/contributors/imranhsayed/gatsby-wp-themes?color=blue)\n![Follow](https://img.shields.io/github/followers/imranhsayed?label=Please%20follow%20%20to%20support%20my%20work%20%F0%9F%99%8F\u0026style=social)\n\n- A Gatsby theme for WordPress, using Decoupled Architecture\n- Front end in React\n- Backend in WordPress.\n- Can be used as a boilerplate.\n\nThis theme uses `gatsby-source-wordpress@v4 BETA`\n\n*** 👨‍💻 Please star my repo to support my work 🙏 ***\n\n## 🔥 Features\n1. Uses React with Gatsby ( Blazing Fast )\n2. PWA ( Works Offline )\n3. Image Optimization ( blur effect )\n4. GraphQL ( with wp-graphql on WordPress )\n5. Custom Widgets, Menus, Social elements.\n7. Google Analytics feature\n8. Yoast SEO supported ( with og tags )\n\n## 👨‍💻 Maintainer\n\n| Name                                                   | Github Username |\n|--------------------------------------------------------|-----------------|\n| [Imran Sayed](mailto:codeytek.academy@gmail.com)       |  @imranhsayed   |\n\n## 🚀 Set Up\n\n* Fork/clone the repo\n* yarn install\n\n### Gatsby Setup ( when using this repo as your project)\n1. Server Side Environment Variables.\nCreate a file called `.env` taking example from `.env-example` and add the following into `site` directory :\n \n- `WORDPRESS_SITE_URL=https://example.com`\n- `GATSBY_SITE_URL=https://example.com`\n- `GOOGLE_TAGMANAGER_ID=xxx`\n- `FB_APP_ID=xxx`\n\n2. Client Side Environment Variables.\nCreate two more files called `.env.development` `.env.production` and into 'site' directory and add your WordPress site url liks so.\n\n```shell script\nGATSBY_WORDPRESS_SITE_URL=https://example.com\n``` \n\nEnv variables from these file will be consumed by Apollo client on client side.\n\n### WordPress Setup\n1. On your WordPress site, download, Upload and activate all the plugins from wordpress/plugins folder of this repo, into your WordPress Site.\n\na. [Headless CMS](https://github.com/imranhsayed/gatsby-wp-themes/blob/master/wordpress/plugins/headless-cms.zip)\n\nb. [wp-graphql](https://github.com/imranhsayed/gatsby-wp-themes/blob/master/wordpress/plugins/wp-graphql.zip) - tested on ( v1.0.0 )\n\nc. [wp-gatsby](https://github.com/imranhsayed/gatsby-wp-themes/blob/master/wordpress/plugins/wp-gatsby.zip)\n\nd. [Yoast-SEO](https://github.com/imranhsayed/gatsby-wp-themes/blob/master/wordpress/plugins/wordpress-seo.14.5.zip)\n\ne. [wp-graphql-yoast-seo](https://github.com/imranhsayed/gatsby-wp-themes/blob/master/wordpress/plugins/wp-graphql-yoast-seo.zip)\n\n\n2. - Set Header menu as `HCMS Header Menu`\n   \n   ![](demos/header-menu-demo.png)\n   \n   - Set Footer menu as `HCMS Footer Menu`\n   ![](demos/footer-menu-demo.png)\n   \n3. You can also set text widgets in #HCMS Footer #1 and #HCMS Footer #2 under Appearance  \u003e Widgets in WordPress.\n4. Create a Home Page ( if there isn't one already ) and make sure you have a home page ( Title should be Home and page slug should be 'home' )\n5. If isn't already set your site title, description and logo from WordPress customizer.\n\n7. For home page carousel please upload same size product category images of dimensions `1900x600` \n\n## 🚀 Development\n\n* Navigate into site’s directory.\n\n```shell\nyarn install      # Run this for the first time.\nnpm run dev      # During development.\nnpm run build    # When ready for production.\n```\n\n** For development **\nYour site is now running at `http://localhost:8000`!\n\n_Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data.\n\n### 📕 Storybook:\n\nFor Storybook:\n\n* `cd package/gatsby-wp-themes`\n* `npm run storybook`\n\n![](demos/storybook.png)\n\n### :package: Adding/Removing a new package to site folder\n\n`yarn workspace site add package-name`\n`yarn workspace site remove package-name`\n\n### :package: Adding/Removing a new package to gatsby-wooocommerce-theme folder\n\n`yarn workspace gatsby-wooocommerce-theme add package-name`\n`yarn workspace gatsby-wooocommerce-theme remove package-name`\n\n## 🧐 What's inside?\n\nA quick look at the top-level files and directories you'll see in a Gatsby project.\n\n    .\n    ├── node_modules\n    ├── demos\n    ├── packages\n    ├── src\n    ├── .gitignore\n    ├── .site\n    ├── gatsby-browser.js\n    ├── gatsby-config.js\n    ├── gatsby-node.js\n    ├── gatsby-ssr.js\n    ├── package-lock.json\n    ├── package.json\n    └── README.md\n\n1.  **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed.\n\n2.  **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”.\n\n3.  **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.\n\n4.  **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent.\n\n5.  **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.org/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser.\n\n6.  **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.org/docs/gatsby-config/) for more detail).\n\n7.  **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.org/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.\n\n8.  **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.org/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering.\n\n9.  **`LICENSE`**: Gatsby is licensed under the MIT license.\n\n10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).**\n\n11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project.\n\n12. **`README.md`**: A text file containing useful reference information about your project.\n\n### Deployment\n#### [With vercel](https://gatsby-wp-themes.vercel.app/)\n\n- Signup on [vercel.com](https://vercel.com/)\n- Click on Import Project and then add the configurations.\n![](demos/build-commands.png)\n\n- On [vercel](https://vercel.com/), make sure you add these evn vars from settings of the project:\n![](demos/env-vars.png)\n\n\n#### From CLI:\n- `npm i -g vercel`\n- Now in the project root run\n`vercel`\n\n- Add the following configurations\n* build command: `npm run build`\n* output directory: `site/public`\n* development command: `npm run dev` \n* root directory: `/`\n\n### Other popular themes\n[https://www.npmjs.com/package/gatsby-woocommerce-theme](https://www.npmjs.com/package/gatsby-woocommerce-theme)\nFollow its readme on npm.js\n\n## Helpful Tools:\n1. [Apollo Client Developer Tools Chrome Extension](https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm/related)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimranhsayed%2Fgatsby-wp-themes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimranhsayed%2Fgatsby-wp-themes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimranhsayed%2Fgatsby-wp-themes/lists"}