Class: Jekyll::Netlify::Generator

Inherits:
Generator
  • Object
show all
Defined in:
lib/jekyll/netlify/generator.rb

Overview

Netlify plugin generator

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/jekyll/netlify/generator.rb', line 7

def generate(site)
  if netlify?
    site.config['netlify'] = load_netlify_env
    if production?
      ENV['JEKYLL_ENV'] = 'production'
      site.config['environment'] = 'production'
    end
  else
    site.config['netlify'] = false
  end
end

#load_netlify_env(env = ENV) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/jekyll/netlify/generator.rb', line 39

def load_netlify_env(env = ENV)
  data = {
    'repository_url' => env['REPOSITORY_URL'],
    'branch' => env['BRANCH'],
    'pull_request' => pull_request?,
    'head' => env['HEAD'],
    'commit' => env['COMMIT_REF'],
    'context' => env['CONTEXT'],
    'deploy_url' => env['DEPLOY_URL'],
    'url' => ENV['URL'],
    'deploy_prime_url' => env['DEPLOY_PRIME_URL'],
  }
  data['webhook'] = !webhook? ? false : {
    'title' => env['WEBHOOK_TITLE'],
    'body' => env['WEBHOOK_BODY'],
    'url' => env['WEBHOOK_URL'],
  }
  data
end

#netlify?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
25
# File 'lib/jekyll/netlify/generator.rb', line 19

def netlify?
  return false unless ENV.key?('DEPLOY_URL')
  deploy_url = ENV['DEPLOY_URL']
  return false unless deploy_url.include? 'netlify'

  true
end

#production?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/jekyll/netlify/generator.rb', line 27

def production?
  ENV['CONTEXT'].eql?('production') ? true : false
end

#pull_request?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/jekyll/netlify/generator.rb', line 31

def pull_request?
  ENV['PULL_REQUEST'].eql?('true') ? true : false
end

#webhook?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/jekyll/netlify/generator.rb', line 35

def webhook?
  ENV.key?('WEBHOOK_URL')
end