2013-08-07 04:13:27 +00:00
|
|
|
#compdef jekyll
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# Description
|
|
|
|
# -----------
|
|
|
|
#
|
|
|
|
# Completion script for jekyll(http://jekyllrb.com)
|
|
|
|
#
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# Authors
|
|
|
|
# -------
|
|
|
|
#
|
|
|
|
# * farseer90718 (https://github.com/farseer90718)
|
|
|
|
#
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
local ret=1 state
|
|
|
|
|
|
|
|
local -a common_ops
|
|
|
|
common_ops=(
|
|
|
|
{-v,--version}"[Display version information]"
|
|
|
|
{-h,--help}"[Display help documentation]"
|
|
|
|
{-p,--plugins}"[Plugins directory (defautls to ./_plugins)]: :_directories"
|
|
|
|
{-s,--source}"[Source directory (defaults to ./)]: :_directories"
|
|
|
|
{-d,--destination}"[Destination directory (defautls to ./_site)]: :_directories"
|
|
|
|
"--layouts=[Layouts directory (defaults to ./_layouts)]: :_directories"
|
|
|
|
"--safe=[Safe mode (defaults to false)]"
|
|
|
|
)
|
|
|
|
|
|
|
|
typeset -A opt_args
|
|
|
|
_arguments \
|
|
|
|
':subcommand:->subcommand' \
|
|
|
|
$common_ops \
|
|
|
|
'*::options:->options' && ret=0
|
|
|
|
|
|
|
|
case $state in
|
|
|
|
subcommand)
|
|
|
|
local -a subcommands
|
|
|
|
subcommands=(
|
|
|
|
"build:Build your site"
|
|
|
|
"docs:Launch local server with docs for jekyll"
|
|
|
|
"doctor:Search site and print specific deprecation warnings"
|
2015-06-08 07:05:14 +00:00
|
|
|
"help:Display global or [command] help documentation"
|
2013-08-07 04:13:27 +00:00
|
|
|
"import:Import your old blog to Jekyll"
|
|
|
|
"new:Creates a new Jekyll site scaffold in PATH"
|
2014-03-29 17:43:38 +00:00
|
|
|
"serve:Serve your site locally"
|
2013-08-07 04:13:27 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
_describe -t subcommands 'jekyll subcommand' subcommands && ret=0
|
|
|
|
;;
|
|
|
|
|
|
|
|
options)
|
|
|
|
local -a args
|
|
|
|
args=(
|
|
|
|
$common_ops
|
|
|
|
)
|
|
|
|
|
|
|
|
local -a config
|
|
|
|
config=(
|
2015-06-08 07:05:14 +00:00
|
|
|
"--config[Custom configuration file]: :_files"
|
2013-08-07 04:13:27 +00:00
|
|
|
)
|
|
|
|
local -a help
|
|
|
|
help=(
|
|
|
|
{-h,--help}"[Display help information]"
|
|
|
|
)
|
|
|
|
local -a build
|
|
|
|
build=(
|
|
|
|
{-w,--watch}"[Watch for changes and rebuild]"
|
|
|
|
"--limit_posts[Limits the number of posts to parse and publish]"
|
|
|
|
"--future[Publishes posts with a future date]"
|
|
|
|
"--lsi[Use LSI for improved related posts]"
|
|
|
|
"--drafts[Render posts in the _drafts folder]"
|
|
|
|
)
|
|
|
|
|
|
|
|
case $words[1] in
|
|
|
|
help)
|
|
|
|
args=()
|
|
|
|
compadd "$@" build docs doctor help import new serve
|
|
|
|
;;
|
|
|
|
|
|
|
|
build)
|
|
|
|
args+=(
|
|
|
|
$build
|
|
|
|
$config
|
|
|
|
)
|
|
|
|
;;
|
|
|
|
|
|
|
|
docs)
|
|
|
|
args=(
|
|
|
|
{-p,--port}"[Port to listen on]: :_ports"
|
|
|
|
{-u,--host}"[Host to bind to]: :_hosts"
|
|
|
|
$help
|
|
|
|
)
|
|
|
|
;;
|
|
|
|
|
|
|
|
doctor)
|
|
|
|
args+=(
|
|
|
|
$config
|
|
|
|
)
|
|
|
|
;;
|
|
|
|
|
|
|
|
import)
|
|
|
|
args=(
|
|
|
|
"--source[Source file or URL to migrate from]:url"
|
|
|
|
"--file[File to migrate from]: :_files"
|
|
|
|
"--dbname[Database name to migrate from]:database"
|
|
|
|
"--user[Username to use when migrating]:user"
|
|
|
|
"--pass[Password to use when migrating]:password"
|
|
|
|
"--host[Host address to use when migrating]:url"
|
|
|
|
$help
|
|
|
|
)
|
|
|
|
;;
|
|
|
|
|
|
|
|
new)
|
|
|
|
args=(
|
|
|
|
": :_directories"
|
|
|
|
"--force[Force creation even if PATH already exists]"
|
|
|
|
"--blank[Creates scaffolding but with empty files]"
|
|
|
|
$help
|
|
|
|
)
|
|
|
|
;;
|
|
|
|
|
|
|
|
serve)
|
|
|
|
args+=(
|
|
|
|
$build
|
|
|
|
$config
|
|
|
|
{-P,--port}"[Port to listen on]: :_posts"
|
|
|
|
{-H,--host}"[Host to bind to]: :_hosts"
|
|
|
|
{-b,--baseurl}"[Base URL]:url"
|
|
|
|
)
|
|
|
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
_arguments $args && ret=0
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
return ret
|
|
|
|
|
|
|
|
# Local Variables:
|
|
|
|
# mode: Shell-Script
|
|
|
|
# sh-indentation: 2
|
|
|
|
# indent-tabs-mode: nil
|
|
|
|
# sh-basic-offset: 2
|
|
|
|
# End:
|
|
|
|
# vim: ft=zsh sw=2 ts=2 et
|