• Stars
    star
    107
  • Rank 323,587 (Top 7 %)
  • Language
    JavaScript
  • License
    ISC License
  • Created almost 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Shopify theme development tool.

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.

More Repositories

1

rethinkdb-regrid

A file storage system for RethinkDB inspired by GridFS
JavaScript
249
star
2

thinker

A command line tool to ease development and administration.
JavaScript
234
star
3

mindex

A small simple javascript compound index.
JavaScript
136
star
4

distinct-colors

Generate a palette of visually distinct colors. It's great for charts.
JavaScript
119
star
5

centric-server

A programmable automation server
JavaScript
91
star
6

mailcap

Email capture and archiving server
JavaScript
49
star
7

pageflo

A new super flexible open source CMS
Vue
34
star
8

sqlgrid

A file storage system for SQL databases inspired by GridFS
JavaScript
16
star
9

regrid-spec

The official ReGrid specification for RethinkDB
9
star
10

internalfx-salesforce-webhook-server

A simple node.js server that watches SalesForce objects and delivers webhooks of the changes.
JavaScript
7
star
11

arangofs

A file storage system for ArangoDB
JavaScript
7
star
12

arangler

An ArangoDB management tool
JavaScript
6
star
13

bplus-index

A JavaScript implementation of a B+tree structure.
JavaScript
5
star
14

freeswitch-integration-server

The open source API server for FreeSwitch
JavaScript
3
star
15

rethinkdb-graph

JavaScript
2
star
16

ramdb

A client side in-memory database for React
JavaScript
2
star
17

quickshot-docs

Source for Quickshot.io documentation
HTML
1
star
18

freeswitch-informant

A node.js server for sending freeswitch events as webhooks
JavaScript
1
star
19

rethinkdbfs-spec

A specification for GridFS on RethinkDB
1
star
20

ifx-search

Ngram text search for node and the browser.
JavaScript
1
star
21

centric-scaffold

JavaScript
1
star