This repo aims to provide a starting point for your next Shopify theme using panoply/syncify. Check out the wiki for mode advanced uses Wiki
Syncify's development has gone through some changes and these changes have left some of the documentation outdated, in particular the initial setup stage. I've worked with panoply (Sissel) on the Shopify Developers Discord to get Syncify working using the "best" undocumented method.
Be sure to check out the official Syncify repo for more advanced uses.
This repo uses a slightly modified version of the Dusk theme also created by panoply.
- Press the "Use this template" button at the top of this repo to create a new repo with the contents of this skeleton. Set it to private if it's for a client. You can now clone your new repo to your local machine.
- Setup your Authorization. See the official Syncify repo for instructions.
- Create an app for your store with the appropriate scopes. Instructions
- Rename the
.env.exampleto.envthen add your store name and API token to the appropriate places. Instructions - In your
package.json, replace allyour-shopify-storereferences with the Shopify store name you set in your.envfile.
- Run
pnpm ito quick install Syncify dependencies. Below is an itemized list.pnpm add github:panoply/syncify -D(branch is no longer needed).- (Optional)
pnpm add svgo -Dto handle SVG's, the logo in this case.
- Run
pnpm build. This will create a new directory calledthemein the standard Shopify theme structure. - Package the
themefolder and manually upload the.zipfile to your store.- On Mac, navigate to the project folder, right click on the
themefolder and selectcompress "theme".
Syncify can export the output directory and zip it with the
-por--packageflags, but this functionality isn't working yet. - On Mac, navigate to the project folder, right click on the
- Add the theme ID to your
package.jsonunderstores.themes.dev.To get your theme id, customize the theme via the Shopify Theme Editor and copy the theme ID, located in the address bar.
- Run
pnpm devto start your first live reloading session and open the preview link provided in your terminal. Make a change to your/source/layout/theme.liquidand confirm you see your change in your browser.
- If you're having issues connecting to your theme, ensure that you've followed the Setup and Credential steps outlined in the official Syncify repo. Then check your
.envfile and finally yourpackage.jsonfile to make sure everything matches. - If you're using
pnpm devand you're unable to hot reload, try changing browsers or disable any browser functionality that may be blocking your websocket connection (eg. Brave Shield). As a last resort, restart your machine, this has worked for me in the past. - I use the VSCode extension Liquid and you should too. This repo is already set up for your project auto-completions and basic formatting (which you can change). You can customize these settings in the
.liquidrcfile. - If you're still having issues, head over to the Shopify Developers Discord where we have a dedicated channel for Syncify stuff. Don't be dumb! Complete the application form properly otherwise you'll be banned instantly.
This repo isn't intended to be contributed to. As updates happen to Syncify this repo will be updated appropriately however, Syncify will eventually make this repo obsolete.
The MIT License (MIT). Please see License File for more information.