A Gatsby Shopify starter
This will be a POC Shopify PWA using the Storefront API & GatsbyJS.
Should be as fast but ideally, faster than a normal Shopify experience - especially for slower connection due to service worker.
There should be a number of ways to customize the theme without touching the code such as colors, typography, and settings (show breadcrumbs?, etc.)
Out-of-box, the site should be WCAG 2.0 accessible. This means aria tags where needed, AA color contrast, and keyboard accessible navigation with focus styling. This includes things like the gallery.
Should strive to offer the same features as a normal Shopify theme such as easy homepage section content, all the normal content types. See this list of issues which might prevent code complete.
Copy .env.sample to .env.development and change the items to match your store. Make sure to add all .env keys and values in Netlify
When sending a customer an active email (invite email), the template utilizes a url pattern that does not currently work with Shopify PWA. To simplify setup, change the following items in the Customer account invite email notification template (Settings > Notifications > Customer Account > Customer account invite or https://YOUR_STORE_NAME.myshopify.com/admin/email_templates/customer_account_activate/edit):
-<td class="button__cell"><a href="https://github.com/gil--/gatsby-starter-shopifypwa/blob/master/{{ customer.account_activation_url }}" class="button__text">Activate your account</a></td>
+{% assign url_parts = customer.account_activation_url | split: '/' %}
+<td class="button__cell"><a href="https://github.com/gil--/gatsby-starter-shopifypwa/blob/master/{{shop.url}}/account/activate?id={{url_parts[5]}}&token={{url_parts[6]}}" class="button__text">Activate your account</a></td>
Shopify Password Resets urls do not currently work with the Storefront API and are also presented in a sturcture that requires custom Server-Side Routing. To simplify setup, change the following items in the Customer account password reset email notification template (Settings > Notifications > Customer Account > Customer account password reset or https://YOUR_STORE_NAME.myshopify.com/admin/email_templates/customer_account_reset/edit):
-<td class="button__cell"><a href="https://github.com/gil--/gatsby-starter-shopifypwa/blob/master/{{customer.reset_password_url}}" class="button__text">Reset your password</a></td>
+{% assign url_parts = customer.reset_password_url | split: '/' %}
+<td class="button__cell"><a href="https://github.com/gil--/gatsby-starter-shopifypwa/blob/master/{{shop.url}}/account/reset?id={{url_parts[5]}}&token={{url_parts[6]}}" class="button__text">Reset your password</a></td>
We're basically splitting the reset password url into URL parameters which will make it MUCH easier for Gatsby to understand.
Setup webhooks with Netlify to auto-deploy after product creation, update, and deletion.
https://YOUR_STORE_NAME.myshopify.com/admin/settings/notifications
and scroll down to Webhooks. Select Create webhook and for Event select Product update for example.https://app.netlify.com/sites/YOURAPPNAME/identity
and click Enable Identity.The following are planned features. Many of these are not planned for the initial release.