Module: GovukTechDocs::PathHelpers

Included in:
Pages, TableOfContents::Helpers
Defined in:
lib/govuk_tech_docs/path_helpers.rb

Instance Method Summary collapse

Instance Method Details

#get_path_to_resource(config, resource, current_page) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/govuk_tech_docs/path_helpers.rb', line 3

def get_path_to_resource(config, resource, current_page)
  if config[:relative_links]
    resource_path_segments = resource.path.split("/").reject(&:empty?)[0..-2]
    resource_file_name = resource.path.split("/")[-1]

    path_to_site_root = path_to_site_root config, current_page.path
    resource_path = path_to_site_root + resource_path_segments
                                       .push(resource_file_name)
                                       .join("/")
  else
    resource_path = resource.url
  end
  resource_path
end

#path_to_site_root(config, page_path) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/govuk_tech_docs/path_helpers.rb', line 18

def path_to_site_root(config, page_path)
  if config[:relative_links]
    number_of_ascents_to_site_root = page_path.to_s.split("/").reject(&:empty?)[0..-2].length
    ascents = number_of_ascents_to_site_root.zero? ? ["."] : number_of_ascents_to_site_root.times.collect { ".." }
    path_to_site_root = ascents.join("/").concat("/")
  else
    middleman_http_prefix = config[:http_prefix]
    path_to_site_root = middleman_http_prefix.end_with?("/") ? middleman_http_prefix : "#{middleman_http_prefix}/"
  end
  path_to_site_root
end