Sha256: 97a89ac52aa9ee02f989b124e2ab8b7d64564bac25bbb53d5acab9118ac76192
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
# frozen_string_literal: true ## # helpers for info fields in documents # module InfoHelpers def text_for(**options) options.keys.map do |key| content_for key do options[key].to_s end end end def page_info(**options) content_for :page_infos do options.keys.map do |name| partial("layouts/info", locals: { name: name, value: options[name] }) end.join end end def relative_link(stringifyable, current_path=current_page.path) relative = String.new dots = current_path.split(/[\/\\]/).size - 1 dots.times{ relative += "../" } # This has been some nasty part to debug... # keep these comments for debugging session yet to come # puts "##################################" # puts "current_page.path: #{current_page.path}" # puts "stringifyable: #{stringifyable.to_s}" # puts "dots: #{dots}" # puts "relative link: #{relative + stringifyable.to_s}" # puts "##################################" relative + stringifyable.to_s end def site? data.respond_to?(:site) end def navbar? site? && data.site.respond_to?(:navbar) end def navbar_links nav = data.site.navbar.links if navbar? nav ||= {} mapped = {} nav.each do |name, link| mapped[name] = relative_link(link) end mapped end def navbar_brand data.site.navbar.brand if navbar? end def footer_text data.site.footer if site? end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
paperwork-0.2.5 | lib/paperwork/tasks/middleman_template/lib/info_helpers.rb |