{"_id":"5755b81cdd2f821900ff38ad","parentDoc":null,"user":"5593026aa873863b00114a03","body":"- Supports uploading to multiple Shopify stores and themes\n- Easy to use configuration wizard\n- Uploads/downloads in parallel greatly reducing transfer times\n- Supports autocompiling scss locally before uploading to Shopify\n- Supports autocompiling Babel/ES6 into modules which are easily used by Requirejs and others\n- Can use with `.gitignore` files or a custom `.quickshotignore` file.\n- Can `download/upload` Shopify Blogs, Pages and Products! Easily transfer them between stores! Even the metafields! And edit them locally in your favorite editor.","title":"Features","category":"5755b81cdd2f821900ff38a6","project":"57508d2051b4bb2b00178675","version":"5755b81cdd2f821900ff38a5","createdAt":"2016-06-02T19:49:00.527Z","link_url":"","hidden":false,"isReference":false,"excerpt":"","type":"basic","updates":[],"githubsync":"","api":{"auth":"required","params":[],"url":"","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":""},"order":1,"slug":"features","link_external":false,"sync_unique":"","__v":0,"childrenPages":[]}

Features

- Supports uploading to multiple Shopify stores and themes
- Easy to use configuration wizard
- Uploads/downloads in parallel greatly reducing transfer times
- Supports autocompiling scss locally before uploading to Shopify
- Supports autocompiling Babel/ES6 into modules which are easily used by Requirejs and others
- Can use with `.gitignore` files or a custom `.quickshotignore` file.
- Can `download/upload` Shopify Blogs, Pages and Products! Easily transfer them between stores! Even the metafields! And edit them locally in your favorite editor.

- Supports uploading to multiple Shopify stores and themes
- Easy to use configuration wizard
- Uploads/downloads in parallel greatly reducing transfer times
- Supports autocompiling scss locally before uploading to Shopify
- Supports autocompiling Babel/ES6 into modules which are easily used by Requirejs and others
- Can use with `.gitignore` files or a custom `.quickshotignore` file.
- Can `download/upload` Shopify Blogs, Pages and Products! Easily transfer them between stores! Even the metafields! And edit them locally in your favorite editor.

{"_id":"5755b81cdd2f821900ff38af","category":"5755b81cdd2f821900ff38a6","project":"57508d2051b4bb2b00178675","title":"Configuration","updates":[],"excerpt":"","link_url":"","hidden":false,"isReference":false,"order":3,"parentDoc":null,"__v":2,"api":{"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","auth":"required","params":[]},"body":"### Run the configuration wizard\n\nCreate a new empty project directory.\n\nThen run `quickshot configure`\n[block:callout]\n{\n \"type\": \"info\",\n \"body\": \"`qs` is an alias for `quickshot`. So the `configure` command can be written as `qs configure`\",\n \"sidebar\": true\n}\n[/block]\nThe configuration wizard will guide you through creating your `quickshot.json` file.\nYou do not need to make or edit this file by hand.\n[block:callout]\n{\n \"type\": \"info\",\n \"body\": \"The configuration wizard can be run multiple times, so anytime you want to change your config file, just run it again!\",\n \"title\": \"Reconfiguring?\",\n \"sidebar\": true\n}\n[/block]","githubsync":"","sync_unique":"","type":"basic","user":"5593026aa873863b00114a03","version":"5755b81cdd2f821900ff38a5","createdAt":"2016-06-02T19:54:46.418Z","link_external":false,"slug":"configuration","childrenPages":[]}

Configuration

### Run the configuration wizard
Create a new empty project directory.
Then run `quickshot configure`
[block:callout]
{
"type": "info",
"body": "`qs` is an alias for `quickshot`. So the `configure` command can be written as `qs configure`",
"sidebar": true
}
[/block]
The configuration wizard will guide you through creating your `quickshot.json` file.
You do not need to make or edit this file by hand.
[block:callout]
{
"type": "info",
"body": "The configuration wizard can be run multiple times, so anytime you want to change your config file, just run it again!",
"title": "Reconfiguring?",
"sidebar": true
}
[/block]

### Run the configuration wizard
Create a new empty project directory.
Then run `quickshot configure`
[block:callout]
{
"type": "info",
"body": "`qs` is an alias for `quickshot`. So the `configure` command can be written as `qs configure`",
"sidebar": true
}
[/block]
The configuration wizard will guide you through creating your `quickshot.json` file.
You do not need to make or edit this file by hand.
[block:callout]
{
"type": "info",
"body": "The configuration wizard can be run multiple times, so anytime you want to change your config file, just run it again!",
"title": "Reconfiguring?",
"sidebar": true
}
[/block]

