Skip to content

internalfx/quickshot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quickshot 4

A Shopify theme development tool.

Join the chat at https://gitter.im/internalfx/quickshot license npm version

Features

  • Super fast file transfers
  • Uploads and downloads multiple files in parallel
  • Easily switch between Shopify stores and themes
  • Easy to use configuration wizard
  • Can be configured to ignore certain files when syncing
  • Uploads and downloads Shopify blogs, pages and products. You can now easily transfer product information between shops.

Runs on node.js v16+.

TLDR, Installation

npm install -g quickshot

Getting nodejs

Quickshot is written in JavaScript and needs nodejs to run. Quickshot recommends getting nodejs with NVM. Once you have nodejs installed you can run npm install -g quickshot.

Getting started

Quickshot is run from the command line (terminal). You can start quickshot with quickshot or qs.

For the remainder of the docs we will give examples using the qs shortcut.

Viewing command help

Run qs by itself to see all the possible commands.

    Quickshot 4.0.0
    ==============================

    Commands:
      quickshot config                        Creates/Updates the configuration file in current directory
      quickshot blogs                         Manage Shopify blogs
      quickshot pages                         Manage Shopify pages
      quickshot products                      Manage Shopify products
      quickshot theme                         Manage Shopify themes
      quickshot                               Show this screen.

Configuring

Run qs config to run the configuration wizard, which will guide you through creating your Configuration file. You do not need to make or edit this file by hand.

Logging Configuration

You can enable logging to a file by choosing options > logging from the qs config menu.

Targets Configuration

Targets allow you to direct Quickshot to send files to one of multiple locations. Almost every command in qs requires a target. A target is basically a specific theme at a specific shop.

Targets have a name, shop, and theme. This is very powerful as you can direct Shopify information wherever you wish.

For example, you could download all the theme files from your live store, and then upload them to your development shop in just 2 commands.

Create Targets

Run qs config

Go to targets > Create target

You will then be asked for all of the following information.

  • Target Name - Staging, Development or whatever you wish
  • Store URL - URL to the Shopify store you want to connect to (quickshot needs the full "example URL" as this also has the keys used to connect)
  • Theme - Quickshot will display all the available themes from your shop, use your arrow keys to select which one you want to connect to

After configuring a target, you are returned to the Manage targets menu. From there you can edit, delete, and display a list of all configured targets. If you are finished adding targets select < Go Back to continue.

Edit Targets

Run qs config

Go to targets > Edit target

You will then be asked for all of the following information. However, previous values will be pre-filled in for you. To keep the previous value press Enter.

  • Target Name - Staging, Development or whatever you wish
  • Store URL - URL to the Shopify store you want to connect to (quickshot needs the full "example URL" as this also has the keys used to connect)
  • Theme - Quickshot will display all the available themes from your shop, use your arrow keys to select which one you want to connect to

Delete Targets

Run qs config

Go to targets > Delete target

Select the target you wish to delete and press enter.

List Targets

Run qs config

Go to targets > List targets

Ignoring Files

you can use a .quickshot-ignore file to prevent quickshot from uploading files you don't want in Shopify.

.quickshot-ignore uses gitignore syntax

For gitignore syntax see the (Gitignore Docs)[https://git-scm.com/docs/gitignore]

Theme Download

qs theme download

Downloads theme files from the chosen target.

Option Description
target Explicitly select target. Allows you to bypass "Select target" prompt.
filter Only transfer files matching specified filter.

Theme Upload

qs theme upload

Uploads theme files to the chosen target.

Option Description
target Explicitly select target. Allows you to bypass "Select target" prompt.
filter Only transfer files matching specified filter.

Theme Watch

qs theme watch [--sync]

Watches files for changes and uploads them to Shopify.

Option Description
target Explicitly select target. Allows you to bypass "Select target" prompt.
--sync Enable two-way sync. Quickshot will also watch remote files on Shopify and download them when they change.

Pages Download

qs pages download

Downloads pages from the chosen target.

Option Description
target Explicitly select target. Allows you to bypass "Select target" prompt.
filter Only transfer pages matching specified filter.

Pages Upload

qs pages upload

Uploads pages to the chosen target.

Option Description
target Explicitly select target. Allows you to bypass "Select target" prompt.
filter Only transfer pages matching specified filter.

Migrating from 2.x, breaking changes.

The format of quickshot.json has changed.

The API URL used to be constructed from three separate settings.

"api_key": "123abc",
"password": "789xyz",
"domain": "shop",

Now it only uses one.

url": "https://123abc:[email protected]/admin/api",

.quickshotignore has been renamed to .quickshot-ignore

Quickshot no longer reads your .gitignore file. Put files you need to ignore in your .quickshot-ignore file instead.