github.com/ratanraj/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