Class: Jekyll::GitHubMetadata::Pages

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll-github-metadata/pages.rb

Constant Summary collapse

DEFAULTS =
{
  "PAGES_ENV"              => "development".freeze,
  "PAGES_API_URL"          => "https://api.github.com".freeze,
  "PAGES_HELP_URL"         => "https://help.github.com".freeze,
  "PAGES_GITHUB_HOSTNAME"  => "github.com".freeze,
  "PAGES_PAGES_HOSTNAME"   => "github.io".freeze,
  "SSL"                    => "false".freeze,
  "SUBDOMAIN_ISOLATION"    => "false".freeze,
  "PAGES_PREVIEW_HTML_URL" => nil
}.freeze

Class Method Summary collapse

Class Method Details

.api_urlObject



60
61
62
# File 'lib/jekyll-github-metadata/pages.rb', line 60

def api_url
  trim_last_slash env_var("PAGES_API_URL", ENV["API_URL"])
end

.custom_domains_enabled?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/jekyll-github-metadata/pages.rb', line 40

def custom_domains_enabled?
  dotcom? || test?
end

.development?Boolean

Returns:

  • (Boolean)


38
# File 'lib/jekyll-github-metadata/pages.rb', line 38

def development?; env == "development" end

.dotcom?Boolean

Returns:

  • (Boolean)


34
# File 'lib/jekyll-github-metadata/pages.rb', line 34

def dotcom?;      env == "dotcom" end

.enterprise?Boolean

Returns:

  • (Boolean)


36
# File 'lib/jekyll-github-metadata/pages.rb', line 36

def enterprise?;  env == "enterprise" end

.envObject



44
45
46
# File 'lib/jekyll-github-metadata/pages.rb', line 44

def env
  env_var "PAGES_ENV", ENV["JEKYLL_ENV"]
end

.github_hostnameObject



68
69
70
# File 'lib/jekyll-github-metadata/pages.rb', line 68

def github_hostname
  trim_last_slash env_var("PAGES_GITHUB_HOSTNAME", ENV["GITHUB_HOSTNAME"])
end

.github_urlObject



52
53
54
55
56
57
58
# File 'lib/jekyll-github-metadata/pages.rb', line 52

def github_url
  if dotcom?
    "https://github.com".freeze
  else
    "#{scheme}://#{github_hostname}"
  end
end

.help_urlObject



64
65
66
# File 'lib/jekyll-github-metadata/pages.rb', line 64

def help_url
  trim_last_slash env_var("PAGES_HELP_URL", ENV["HELP_URL"])
end

.pages_hostnameObject



72
73
74
75
76
# File 'lib/jekyll-github-metadata/pages.rb', line 72

def pages_hostname
  intermediate_default = ENV["PAGES_HOSTNAME"]
  intermediate_default ||= "localhost:4000" if development?
  trim_last_slash env_var("PAGES_PAGES_HOSTNAME", intermediate_default)
end

.repo_pages_html_url_preview?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/jekyll-github-metadata/pages.rb', line 48

def repo_pages_html_url_preview?
  env_var "PAGES_PREVIEW_HTML_URL"
end

.schemeObject



24
25
26
# File 'lib/jekyll-github-metadata/pages.rb', line 24

def scheme
  ssl? ? "https" : "http"
end

.ssl?Boolean

Whether the GitHub instance supports HTTPS Note: this will be the same as how sites are served in Enterprise, but may be different from how sites are served on GitHub.com. See Repository#url_scheme

Returns:

  • (Boolean)


20
21
22
# File 'lib/jekyll-github-metadata/pages.rb', line 20

def ssl?
  env_var("SSL") == "true" || test?
end

.subdomain_isolation?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/jekyll-github-metadata/pages.rb', line 28

def subdomain_isolation?
  env_var("SUBDOMAIN_ISOLATION").eql? "true"
end

.test?Boolean

Returns:

  • (Boolean)


32
# File 'lib/jekyll-github-metadata/pages.rb', line 32

def test?;        env == "test" end