• Stars
    star
    136
  • Rank 262,168 (Top 6 %)
  • Language
    PHP
  • Created almost 14 years ago
  • Updated over 8 years ago

Reviews

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

Repository Details

A bundle for interacting with Shopify Theme Assets.

Shopify Textmate Bundle (now compatible with e-texteditor)

Available Commands:

  • Download Theme : Will download the entire theme from Shopify. Useful when you just getting started to download the whole Theme, or if you are working with other, to refresh your copy.
  • Send Asset to Shopify ( ⌘U ) : Will save the document you are working on, and upload to shopify. Used for text assets.
  • Send Selected Files to Shopify ( ⌘-SHIFT-U ) : Will upload any files you have selected in the Project Panel to Shopify. This is what you want to use to upload a bunch of files at once.
  • Get Rendered CSS file from .css.liquid : Will download the rendered .css file from the .css.liquid file. See this forum post for more info about the issue.
  • Update Current File From Shopify : Will replace the contents of the file you are working on with the file from Shopify.
  • Update Selected Files from Shopify : Will fetch the files you have selected in the Project Window from Shopify.
  • Remove Selected Assets From Shopify : Will remove the selected assets from Shopify server. Certain .liquid files cannot be removed (index, theme, page, product, blog, collection)
    I didn't assign a shortcut to avoid accidents, but CTRL-SHIFT-R is a good one if you need one.
  • Pages: Download All Downloads all pages to a folder called Pages.
  • Pages: Upload Current Upload the current Page.html you are working on ( ⌘U )
  • Pages: Preview Current Previews the current page. Requires you have the Liquid gem installed.
    (Experimental! :D) Not quite perfect yet, but it's working. Have a go at it.
  • Open Store Admin In Default Browser (Textmate only) Exactly what it says.
  • Wiki: Liquid (TM Only) Opens the Shopify Liquid wiki page.
  • Switch Shop (TM Only) Switch which shop project is pointing at. You need to be using the new config file for this functionality.
  • New Config (TM Only) Creates the new config file for you in your project directory.
  • Edit Config (TM Only) Edit your config file .

(For windows usage, please see the windows readme)

Usage

For great instructions, with screenshots and everything, see the excellent guide on the Shopify wiki.

The bundle now supports multiple shops, so you could have your config info for your Dev shop, and your Live shop, and easily switch between them.

  • Create a new folder in your OS where you'd like to store your project assets and other files
    • Create a new file inside of the folder.
    • Open that project folder in TextMate and open the new file, then go to Bundles > Shopify > Config > New Config. This will create the file .shopify-tmbundle in your folder. (You might not see it, since files beginning with . are hidden depending on your settings.)
    • Fill it in with your shop details.
    • You can edit your configs at any time using Shopify > Config > Edit Config
  • The Theme folder should be your Project Root. ie: drag your Theme folder onto Textmate.
  • Here's a short video of how to use Download Theme
  • Requires json_decode / json_encode functions. Built into php 5.2 + greater.

Tips

  • Get the Liquid bundle. It helps.
  • Really. Don't forget to set the required variables.
  • If you aren't using version control, you should. This bundle will not protect you from yourself.
  • Assign HotKeys to the various commands to suit your needs. To avoid unpleasant accidents, I only assigned a shortcut to the Send commands, since the other commands will generally need to be used less frequently.

Installation

The simplest way is to install it using the GetBundles bundle. This will allow you to always have the latest version. Its just a super useful bundle. I can't recommend it enough.

For a much better, visual guide, see the Shopify wiki.

Otherwise you can just download and install the bundle in a few easy steps.

If you don't, or can't, use GetBundles, you can always follow me (@meeech) on twitter - i'll announce updates there as well.

About

At work (Plank Design) we recently had a client who will be using Shopify. The workflow of Shopify for building themes (Copy/Paste into a textarea, upload assets via a form) was less this ideal, especially since Vision is currently not supporting any of the latest features. This solves that problem. Props to Shopify for having their API support GETting and PUTting of assets.

Feedback welcome.

Mitchell Amihod
July 19, 2010.

More Repositories

1

Menu-App

An example of how to make a Menu App of OSX using TideSDK
JavaScript
23
star
2

klocko

Shopify Theme from my test site. This is just somewhere to share modifications with others.
JavaScript
22
star
3

nirv

NirvanaHQ Gem - Command Line Tool + API lib
Ruby
22
star
4

Titanium-info.plist-module

A module to allow access to info.plist values at runtime.
Python
10
star
5

Titanium-Mixpanel-Module

Module to use Mixpanel iOS API with Titanium
Objective-C
8
star
6

json-component-cakephp-plugin

a cakephp plugin to handle serving back json on any ajax request
PHP
6
star
7

Shopify-Theme-Tool-Public

Public Issue Tracker & Wiki for Beta
6
star
8

github-shush

A simple gem mark all notices as read (or delete them)
Ruby
5
star
9

2.0.1.GA2-iOS-Classes

Just somewhere to shove my mods of Titanium SDK changes.
Objective-C
3
star
10

shopify_php_api

Shopify PHP API
PHP
3
star
11

videos

video serving/playing
PHP
2
star
12

yui-plugin

yui plugin for cakephp
2
star
13

Pail---Shovel

My CakePHP / Shopify base project/devtool
PHP
2
star
14

node-shopify-skeleton

My starter skeleton for shopify apps built on node.
JavaScript
2
star
15

Pivotal-Tracker-Toggle-Done-Stories

Chrome extension to Show/Hide Done Stories in Current column Pivotal Tracker
JavaScript
2
star
16

aba-flickr

small project to make html/css/js page to display flickr tags. using yui
JavaScript
2
star
17

meeech.github.com

JavaScript
1
star
18

mytestrepo

1
star
19

expozine

expozine project
PHP
1
star
20

tvtorrents-ext

My extension for tvtorrents.com site. use it to scratch itches.
JavaScript
1
star
21

netflixq

A chrome extension to add a netflixQ button to Netflix.ca, so I can keep a digital queue of movies to watch.
JavaScript
1
star
22

wdusa10-notes

Just a public place to put notes I took during Web Directions USA10
1
star
23

nodejs-play

was just a poorly named repo for sharing some stuff during the ampedweb day.
JavaScript
1
star
24

php-iqengines

PHP Client for IQ Engines API
PHP
1
star
25

zeeshell-config

my zsh setup.
Shell
1
star
26

GlaZoo

My project for Culture Hack Scotland 2012. Titanium app (iOS) using Glasgow Museums Zoology data mashed up with some wikipedia images.
JavaScript
1
star
27

.hammerspoon

My .hammerspoon dir. Contains some mods to spoons, etc...
Lua
1
star