51 lines
2.0 KiB
Ruby
51 lines
2.0 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Jekyll
|
||
|
module Deprecator
|
||
|
extend self
|
||
|
|
||
|
def process(args)
|
||
|
arg_is_present? args, "--server", "The --server command has been replaced by the \
|
||
|
'serve' subcommand."
|
||
|
arg_is_present? args, "--serve", "The --serve command has been replaced by the \
|
||
|
'serve' subcommand."
|
||
|
arg_is_present? args, "--no-server", "To build Jekyll without launching a server, \
|
||
|
use the 'build' subcommand."
|
||
|
arg_is_present? args, "--auto", "The switch '--auto' has been replaced with \
|
||
|
'--watch'."
|
||
|
arg_is_present? args, "--no-auto", "To disable auto-replication, simply leave off \
|
||
|
the '--watch' switch."
|
||
|
arg_is_present? args, "--pygments", "The 'pygments'settings has been removed in \
|
||
|
favour of 'highlighter'."
|
||
|
arg_is_present? args, "--paginate", "The 'paginate' setting can only be set in \
|
||
|
your config files."
|
||
|
arg_is_present? args, "--url", "The 'url' setting can only be set in your \
|
||
|
config files."
|
||
|
no_subcommand(args)
|
||
|
end
|
||
|
|
||
|
def no_subcommand(args)
|
||
|
unless args.empty? ||
|
||
|
args.first !~ %r(!/^--/!) || %w(--help --version).include?(args.first)
|
||
|
deprecation_message "Jekyll now uses subcommands instead of just switches. \
|
||
|
Run `jekyll help` to find out more."
|
||
|
abort
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def arg_is_present?(args, deprecated_argument, message)
|
||
|
deprecation_message(message) if args.include?(deprecated_argument)
|
||
|
end
|
||
|
|
||
|
def deprecation_message(message)
|
||
|
Jekyll.logger.warn "Deprecation:", message
|
||
|
end
|
||
|
|
||
|
def defaults_deprecate_type(old, current)
|
||
|
Jekyll.logger.warn "Defaults:", "The '#{old}' type has become '#{current}'."
|
||
|
Jekyll.logger.warn "Defaults:", "Please update your front-matter defaults to use \
|
||
|
'type: #{current}'."
|
||
|
end
|
||
|
end
|
||
|
end
|