{"_id":"5755b81cdd2f821900ff38b2","order":4,"body":"[block:code]\n{\n \"codes\": [\n {\n \"code\": \"qs configure\\n\\n? Main Menu (Use arrow keys)\\n❯ Configure targets \\n Configure scss \\n Configure babel \\n Configure ignore file \\n Configure concurrency \\n Save configuration and exit\",\n \"language\": \"text\"\n }\n ],\n \"sidebar\": true\n}\n[/block]\nTargets 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.\n\nTargets have a `name`, `shop`, and `theme`.\n\n#### This is very powerful as you can direct Shopify information wherever you wish.\n\nFor example, you could download all the products from your live store, and then upload them to your development shop in just 2 commands.","excerpt":"","user":"5593026aa873863b00114a03","version":"5755b81cdd2f821900ff38a5","link_external":false,"link_url":"","hidden":false,"parentDoc":null,"updates":[],"sync_unique":"","type":"basic","__v":0,"category":"5755b81cdd2f821900ff38a7","githubsync":"","api":{"results":{"codes":[{"status":200,"name":"","code":"{}","language":"json"},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","auth":"required","params":[],"url":""},"slug":"targets","project":"57508d2051b4bb2b00178675","createdAt":"2016-06-02T20:07:41.422Z","isReference":false,"title":"Targets Configuration","childrenPages":[]}

Targets Configuration

[block:code]
{
"codes": [
{
"code": "qs configure\n\n? Main Menu (Use arrow keys)\n❯ Configure targets \n Configure scss \n Configure babel \n Configure ignore file \n Configure concurrency \n Save configuration and exit",
"language": "text"
}
],
"sidebar": true
}
[/block]
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 products from your live store, and then upload them to your development shop in just 2 commands.

[block:code]
{
"codes": [
{
"code": "qs configure\n\n? Main Menu (Use arrow keys)\n❯ Configure targets \n Configure scss \n Configure babel \n Configure ignore file \n Configure concurrency \n Save configuration and exit",
"language": "text"
}
],
"sidebar": true
}
[/block]
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 products from your live store, and then upload them to your development shop in just 2 commands.

{"_id":"5755b81cdd2f821900ff38b3","parentDoc":null,"version":"5755b81cdd2f821900ff38a5","link_external":false,"hidden":false,"excerpt":"","type":"basic","user":"5593026aa873863b00114a03","sync_unique":"","body":"[block:code]\n{\n \"codes\": [\n {\n \"code\": \"? Main Menu Configure targets\\n? Manage targets (Use arrow keys)\\n❯ Create target \\n Edit target \\n Delete target \\n List targets \\n Done managing targets\",\n \"language\": \"text\"\n }\n ],\n \"sidebar\": true\n}\n[/block]\nRun `qs configure`\n\nGo to `Configure targets` > `Create target`\n\nYou will then be asked for all of the following information.\n\n- Target Name - Staging, Development or whatever you wish\n- API Key - Copied from the Private Apps Settings page in Shopify\n- Password - Copied from the Private Apps Settings page in Shopify\n- Store URL - URL to the Shopify store you want to connect to (quickshot only needs the subdomain)\n- Theme - Quickshot will display all the available themes from your shop, use your arrow keys to select which one you want to connect to\n[block:callout]\n{\n \"type\": \"info\",\n \"body\": \"If you’re wondering what those are, go to `your-store.myshopify.com/admin/apps/private` in your web browser. Click on “Create private app” to generate the credentials for a new app. Quickshot, will need the API Key and Password of this newly generated app.\",\n \"title\": \"Private Apps Settings?\",\n \"sidebar\": true\n}\n[/block]\nAfter 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 `Done managing targets` to continue.","category":"5755b81cdd2f821900ff38a7","createdAt":"2016-06-02T20:09:45.576Z","link_url":"","api":{"settings":"","auth":"required","params":[],"url":"","results":{"codes":[{"language":"json","status":200,"name":"","code":"{}"},{"status":400,"name":"","code":"{}","language":"json"}]}},"slug":"create-targets","__v":0,"project":"57508d2051b4bb2b00178675","updates":[],"githubsync":"","isReference":false,"order":5,"title":"Create Targets","childrenPages":[]}

Create Targets

[block:code]
{
"codes": [
{
"code": "? Main Menu Configure targets\n? Manage targets (Use arrow keys)\n❯ Create target \n Edit target \n Delete target \n List targets \n Done managing targets",
"language": "text"
}
],
"sidebar": true
}
[/block]
Run `qs configure`
Go to `Configure targets` > `Create target`
You will then be asked for all of the following information.
- Target Name - Staging, Development or whatever you wish
- API Key - Copied from the Private Apps Settings page in Shopify
- Password - Copied from the Private Apps Settings page in Shopify
- Store URL - URL to the Shopify store you want to connect to (quickshot only needs the subdomain)
- Theme - Quickshot will display all the available themes from your shop, use your arrow keys to select which one you want to connect to
[block:callout]
{
"type": "info",
"body": "If you’re wondering what those are, go to `your-store.myshopify.com/admin/apps/private` in your web browser. Click on “Create private app” to generate the credentials for a new app. Quickshot, will need the API Key and Password of this newly generated app.",
"title": "Private Apps Settings?",
"sidebar": true
}
[/block]
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 `Done managing targets` to continue.

[block:code]
{
"codes": [
{
"code": "? Main Menu Configure targets\n? Manage targets (Use arrow keys)\n❯ Create target \n Edit target \n Delete target \n List targets \n Done managing targets",
"language": "text"
}
],
"sidebar": true
}
[/block]
Run `qs configure`
Go to `Configure targets` > `Create target`
You will then be asked for all of the following information.
- Target Name - Staging, Development or whatever you wish
- API Key - Copied from the Private Apps Settings page in Shopify
- Password - Copied from the Private Apps Settings page in Shopify
- Store URL - URL to the Shopify store you want to connect to (quickshot only needs the subdomain)
- Theme - Quickshot will display all the available themes from your shop, use your arrow keys to select which one you want to connect to
[block:callout]
{
"type": "info",
"body": "If you’re wondering what those are, go to `your-store.myshopify.com/admin/apps/private` in your web browser. Click on “Create private app” to generate the credentials for a new app. Quickshot, will need the API Key and Password of this newly generated app.",
"title": "Private Apps Settings?",
"sidebar": true
}
[/block]
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 `Done managing targets` to continue.

{"_id":"5755b81cdd2f821900ff38b4","slug":"editing-targets","parentDoc":null,"user":"5593026aa873863b00114a03","version":"5755b81cdd2f821900ff38a5","githubsync":"","isReference":false,"project":"57508d2051b4bb2b00178675","updates":[],"createdAt":"2016-06-02T20:22:53.821Z","link_external":false,"body":"[block:code]\n{\n \"codes\": [\n {\n \"code\": \"? Main Menu Configure targets\\n? Manage targets \\n Create target \\n❯ Edit target \\n Delete target \\n List targets \\n Done managing targets\",\n \"language\": \"text\"\n }\n ],\n \"sidebar\": true\n}\n[/block]\nRun `qs configure`\n\nGo to `Configure targets` > `Edit target`\n\nYou 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.\n\n- Target Name - Staging, Development or whatever you wish\n- API Key - Copied from the Private Apps Settings page in Shopify\n- Password - Copied from the Private Apps Settings page in Shopify\n- Store URL - URL to the Shopify store you want to connect to (quickshot only needs the subdomain)\n- Theme - Quickshot will display all the available themes from your shop, use your arrow keys to select which one you want to connect to","excerpt":"","link_url":"","sync_unique":"","hidden":false,"api":{"params":[],"url":"","results":{"codes":[{"language":"json","status":200,"name":"","code":"{}"},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","auth":"required"},"category":"5755b81cdd2f821900ff38a7","order":6,"type":"basic","title":"Edit Targets","__v":0,"childrenPages":[]}

Edit Targets

[block:code]
{
"codes": [
{
"code": "? Main Menu Configure targets\n? Manage targets \n Create target \n❯ Edit target \n Delete target \n List targets \n Done managing targets",
"language": "text"
}
],
"sidebar": true
}
[/block]
Run `qs configure`
Go to `Configure 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
- API Key - Copied from the Private Apps Settings page in Shopify
- Password - Copied from the Private Apps Settings page in Shopify
- Store URL - URL to the Shopify store you want to connect to (quickshot only needs the subdomain)
- Theme - Quickshot will display all the available themes from your shop, use your arrow keys to select which one you want to connect to

{"_id":"5755b81cdd2f821900ff38c1","link_url":"","hidden":false,"isReference":false,"title":"Ignore File Configuration","parentDoc":null,"updates":[],"createdAt":"2016-06-02T20:58:26.614Z","category":"5755b81cdd2f821900ff38aa","version":"5755b81cdd2f821900ff38a5","__v":0,"project":"57508d2051b4bb2b00178675","excerpt":"","githubsync":"","sync_unique":"","api":{"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","auth":"required","params":[],"url":""},"order":12,"body":"[block:code]\n{\n \"codes\": [\n {\n \"code\": \"qs configure\\n\\n? Main Menu \\n Configure targets \\n Configure scss \\n Configure babel \\n❯ Configure ignore file \\n Configure concurrency \\n Save configuration and exit\",\n \"language\": \"text\"\n }\n ],\n \"sidebar\": true\n}\n[/block]\nIgnore files allow you to prevent Quickshot from uploading certain files to Shopify.\n\nRun `qs configure`\n\nGo to `Configure ignore file`\n\nYou will then be asked what file you prefer quickshot use as the ignore file.\n\nYou have two options for ignoring files in quickshot.\nYou can use a '.gitignore' file which allows you to have all your ignores in one place.\nOr you can use a '.quickshotignore'. Which allows git and quickshot to ignore different files.\n\nSelect which file you prefer and press enter.","slug":"ignore-files-configuration","user":"5593026aa873863b00114a03","link_external":false,"type":"basic","childrenPages":[]}

Ignore File Configuration

[block:code]
{
"codes": [
{
"code": "qs configure\n\n? Main Menu \n Configure targets \n Configure scss \n Configure babel \n❯ Configure ignore file \n Configure concurrency \n Save configuration and exit",
"language": "text"
}
],
"sidebar": true
}
[/block]
Ignore files allow you to prevent Quickshot from uploading certain files to Shopify.
Run `qs configure`
Go to `Configure ignore file`
You will then be asked what file you prefer quickshot use as the ignore file.
You have two options for ignoring files in quickshot.
You can use a '.gitignore' file which allows you to have all your ignores in one place.
Or you can use a '.quickshotignore'. Which allows git and quickshot to ignore different files.
Select which file you prefer and press enter.

[block:code]
{
"codes": [
{
"code": "qs configure\n\n? Main Menu \n Configure targets \n Configure scss \n Configure babel \n❯ Configure ignore file \n Configure concurrency \n Save configuration and exit",
"language": "text"
}
],
"sidebar": true
}
[/block]
Ignore files allow you to prevent Quickshot from uploading certain files to Shopify.
Run `qs configure`
Go to `Configure ignore file`
You will then be asked what file you prefer quickshot use as the ignore file.
You have two options for ignoring files in quickshot.
You can use a '.gitignore' file which allows you to have all your ignores in one place.
Or you can use a '.quickshotignore'. Which allows git and quickshot to ignore different files.
Select which file you prefer and press enter.

{"_id":"5755b81cdd2f821900ff38c2","slug":"ignore-file-usage","type":"basic","__v":0,"project":"57508d2051b4bb2b00178675","link_external":false,"githubsync":"","order":13,"parentDoc":null,"version":"5755b81cdd2f821900ff38a5","isReference":false,"title":"Ignore File Usage","api":{"results":{"codes":[{"language":"json","status":200,"name":"","code":"{}"},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","auth":"required","params":[],"url":""},"body":"Both `.gitignore` and `.quickshotignore` use gitignore syntax\n\nFor gitignore syntax see the [Gitignore Docs](https://git-scm.com/docs/gitignore)\n[block:callout]\n{\n \"type\": \"danger\",\n \"body\": \"You may want to ignore files such as `settings_data.json` which contain data that could have been edited via Shopify’s web admin panel that you don’t want to overwrite using commands like `qs theme watch` (especially when working in multiple stores).\",\n \"sidebar\": true\n}\n[/block]","excerpt":"","category":"5755b81cdd2f821900ff38aa","createdAt":"2016-06-02T21:01:21.367Z","link_url":"","hidden":false,"user":"5593026aa873863b00114a03","updates":[],"sync_unique":"","childrenPages":[]}

Ignore File Usage

Both `.gitignore` and `.quickshotignore` use gitignore syntax
For gitignore syntax see the [Gitignore Docs](https://git-scm.com/docs/gitignore)
[block:callout]
{
"type": "danger",
"body": "You may want to ignore files such as `settings_data.json` which contain data that could have been edited via Shopify’s web admin panel that you don’t want to overwrite using commands like `qs theme watch` (especially when working in multiple stores).",
"sidebar": true
}
[/block]

Both `.gitignore` and `.quickshotignore` use gitignore syntax
For gitignore syntax see the [Gitignore Docs](https://git-scm.com/docs/gitignore)
[block:callout]
{
"type": "danger",
"body": "You may want to ignore files such as `settings_data.json` which contain data that could have been edited via Shopify’s web admin panel that you don’t want to overwrite using commands like `qs theme watch` (especially when working in multiple stores).",
"sidebar": true
}
[/block]