Build: allow repeated rebuilding in Jekyll Preview mode
The events and contributor plugins both monkey patched the `site` object. This worked fine when they were loaded once per site build, but with Jekyll 3.0 automatic site rebuilding in preview and watch modes, this applied the monkey patch recursively, causing the program to halt. With this commit, the monkey patching should only occur once per run.
This commit is contained in:
parent
be6167d8fb
commit
b9e114efe8
@ -78,17 +78,19 @@ module Jekyll
|
||||
|
||||
def generate(site)
|
||||
# Set site.contributors global variables for liquid/jekyll
|
||||
class << site
|
||||
attr_accessor :corecontributors
|
||||
attr_accessor :sitecontributors
|
||||
alias contrib_site_payload site_payload
|
||||
def site_payload
|
||||
h = contrib_site_payload
|
||||
payload = h["site"]
|
||||
payload["corecontributors"] = self.corecontributors
|
||||
payload["sitecontributors"] = self.sitecontributors
|
||||
h["site"] = payload
|
||||
h
|
||||
if ! site.respond_to?('corecontributors')
|
||||
class << site
|
||||
attr_accessor :corecontributors
|
||||
attr_accessor :sitecontributors
|
||||
alias contrib_site_payload site_payload
|
||||
def site_payload
|
||||
h = contrib_site_payload
|
||||
payload = h["site"]
|
||||
payload["corecontributors"] = self.corecontributors
|
||||
payload["sitecontributors"] = self.sitecontributors
|
||||
h["site"] = payload
|
||||
h
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -42,15 +42,17 @@ module Jekyll
|
||||
|
||||
def generate(site)
|
||||
# Set site.meetups and site.conferences global variables for liquid/jekyll
|
||||
class << site
|
||||
attr_accessor :conferences
|
||||
alias event_site_payload site_payload
|
||||
def site_payload
|
||||
h = event_site_payload
|
||||
payload = h["site"]
|
||||
payload["conferences"] = self.conferences
|
||||
h["site"] = payload
|
||||
h
|
||||
if ! site.respond_to?('conferences')
|
||||
class << site
|
||||
attr_accessor :meetups, :conferences
|
||||
alias event_site_payload site_payload
|
||||
def site_payload
|
||||
h = event_site_payload
|
||||
payload = h["site"]
|
||||
payload["conferences"] = self.conferences
|
||||
h["site"] = payload
|
||||
h
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user