github.com/ncodes/nomad@v0.5.7-0.20170403112158-97adf4a74fb3/website/config.rb (about)

     1  set :base_url, "https://www.nomadproject.io/"
     2  
     3  activate :hashicorp do |h|
     4    h.name        = "nomad"
     5    h.version     = "0.5.6"
     6    h.github_slug = "hashicorp/nomad"
     7  end
     8  
     9  helpers do
    10    # Get the title for the page.
    11    #
    12    # @param [Middleman::Page] page
    13    #
    14    # @return [String]
    15    def title_for(page)
    16      if page && page.data.page_title
    17        return "#{page.data.page_title} - Nomad by HashiCorp"
    18      end
    19  
    20       "Nomad by HashiCorp"
    21     end
    22  
    23    # Get the description for the page
    24    #
    25    # @param [Middleman::Page] page
    26    #
    27    # @return [String]
    28    def description_for(page)
    29      description = (page.data.description || "")
    30        .gsub('"', '')
    31        .gsub(/\n+/, ' ')
    32        .squeeze(' ')
    33  
    34      return escape_html(description)
    35    end
    36  
    37    # This helps by setting the "active" class for sidebar nav elements
    38    # if the YAML frontmatter matches the expected value.
    39    def sidebar_current(expected)
    40      current = current_page.data.sidebar_current || ""
    41      if current.start_with?(expected)
    42        return " class=\"active\""
    43      else
    44        return ""
    45      end
    46    end
    47  
    48    # Returns the id for this page.
    49    # @return [String]
    50    def body_id_for(page)
    51      if !(name = page.data.sidebar_current).blank?
    52        return "page-#{name.strip}"
    53      end
    54      if page.url == "/" || page.url == "/index.html"
    55        return "page-home"
    56      end
    57      if !(title = page.data.page_title).blank?
    58        return title
    59          .downcase
    60          .gsub('"', '')
    61          .gsub(/[^\w]+/, '-')
    62          .gsub(/_+/, '-')
    63          .squeeze('-')
    64          .squeeze(' ')
    65      end
    66      return ""
    67    end
    68  
    69    # Returns the list of classes for this page.
    70    # @return [String]
    71    def body_classes_for(page)
    72      classes = []
    73  
    74      if !(layout = page.data.layout).blank?
    75        classes << "layout-#{page.data.layout}"
    76      end
    77  
    78      if !(title = page.data.page_title).blank?
    79        title = title
    80          .downcase
    81          .gsub('"', '')
    82          .gsub(/[^\w]+/, '-')
    83          .gsub(/_+/, '-')
    84          .squeeze('-')
    85          .squeeze(' ')
    86        classes << "page-#{title}"
    87      end
    88  
    89      return classes.join(" ")
    90    end
    91  end