theme-juice 0.7.3 → 0.7.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -14
- data/lib/theme-juice/cli.rb +1 -1
- data/lib/theme-juice/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e089d5f19266fc3bd0c576b07f1c54756ad93ab5
|
4
|
+
data.tar.gz: f85b3657237ae422fd2d096f37ce32ae7d67a7a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5f3c4160b2f13f28fc09eb24c0e66f4e37d664eaf25e3657c204e28553a599b62de9273bdaaee06f339f2b40b231bc55c7fbb0478c205224392adf687be45cc
|
7
|
+
data.tar.gz: aaaddf7a1b04b566817033a21604429b1f2c663ddcd4129e7934749e68d8687c0aceb703e790f2cf7515ed75af3b793d6f083adc87dfe8928e607c30d9b1aefa
|
data/README.md
CHANGED
@@ -8,7 +8,9 @@ What is it? Theme Juice is a WordPress development command line utility that all
|
|
8
8
|
That`s it!
|
9
9
|
|
10
10
|
## Windows users
|
11
|
-
Since Windows doesn't support UTF-8 characters inside of the terminal, and is picky about colors, you'll have to run `tj` with a couple flags. What has worked for me on my Windows machine at home is to run all commands through [git-scm](http://git-scm.com/downloads) with the `--boring --no-landrush` flags.
|
11
|
+
Since Windows doesn't support UTF-8 characters inside of the terminal, and is picky about colors, you'll have to run `tj` with a couple flags. What has worked for me on my Windows machine at home is to run all commands through [git-scm](http://git-scm.com/downloads) with the `--boring --no-landrush` flags.
|
12
|
+
|
13
|
+
This disables all unicode characters and colors from being output, and disables [Landrush](https://github.com/phinze/landrush), which isn't supported fully on Windows. To set these globally via the `ENV`, run:
|
12
14
|
|
13
15
|
```bash
|
14
16
|
export TJ_BORING=true
|
@@ -17,7 +19,7 @@ export TJ_NO_LANDRUSH=true
|
|
17
19
|
|
18
20
|
In addition to that, `tj` uses the [OS gem](https://github.com/rdp/os) to sniff out your OS and adjusts a few things accordingly. Windows users won't see any fancy select menus or anything like that to avoid crashing (since Windows doesn't support `stty`, which is what is used).
|
19
21
|
|
20
|
-
|
22
|
+
_I don't regularly develop on Windows, so if you encounter any bugs, please let me know through a **well-documented** issue and I'll try my best to get it resolved._
|
21
23
|
|
22
24
|
## Config
|
23
25
|
Because everybody likes to use different tools, you can create a `Juicefile` or `tj.yaml` config (with an optional preceding `.`) that will house all of your theme-specific commands. This allows you to use a streamlined set of commands that will act as aliases to your per-project configuration, as well as starter-theme specific information, such as deployment configuration, etc. For right now, we'll just stick to the `commands` section.
|
@@ -29,18 +31,20 @@ commands:
|
|
29
31
|
install:
|
30
32
|
- composer install
|
31
33
|
watch:
|
32
|
-
- grunt
|
34
|
+
- grunt %args%
|
33
35
|
vendor:
|
34
|
-
- composer
|
36
|
+
- composer %args%
|
35
37
|
wp:
|
36
|
-
- wp ssh --host=vagrant
|
38
|
+
- wp ssh --host=vagrant %args%
|
37
39
|
backup:
|
38
40
|
- wp ssh --host=vagrant db export backup/$(date +'%Y-%m-%d-%H-%M-%S').sql
|
39
41
|
dist:
|
40
42
|
- tar -zcvf dist.tar.gz .
|
41
43
|
```
|
42
44
|
|
43
|
-
Each
|
45
|
+
Each list of commands is run within a single execution, with all `%args%`/`%argN%` being replaced by the passed command; i.e. `cmd1 %args% && cmd2 %arg1% %arg2% %arg3% && echo "%arg4%"`.
|
46
|
+
|
47
|
+
You can specify an unlimited number of commands with an unlimited number of arguments; however, should be careful with how this is used. Don't do something like including `sudo rm -rf %arg1%` in a command, and then passing `/` as an argument. Keep it simple. These are meant to make your life easier by managing build tools, not to do fancy scripting.
|
44
48
|
|
45
49
|
## Usage
|
46
50
|
|
@@ -73,7 +77,7 @@ tj --version # Aliases: -v version
|
|
73
77
|
|
74
78
|
_Use `ENV` variables to set global flags. For example, by running `export TJ_VM_PATH=~/vagrant-vvv`, the `ENV` variable will be used instead of the default `vm-path` from then on. You can remove global flags with `unset TJ_VM_PATH`_
|
75
79
|
|
76
|
-
### Creating a new development
|
80
|
+
### Creating a new development project:
|
77
81
|
Use this to create a new project. It will automagically set up your VM, including a local development site at `http://<url>.dev` with WordPress installed and a fresh WP database. It will sync up your local site installation with the Vagrant VM, so you can organize your projects however you want. This task will also install VVV into your `vm-path` directory if it has not already been installed.
|
78
82
|
```bash
|
79
83
|
tj create # Aliases: mk make new add
|
@@ -95,8 +99,8 @@ tj create # Aliases: mk make new add
|
|
95
99
|
| `[--no-wp]` | Bool | New project is not a WordPress install |
|
96
100
|
| `[--no-db]` | Bool | New project does not need a database |
|
97
101
|
|
98
|
-
### Setting up an existing
|
99
|
-
Use this to setup an existing local
|
102
|
+
### Setting up an existing project:
|
103
|
+
Use this to setup an existing local project within the development environment. You will go through the setup process to create the necessary files for the VM, including `vvv-hosts`, `vvv-nginx.conf`, DNS settings, and a fresh database (unless one already exists by the name chosen). This is essentially an alias for `create`, but with a few options being skipped.
|
100
104
|
```bash
|
101
105
|
tj setup # Aliases: up prep init
|
102
106
|
```
|
@@ -115,8 +119,8 @@ tj setup # Aliases: up prep init
|
|
115
119
|
| `[--no-wp]` | Bool | New project is not a WordPress install |
|
116
120
|
| `[--no-db]` | Bool | New project does not need a database |
|
117
121
|
|
118
|
-
### Deleting a
|
119
|
-
Use this to remove a
|
122
|
+
### Deleting a project from the VM:
|
123
|
+
Use this to remove a project from your development environment. This will only remove files that were generated by `tj`. including the database setup, development url, and shared directories. _It will not touch your local folders that were synced to the VM._
|
120
124
|
```bash
|
121
125
|
tj delete # Aliases: rm remove trash teardown
|
122
126
|
```
|
@@ -124,7 +128,7 @@ tj delete # Aliases: rm remove trash teardown
|
|
124
128
|
#### Option flags:
|
125
129
|
| Flag | Type | Description |
|
126
130
|
|:------------------- |:------ |:------------------------------- |
|
127
|
-
| `[-n, --name=NAME]` | String | Name of the
|
131
|
+
| `[-n, --name=NAME]` | String | Name of the project |
|
128
132
|
| `[-u, --url=URL]` | URL | Development URL for the project |
|
129
133
|
| `[--db-drop]` | Bool | Drop project's database |
|
130
134
|
| `[--vm-restart]` | Bool | Restart VM after deletion |
|
@@ -147,6 +151,12 @@ Use this to easily manage your [Varying Vagrant Vagrants](https://github.com/Var
|
|
147
151
|
tj vm # Aliases: vagrant vvv
|
148
152
|
```
|
149
153
|
|
154
|
+
### Running installation for project:
|
155
|
+
Uses `install` command within your config.
|
156
|
+
```bash
|
157
|
+
tj install
|
158
|
+
```
|
159
|
+
|
150
160
|
### Watching and compiling assets:
|
151
161
|
Use this to watch and compile assets with your preferred build tool, whether that be [Grunt](https://github.com/gruntjs/grunt), [Gulp](https://github.com/gulpjs/gulp), [Guard](https://github.com/guard/guard), or whatever. This is simply a wrapper for whatever command is in your config file.
|
152
162
|
```bash
|
@@ -159,7 +169,7 @@ Use this to easily manage your dependencies with [Composer](https://github.com/c
|
|
159
169
|
tj vendor # Aliases: dependencies deps
|
160
170
|
```
|
161
171
|
|
162
|
-
###
|
172
|
+
### Locally executing WP-CLI inside your VM:
|
163
173
|
Upon setup, an `ssh` block for the VM is automatically added to the `wp-cli.local.yml` file with all of your VM paths. In our starter theme, we use [wp-cli-ssh](https://github.com/xwp/wp-cli-ssh) to run `wp` commands locally.
|
164
174
|
In order to do the same, it needs to be a dependency in your `composer.json`.
|
165
175
|
```bash
|
@@ -179,7 +189,7 @@ tj dist # Aliases: distrubute pack package
|
|
179
189
|
```
|
180
190
|
|
181
191
|
### Running your test suite:
|
182
|
-
Uses `
|
192
|
+
Uses `test` command within your config.
|
183
193
|
```bash
|
184
194
|
tj test # Aliases: tests spec specs
|
185
195
|
```
|
data/lib/theme-juice/cli.rb
CHANGED
@@ -144,7 +144,7 @@ module ThemeJuice
|
|
144
144
|
end
|
145
145
|
|
146
146
|
desc "delete", "Delete project (does not delete local project)"
|
147
|
-
method_option :name, :type => :string, :aliases => "-n", :default => nil, :desc => "Name of the
|
147
|
+
method_option :name, :type => :string, :aliases => "-n", :default => nil, :desc => "Name of the project"
|
148
148
|
method_option :url, :type => :string, :aliases => "-u", :default => nil, :desc => "Development URL for the project"
|
149
149
|
method_option :db_drop, :type => :boolean, :aliases => "--drop-db", :desc => "Drop project's database"
|
150
150
|
method_option :vm_restart, :type => :boolean, :aliases => "--restart-vm", :desc => "Restart VM after deletion"
|
data/lib/theme-juice/version.rb
CHANGED