Merge pull request #5464 from jekyll/allow-regular-windows-watchers

Merge pull request 5464
This commit is contained in:
jekyllbot 2016-11-10 15:05:41 -08:00 committed by GitHub
commit f8ec71af3b
2 changed files with 35 additions and 18 deletions

View File

@ -71,23 +71,27 @@ module Jekyll
# #
# Returns nothing. # Returns nothing.
def watch(site, options) def watch(site, options)
if Utils::Platforms.windows? # Warn Windows users that they might need to upgrade.
Jekyll.logger.warn "", "--watch arg is unsupported on Windows. " if Utils::Platforms.bash_on_windows?
Jekyll.logger.warn "", "If you are on Windows Bash, please see: " \ Jekyll.logger.warn "",
"https://github.com/Microsoft/BashOnWindows/issues/216" "Auto-regeneration may not work on some Windows versions."
Jekyll.logger.warn "",
"Please see: https://github.com/Microsoft/BashOnWindows/issues/216"
Jekyll.logger.warn "",
"If it does not work, please upgrade Bash on Windows or "\
"run Jekyll with --no-watch."
end
External.require_with_graceful_fail "jekyll-watch"
watch_method = Jekyll::Watcher.method(:watch)
if watch_method.parameters.size == 1
watch_method.call(
options
)
else else
External.require_with_graceful_fail "jekyll-watch" watch_method.call(
watch_method = Jekyll::Watcher.method(:watch) options, site
if watch_method.parameters.size == 1 )
watch_method.call(
options
)
else
watch_method.call(
options, site
)
end
end end
end end
end # end of class << self end # end of class << self

View File

@ -19,16 +19,29 @@ module Jekyll
# /proc/version returns nothing to us. # /proc/version returns nothing to us.
# -- # --
def really_windows? def vanilla_windows?
RbConfig::CONFIG["host_os"] =~ %r!mswin|mingw|cygwin!i && \ RbConfig::CONFIG["host_os"] =~ %r!mswin|mingw|cygwin!i && \
!proc_version !proc_version
end end
# --
# XXX: Remove in 4.0
# --
alias_method :really_windows?, \
:vanilla_windows?
#
def bash_on_windows?
RbConfig::CONFIG["host_os"] =~ %r!linux! && \
proc_version =~ %r!microsoft!i
end
# #
def windows? def windows?
RbConfig::CONFIG["host_os"] =~ %r!mswin|mingw|cygwin!i || \ vanilla_windows? || bash_on_windows?
proc_version =~ %r!microsoft!i
end end
# #