summaryrefslogtreecommitdiff
path: root/plugins/nanoc
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/nanoc')
-rw-r--r--plugins/nanoc/README.md19
-rw-r--r--plugins/nanoc/_nanoc68
-rw-r--r--plugins/nanoc/nanoc.plugin.zsh7
3 files changed, 68 insertions, 26 deletions
diff --git a/plugins/nanoc/README.md b/plugins/nanoc/README.md
index 9e21805f4..d5d437d8a 100644
--- a/plugins/nanoc/README.md
+++ b/plugins/nanoc/README.md
@@ -10,14 +10,11 @@ plugins=(... nanoc)
## Aliases
-| Alias | Command | Description |
-|-------|-----------------------|----------------------------------------------------|
-| n | `nanoc` | Main Nanoc command |
-| na | `nanoc autocompile` | The autocompile command has been deprecated since Nanoc 3.6. Use [guard-nanoc](https://github.com/nanoc/nanoc/tree/master/guard-nanoc) instead. |
-| nco | `nanoc compile` | Compile all items of the current site. |
-| nci | `nanoc create_item` | Command was deprecated in Nanoc v.3 and completely removed in v.4 |
-| ncl | `nanoc create_layout` | Command was deprecated in Nanoc v.3 and completely removed in v.4 |
-| ncs | `nanoc create_site` | Create a new site at the given path. The site will use the filesystem data source. |
-| nd | `nanoc deploy` | Deploys the compiled site. The compiled site contents in the output directory will be uploaded to the destination, which is specified using the --target option. |
-| nv | `nanoc view` | Start the static web server. Unless specified, the web server will run on port 3000 and listen on all IP addresses. |
-| nw | `nanoc watch` | The watch command has been deprecated since Nanoc 3.6. Use [guard-nanoc](https://github.com/nanoc/nanoc/tree/master/guard-nanoc) instead. | \ No newline at end of file
+| Alias | Command | Description |
+|-------|-----------------------|-----------------------------------------------------------------------------------|
+| n | `nanoc` | Main Nanoc command |
+| nco | `nanoc compile` | Compile all items of the current site |
+| ncs | `nanoc create-site` | Create a new site at the given path. The site will use the filesystem data source |
+| nd | `nanoc deploy` | Deploy the compiled site to the destination (specified with `--target`) |
+| np | `nanoc prune` | Remove files not managed by Nanoc from the output directory |
+| nv | `nanoc view` | Start the static web server (on port 3000 and all IP addresses, unless specified) |
diff --git a/plugins/nanoc/_nanoc b/plugins/nanoc/_nanoc
index fde07c3fc..a6a4792ad 100644
--- a/plugins/nanoc/_nanoc
+++ b/plugins/nanoc/_nanoc
@@ -1,28 +1,21 @@
#compdef nanoc
#autoload
-# nanoc zsh completion - based on the homebrew zsh completion
# requires the 'nanoc' gem to be installed
local -a _1st_arguments
_1st_arguments=(
- 'autocompile:start the autocompiler'
+ 'check:run issue checks'
'compile:compile items of this site'
- 'create-item:create an item'
- 'create-layout:create a layout'
'create-site:create a site'
'deploy:deploy the compiled site'
'help:show help'
'prune:remove files not managed by nanoc from the output directory'
+ 'shell:open a shell on the Nanoc environment'
'show-data:show data in this site'
'show-plugins:show all available plugins'
'show-rules:describe the rules for each item'
- 'update:update the data stored by the data source to a newer version'
- 'validate-css:validate the site’s CSS'
- 'validate-html:validate the site’s HTML'
- 'validate-links:validate links in site'
'view:start the web server that serves static files'
- 'watch:start the watcher'
)
local expl
@@ -31,13 +24,68 @@ local -a pkgs installed_pkgs
_arguments \
'(--color)--color[enable color]' \
'(--debug)--debug[enable debugging]' \
+ '(--env)--env[set environment]' \
'(--help)--help[show the help message and quit]' \
'(--no-color)--no-color[disable color]' \
- '(--verbose)--verbose[make nanoc output more detailed]' \
+ '(--verbose)--verbose[make output more detailed]' \
'(--version)--version[show version information and quit]' \
'(--warn)--warn[enable warnings]' \
'*:: :->subcmds' && return 0
+case "$state" in
+ subcmds)
+ case $words[1] in
+ check)
+ _arguments \
+ '(--preprocess)--preprocess[run preprocessor]'
+ ;;
+
+ compile)
+ _arguments \
+ '(--diff)--diff[generate diff]'
+ ;;
+
+ compile)
+ _arguments \
+ '(--diff)--diff[generate diff]'
+ ;;
+
+ create-site)
+ _arguments \
+ '(--force)--force[force creation of new site]'
+ ;;
+
+ deploy)
+ _arguments \
+ '(--target)--target[specify the location to deploy to (default: `default`)]' \
+ '(--no-check)--no-check[do not run the issue checks marked for deployment]' \
+ '(--list)--list[list available locations to deploy to]' \
+ '(--list-deployers)--list-deployers[list available deployers]' \
+ '(--dry-run)--dry-run[show what would be deployed]'
+ ;;
+
+ prune)
+ _arguments \
+ '(--yes)--yes[confirm deletion]' \
+ '(--dry-run)--dry-run[print files to be deleted instead of actually deleting them]'
+ ;;
+
+ shell)
+ _arguments \
+ '(--preprocess)--preprocess[run preprocessor]'
+ ;;
+
+ view)
+ _arguments \
+ '(--handler)--handler[specify the handler to use (webrick/mongrel/...)]' \
+ '(--host)--host[specify the host to listen on (default: 127.0.0.1)]' \
+ '(--port)--port[specify the port to listen on (default: 3000]' \
+ '(--live-reload)--live-reload[reload on changes]'
+ ;;
+ esac
+ ;;
+esac
+
if (( CURRENT == 1 )); then
_describe -t commands "nanoc subcommand" _1st_arguments
return
diff --git a/plugins/nanoc/nanoc.plugin.zsh b/plugins/nanoc/nanoc.plugin.zsh
index 5a5064613..05272ed66 100644
--- a/plugins/nanoc/nanoc.plugin.zsh
+++ b/plugins/nanoc/nanoc.plugin.zsh
@@ -1,9 +1,6 @@
alias n='nanoc'
-alias na='nanoc autocompile'
alias nco='nanoc compile'
-alias nci='nanoc create_item'
-alias ncl='nanoc create_layout'
-alias ncs='nanoc create_site'
+alias ncs='nanoc create-site'
alias nd='nanoc deploy'
+alias np='nanoc prune'
alias nv='nanoc view'
-alias nw='nanoc watch'