github.com/raghuse92/packer@v1.3.2/website/config.rb (about) 1 set :base_url, "https://www.packer.io/" 2 3 activate :hashicorp do |h| 4 h.name = "packer" 5 h.version = "1.3.2" 6 h.github_slug = "hashicorp/packer" 7 h.website_root = "website" 8 end 9 10 helpers do 11 # Returns a segment tracking ID such that local development is not 12 # tracked to production systems. 13 def segmentId() 14 if (ENV['ENV'] == 'production') 15 'AjXdfmTTk1I9q9dfyePuDFHBrz1tCO3l' 16 else 17 '0EXTgkNx0Ydje2PGXVbRhpKKoe5wtzcE' 18 end 19 end 20 21 # Returns the FQDN of the image URL. 22 # 23 # @param [String] path 24 # 25 # @return [String] 26 def image_url(path) 27 File.join(base_url, image_path(path)) 28 end 29 30 # Get the title for the page. 31 # 32 # @param [Middleman::Page] page 33 # 34 # @return [String] 35 def title_for(page) 36 if page && page.data.page_title 37 return "#{page.data.page_title} - Packer by HashiCorp" 38 end 39 40 "Packer by HashiCorp" 41 end 42 43 # Get the description for the page 44 # 45 # @param [Middleman::Page] page 46 # 47 # @return [String] 48 def description_for(page) 49 description = (page.data.description || "") 50 .gsub('"', '') 51 .gsub(/\n+/, ' ') 52 .squeeze(' ') 53 54 return escape_html(description) 55 end 56 57 # This helps by setting the "active" class for sidebar nav elements 58 # if the YAML frontmatter matches the expected value. 59 def sidebar_current(expected) 60 current = current_page.data.sidebar_current || "" 61 if current.start_with?(expected) 62 return " class=\"active\"" 63 else 64 return "" 65 end 66 end 67 68 # Returns the id for this page. 69 # @return [String] 70 def body_id_for(page) 71 if !(name = page.data.sidebar_current).blank? 72 return "page-#{name.strip}" 73 end 74 if page.url == "/" || page.url == "/index.html" 75 return "page-home" 76 end 77 if !(title = page.data.page_title).blank? 78 return title 79 .downcase 80 .gsub('"', '') 81 .gsub(/[^\w]+/, '-') 82 .gsub(/_+/, '-') 83 .squeeze('-') 84 .squeeze(' ') 85 end 86 return "" 87 end 88 89 # Returns the list of classes for this page. 90 # @return [String] 91 def body_classes_for(page) 92 classes = [] 93 94 if !(page.data.layout).blank? 95 classes << "layout-#{page.data.layout}" 96 end 97 98 if !(title = page.data.page_title).blank? 99 title = title 100 .downcase 101 .gsub('"', '') 102 .gsub(/[^\w]+/, '-') 103 .gsub(/_+/, '-') 104 .squeeze('-') 105 .squeeze(' ') 106 classes << "page-#{title}" 107 end 108 109 return classes.join(" ") 110 end 111 end 112 113 # Netlify redirects/headers 114 proxy '_redirects', 'netlify-redirects', ignore: true