Module: Blacklight::LayoutHelperBehavior

Included in:
BlacklightHelperBehavior
Defined in:
app/helpers/blacklight/layout_helper_behavior.rb

Overview

A module for useful methods used in layout configuration

Instance Method Summary collapse

Instance Method Details

#container_classesString

Class used for specifying main layout container classes. Can be overwritten to return ‘container-fluid’ for Bootstrap full-width layout

Returns:

  • (String)


47
48
49
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 47

def container_classes
  'container'
end

#extra_body_classesArray<String>

List of classes to be applied to the <body> element

Returns:

  • (Array<String>)

See Also:



106
107
108
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 106

def extra_body_classes
  @extra_body_classes ||= ["blacklight-#{controller.controller_name}", "blacklight-#{[controller.controller_name, controller.action_name].join('-')}"]
end

#html_tag_attributesHash

Attributes to add to the <html> tag (e.g. lang and dir)

Returns:

  • (Hash)


18
19
20
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 18

def html_tag_attributes
  { lang: I18n.locale }
end

#main_content_classesString

Classes used for sizing the main content of a Blacklight page

Returns:

  • (String)


32
33
34
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 32

def main_content_classes
  'col-lg-9'
end

#opensearch_description_tag(title, href) ⇒ String

Open Search discovery tag for HTML <head> links

Returns:

  • (String)


65
66
67
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 65

def opensearch_description_tag title, href
  tag :link, href: href, title: title, type: "application/opensearchdescription+xml", rel: "search"
end

#render_body_classString

Render classes for the <body> element

Returns:

  • (String)


98
99
100
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 98

def render_body_class
  extra_body_classes.join " "
end

Create <link rel=“alternate”> links from a documents dynamically provided export formats.

Returns empty string if no links available.

Parameters:

  • document (SolrDocument) (defaults to: @document)
  • options (Hash) (defaults to: {})

Options Hash (options):

  • :unique (Boolean)

    ensures only one link is output for every content type, e.g. as required by atom

  • :exclude (Array<String>)

    array of format shortnames to not include in the output

Returns:

  • (String)


89
90
91
92
93
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 89

def render_link_rel_alternates(document = @document, options = {})
  return if document.nil?

  document_presenter(document).link_rel_alternates(options)
end

#render_nav_actions(options = {}, &block) ⇒ String

Render “document actions” area for navigation header (normally renders “Saved Searches”, “History”, “Bookmarks”) These things are added by add_nav_action

Parameters:

  • options (Hash) (defaults to: {})

Returns:

  • (String)


58
59
60
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 58

def render_nav_actions(options = {}, &block)
  render_filtered_partials(blacklight_config.navbar.partials, options, &block)
end

#render_page_titleString

Get the page’s HTML title

Returns:

  • (String)


73
74
75
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 73

def render_page_title
  (content_for(:page_title) if content_for?(:page_title)) || @page_title || application_name
end

#show_content_classesString

Classes added to a document’s show content div

Returns:

  • (String)


11
12
13
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 11

def show_content_classes
  "#{main_content_classes} show-document"
end

#show_sidebar_classesString

Classes added to a document’s sidebar div

Returns:

  • (String)


25
26
27
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 25

def show_sidebar_classes
  sidebar_classes
end

Classes used for sizing the sidebar content of a Blacklight page

Returns:

  • (String)


39
40
41
# File 'app/helpers/blacklight/layout_helper_behavior.rb', line 39

def sidebar_classes
  'page-sidebar col-lg-3'
end