arclight 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +6 -47
  4. data/.rubocop_todo.yml +259 -0
  5. data/.travis.yml +15 -20
  6. data/README.md +17 -4
  7. data/app/assets/images/blacklight/compact.svg +15 -15
  8. data/app/assets/javascripts/arclight/arclight.js +1 -0
  9. data/app/assets/javascripts/arclight/collection_navigation.js +5 -2
  10. data/app/assets/javascripts/arclight/oembed_viewer.js +11 -4
  11. data/app/assets/javascripts/arclight/search_results.js +15 -0
  12. data/app/assets/stylesheets/arclight/modules/hierarchy_and_online_contents.scss +6 -3
  13. data/app/assets/stylesheets/arclight/modules/layout.scss +24 -0
  14. data/app/assets/stylesheets/arclight/modules/mastheads.scss +33 -0
  15. data/app/helpers/arclight_helper.rb +1 -1
  16. data/app/models/concerns/arclight/search_behavior.rb +1 -1
  17. data/app/views/arclight/repositories/_in_person_repository.html.erb +1 -1
  18. data/app/views/catalog/_component_contents.html.erb +16 -0
  19. data/app/views/catalog/_component_overview.html.erb +0 -6
  20. data/app/views/catalog/_context_card.html.erb +1 -1
  21. data/app/views/catalog/_custom_metadata.html.erb +1 -1
  22. data/app/views/catalog/_index_default.html.erb +1 -1
  23. data/app/views/catalog/_index_header.html.erb +2 -2
  24. data/app/views/catalog/_index_header_hierarchy_default.html.erb +2 -2
  25. data/app/views/catalog/_index_hierarchy_default.html.erb +1 -1
  26. data/app/views/catalog/_results_histogram.html.erb +6 -1
  27. data/app/views/catalog/_show_breadcrumbs_default.html.erb +19 -5
  28. data/app/views/catalog/_show_default.html.erb +10 -0
  29. data/app/views/catalog/_show_sidebar.html.erb +0 -8
  30. data/app/views/catalog/_show_upper_metadata_collection.html.erb +1 -0
  31. data/app/views/catalog/_show_upper_metadata_default.html.erb +14 -0
  32. data/app/views/shared/_header_navbar.html.erb +56 -44
  33. data/app/views/shared/_main_menu_links.html.erb +1 -1
  34. data/arclight.gemspec +11 -7
  35. data/config/i18n-tasks.yml +132 -0
  36. data/config/locales/arclight.en.yml +53 -52
  37. data/lib/arclight/engine.rb +1 -0
  38. data/lib/arclight/hash_absolute_xpath.rb +57 -0
  39. data/lib/arclight/missing_id_strategy.rb +21 -0
  40. data/lib/arclight/normalized_date.rb +19 -10
  41. data/lib/arclight/repository.rb +3 -20
  42. data/lib/arclight/shared_indexing_behavior.rb +1 -1
  43. data/lib/arclight/solr_ead_indexer_ext.rb +5 -9
  44. data/lib/arclight/traject/ead2_config.rb +475 -0
  45. data/lib/arclight/version.rb +1 -1
  46. data/lib/generators/arclight/install_generator.rb +14 -0
  47. data/lib/generators/arclight/templates/catalog_controller.rb +43 -40
  48. data/lib/tasks/index.rake +4 -2
  49. data/solr/conf/schema.xml +7 -2
  50. data/tasks/arclight.rake +5 -1
  51. data/template.rb +1 -1
  52. metadata +94 -28
  53. data/app/views/catalog/_arclight_document_show_header.html.erb +0 -15
  54. data/app/views/catalog/_arclight_document_show_header_collection.html.erb +0 -12
  55. data/app/views/catalog/_search_within_form.html.erb +0 -16
  56. data/app/views/catalog/_show_header.html.erb +0 -5
@@ -3,6 +3,7 @@
3
3
  //= require arclight/collection_context
4
4
  //= require arclight/component_ancestors
5
5
  //= require arclight/oembed_viewer
6
+ //= require arclight/search_results
6
7
  //= require arclight/truncator
7
8
 
8
9
  // Vendor Scripts
@@ -9,13 +9,16 @@
9
9
  var $currentDoc;
10
10
  var $previousDocs;
11
11
  var $nextDocs;
12
- var headers = $doc.find('article header[data-document-id="' + id + '"]')
13
- if (headers.length == 0) {
12
+ var headers = $doc.find('article div[data-document-id="' + id + '"]');
13
+ if (headers.length === 0) {
14
14
  $.error('Document is missing id=' + id);
15
15
  }
16
16
  $currentDoc = $(headers[0].parentNode); // need article element
17
17
  $currentDoc.addClass('al-hierarchy-highlight');
18
18
 
19
+ // Unlink the current component - just show the title
20
+ $currentDoc.find('a').contents().unwrap();
21
+
19
22
  // We want to show 0-1 or 0-2 siblings depending on where highlighted component is
20
23
  $previousDocs = $currentDoc.prevUntil().slice(0, 2);
21
24
  $nextDocs = $currentDoc.nextUntil().slice(0, 2);
@@ -1,18 +1,24 @@
1
1
  Blacklight.onLoad(function () {
2
2
  'use strict';
3
+
3
4
  var onlineContentTabSelector = '[data-arclight-online-content-tab="true"]';
4
5
  var oEmbedViewerSelector = '[data-arclight-oembed="true"]';
5
6
 
6
- $(onlineContentTabSelector).on('shown.bs.tab', function() {
7
+ $(onlineContentTabSelector).on('shown.bs.tab', function () {
7
8
  var $viewerElements = $(oEmbedViewerSelector);
8
- if($viewerElements.length === 0) {
9
+ if ($viewerElements.length === 0) {
9
10
  return;
10
11
  }
11
12
 
12
13
  $viewerElements.each(function (i, element) {
13
14
  var $el = $(element);
15
+ var loadedAttr = $el.attr('loaded');
14
16
  var data = $el.data();
15
17
  var resourceUrl = data.arclightOembedUrl;
18
+ if (loadedAttr && loadedAttr === 'loaded') {
19
+ return;
20
+ }
21
+
16
22
  $.ajax({
17
23
  url: resourceUrl,
18
24
  dataType: 'html'
@@ -20,17 +26,18 @@ Blacklight.onLoad(function () {
20
26
  var links = $('<div>' + response.match(/<link .*>/g).join('') + '</div>'); // Parse out link elements so image assets are not loaded
21
27
  var oEmbedEndPoint = links.find('link[rel="alternate"][type="application/json+oembed"]').prop('href');
22
28
 
23
- if(!oEmbedEndPoint || oEmbedEndPoint.length === 0) {
29
+ if (!oEmbedEndPoint || oEmbedEndPoint.length === 0) {
24
30
  return;
25
31
  }
26
32
 
27
33
  $.ajax({
28
34
  url: oEmbedEndPoint
29
35
  }).done(function (oEmbedResponse) {
30
- if(oEmbedResponse.html) {
36
+ if (oEmbedResponse.html) {
31
37
  $el.hide()
32
38
  .html(oEmbedResponse.html)
33
39
  .fadeIn(500);
40
+ $el.attr('loaded', 'loaded');
34
41
  }
35
42
  });
36
43
  });
@@ -0,0 +1,15 @@
1
+ Blacklight.onLoad(function () {
2
+ 'use strict';
3
+
4
+ var histogramContent = $('#al-date-range-histogram-content');
5
+ var showSpan = $('#al-date-range-histogram-show');
6
+ var hideSpan = $('#al-date-range-histogram-hide');
7
+ histogramContent.on('show.bs.collapse', function () {
8
+ showSpan.attr('hidden', 'hidden');
9
+ hideSpan.removeAttr('hidden');
10
+ });
11
+ histogramContent.on('hide.bs.collapse', function () {
12
+ hideSpan.attr('hidden', 'hidden');
13
+ showSpan.removeAttr('hidden');
14
+ });
15
+ });
@@ -54,7 +54,8 @@
54
54
  // Series level
55
55
  .blacklight-series .document-title-heading,
56
56
  .blacklight-file .document-title-heading,
57
- .blacklight-otherlevel .document-title-heading {
57
+ .blacklight-binder .document-title-heading,
58
+ .blacklight-other .document-title-heading {
58
59
  font-size: $h5-font-size;
59
60
  font-weight: 400;
60
61
  margin-bottom: ($spacer / 2);
@@ -69,7 +70,8 @@
69
70
  // Additional for levels below series
70
71
  .blacklight-subseries .document-title-heading,
71
72
  .blacklight-file .document-title-heading,
72
- .blacklight-otherlevel .document-title-heading {
73
+ .blacklight-binder .document-title-heading,
74
+ .blacklight-other .document-title-heading {
73
75
  font-size: $h6-font-size;
74
76
 
75
77
  .documentHeader {
@@ -80,7 +82,8 @@
80
82
  // Icongraphy for each level
81
83
  .blacklight-subseries .document-title-heading,
82
84
  .al-hierarchy-level-1 .blacklight-file .document-title-heading,
83
- .al-hierarchy-level-1 .blacklight-otherlevel .document-title-heading {
85
+ .al-hierarchy-level-1 .blacklight-binder .document-title-heading,
86
+ .al-hierarchy-level-1 .blacklight-other .document-title-heading {
84
87
  padding-left: 10px;
85
88
 
86
89
  &:before {
@@ -4,6 +4,30 @@
4
4
  margin-bottom: $spacer;
5
5
  }
6
6
 
7
+ .al-show-breadcrumb .breadcrumb {
8
+ background-color: transparent;
9
+ margin-bottom: 0;
10
+ padding: 0;
11
+ }
12
+
13
+ .al-show-breadcrumb h1 { font-size: 1.5rem; }
14
+
15
+ .breadcrumb-item {
16
+ flex: 1 0 100%;
17
+
18
+ &.al-bc-item {
19
+ &::before {
20
+ content: '»' !important;
21
+ }
22
+ }
23
+ }
24
+
25
+ @for $i from 1 to 14 {
26
+ .breadcrumb-item.breadcrumb-item-#{$i} {
27
+ padding-left: ($i - 1) * 10px !important;
28
+ }
29
+ }
30
+
7
31
  // Collapse arrow indicators
8
32
  .al-toggle-view-more,
9
33
  .al-toggle-view-all {
@@ -2,6 +2,12 @@
2
2
  border-bottom: $result-item-border-styling;
3
3
  padding: ($spacer * 2) $spacer $spacer;
4
4
 
5
+ .navbar-nav {
6
+ flex-direction: row;
7
+ font-weight: 700;
8
+ margin-bottom: ($spacer * 1);
9
+ }
10
+
5
11
  h1 {
6
12
  font-size: 2.25rem;
7
13
  margin-bottom: ($spacer * 2);
@@ -19,6 +25,18 @@
19
25
  font-weight: $font-weight-bold;
20
26
  }
21
27
  }
28
+
29
+ @media (max-width: 767px) {
30
+ .masthead-center {
31
+ text-align: center;
32
+ }
33
+ h2 {
34
+ display: inline-block;
35
+ }
36
+ .nav-links {
37
+ justify-content: center !important;
38
+ }
39
+ }
22
40
  }
23
41
 
24
42
  .al-masthead {
@@ -28,6 +46,15 @@
28
46
  padding: ($spacer * 1.5) ($spacer / 2);
29
47
  }
30
48
 
49
+ .navbar-nav {
50
+ flex-direction: row;
51
+ font-weight: 700;
52
+
53
+ .active a {
54
+ color: $gray-700;
55
+ }
56
+ }
57
+
31
58
  + .navbar-search {
32
59
  border-bottom: $result-item-border-styling;
33
60
  border-top: $result-item-border-styling;
@@ -51,6 +78,12 @@
51
78
  }
52
79
  }
53
80
 
81
+ @media (max-width: 767px) {
82
+ .nav-links {
83
+ justify-content: center !important;
84
+ }
85
+ }
86
+
54
87
  @media (max-width: 992px) {
55
88
  h1,
56
89
  + .navbar-search {
@@ -39,7 +39,7 @@ module ArclightHelper
39
39
  end
40
40
 
41
41
  def collection_count
42
- facets_from_request.find { |f| f.name == 'collection_sim' }.try(:items).try(:count)
42
+ @response.response['numFound']
43
43
  end
44
44
 
45
45
  ##
@@ -26,7 +26,7 @@ module Arclight
26
26
  ##
27
27
  # For the hierarchy view, set the sort order to preserve the order of components
28
28
  def add_hierarchy_sort(solr_params)
29
- solr_params[:sort] = 'sort_ii asc' if blacklight_params[:view] == 'hierarchy'
29
+ solr_params[:sort] = 'sort_ii asc' if %w[hierarchy online_contents].include? blacklight_params[:view]
30
30
  solr_params
31
31
  end
32
32
 
@@ -1,6 +1,6 @@
1
1
  <div class='al-in-person-repository-name'>
2
2
  <% if repository.thumbnail_url %>
3
- <%= image_tag repository.thumbnail_url, alt: repository.name, class: 'img-fluid float-left' %>
3
+ <%= image_tag repository.thumbnail_url, alt: '', class: 'img-fluid float-left' %>
4
4
  <% end %>
5
5
  <div>
6
6
  <%= link_to(repository.name, arclight_engine.repository_path(repository.slug)) %>
@@ -0,0 +1,16 @@
1
+ <% document ||= @document %>
2
+ <% @sub_level ||= document.component_level + 1 %>
3
+
4
+
5
+ <h2 class="sr-only">Component inventory</h2>
6
+ <div class="component-level-only">
7
+ <%= content_tag(
8
+ :div, '',
9
+ class: 'al-contents',
10
+ data: {
11
+ arclight: {
12
+ hierarchy: true, level: @sub_level, path: search_catalog_path, name: document.collection_name, parent: document.reference
13
+ }
14
+ }
15
+ ) %>
16
+ </div>
@@ -1,10 +1,4 @@
1
1
  <h2 class="sr-only">Component description</h2>
2
- <% unless blacklight_config.show.component_metadata_partials.nil? %>
3
- <% blacklight_config.show.component_metadata_partials.each do |metadata| %>
4
- <% next unless fields_have_content?(@document, metadata) %>
5
- <%= render partial: 'custom_metadata', locals: { document: @document, field_accessor: metadata } %>
6
- <% end %>
7
- <% end %>
8
2
  <!-- Section below will be moved into its own partial later -->
9
3
  <%= content_tag(:div, id: t("arclight.views.show.sections.collection_context_field").parameterize) do %>
10
4
  <h3 class='al-show-sub-heading'>
@@ -17,7 +17,7 @@
17
17
  <%= generic_render_document_field_label(field_accessor, document, field: field_name) %>
18
18
  </dt>
19
19
  <dd class="blacklight-<%= field_name.parameterize %>">
20
- <%= doc_presenter.field_value field_name %>
20
+ <%= doc_presenter.field_value field %>
21
21
  </dd>
22
22
  <% end %>
23
23
  <% end %>
@@ -9,7 +9,7 @@
9
9
  <% generic_document_fields(field_accessor).each do |field_name, field| %>
10
10
  <% if generic_should_render_field?(field_accessor, document, field) %>
11
11
  <dt class="blacklight-<%= field_name.parameterize %> col-md-3"><%= generic_render_document_field_label(field_accessor, document, field: field_name) %></dt>
12
- <dd class="blacklight-<%= field_name.parameterize %> col-md-9"><%= doc_presenter.field_value field_name %></dd>
12
+ <dd class="blacklight-<%= field_name.parameterize %> col-md-9"><%= doc_presenter.field_value field %></dd>
13
13
  <% end %>
14
14
  <% end %>
15
15
  </dl>
@@ -6,7 +6,7 @@
6
6
  <%= document.extent %>
7
7
  <% end if document.extent %>
8
8
 
9
- <%= content_tag('div', class: 'al-document-abstract-or-scope', title: document.abstract_or_scope) do %>
9
+ <%= content_tag('div', class: 'al-document-abstract-or-scope') do %>
10
10
  <%= content_tag('div', 'data-arclight-truncate' => true) do %>
11
11
  <%= document.abstract_or_scope %>
12
12
  <% end %>
@@ -1,7 +1,7 @@
1
1
  <%# header bar for doc items in index view -%>
2
- <header class="documentHeader row" data-document-id="<%= document.id %>">
2
+ <div class="documentHeader row" data-document-id="<%= document.id %>">
3
3
  <h3 class="index_title document-title-heading col-md-12">
4
4
  <% counter = document_counter_with_offset(document_counter) %>
5
5
  <%= link_to_document document, document_show_link_field(document), counter: counter %>
6
6
  </h3>
7
- </header>
7
+ </div>
@@ -1,4 +1,4 @@
1
- <header class="documentHeader row" data-document-id="<%= document.id %>">
1
+ <div class="documentHeader row" data-document-id="<%= document.id %>">
2
2
  <% requestable = item_requestable?('', { document: document }) %>
3
3
  <h3 class="index_title document-title-heading col-md-8">
4
4
  <% if document.containers.present? %>
@@ -39,4 +39,4 @@
39
39
  <%= render partial: 'arclight/requests/google_form', locals: { document: document } %>
40
40
  <% end %>
41
41
  </div>
42
- </header>
42
+ </div>
@@ -1,4 +1,4 @@
1
- <%= content_tag('div', class: 'al-document-abstract-or-scope', title: document.abstract_or_scope) do %>
1
+ <%= content_tag('div', class: 'al-document-abstract-or-scope') do %>
2
2
  <%= content_tag(:h4, I18n.t('arclight.hierarchy.scope_and_contents'), class: 'al-hierarchy-sub-heading') %>
3
3
  <%= content_tag('div', 'data-arclight-truncate' => true) do %>
4
4
  <%= document.abstract_or_scope %>
@@ -4,7 +4,12 @@
4
4
  <%= render partial: 'arclight_rangelimit', locals: { field_name: :date_range_sim, solr_field: :date_range_sim } %>
5
5
  </div>
6
6
  <a class='float-right' data-toggle='collapse' href='#al-date-range-histogram-content' aria-expanded='false' aria-controls='al-date-range-histogram-content'>
7
- <%= t('arclight.date_range_histogram.show_hide') %>
7
+ <span id="al-date-range-histogram-show">
8
+ <%= t('arclight.date_range_histogram.show') %>
9
+ </span>
10
+ <span id="al-date-range-histogram-hide" hidden="hidden">
11
+ <%= t('arclight.date_range_histogram.hide') %>
12
+ </span>
8
13
  </a>
9
14
  </div>
10
15
  </div>
@@ -1,7 +1,21 @@
1
+ <% parents = Arclight::Parents.from_solr_document(document).as_parents %>
1
2
  <div class='al-show-breadcrumb'>
2
- <%= link_to t('arclight.routes.home'), root_path %>
3
- <%= t('arclight.breadcrumb_separator') %>
4
- <%= link_to t('arclight.routes.collections'), arclight_engine.collections_path %>
5
- <%= t('arclight.breadcrumb_separator') %>
6
- <%= safe_join([parents_to_links(document), document.normalized_title].reject(&:empty?), t('arclight.breadcrumb_separator')) %>
3
+ <nav aria-label="breadcrumb">
4
+ <ol class="breadcrumb">
5
+ <li class="breadcrumb-item breadcrumb-item-1">
6
+ <%= link_to t('arclight.routes.home'), root_path %>
7
+ </li>
8
+ <li class="breadcrumb-item breadcrumb-item-2 al-bc-item">
9
+ <%= link_to t('arclight.routes.collections'), arclight_engine.collections_path %>
10
+ </li>
11
+ <% parents.each_with_index.map do |parent, index| %>
12
+ <%= content_tag :li, class: "breadcrumb-item breadcrumb-item-#{index + 3} al-bc-item" do %>
13
+ <%= link_to parent.label, solr_document_path(parent.global_id) %>
14
+ <% end %>
15
+ <% end %>
16
+ </ol>
17
+ <h1 class="breadcrumb-item breadcrumb-item-<%= parents.length + 3 %> al-bc-item">
18
+ <%= document.normalized_title %>
19
+ </h1>
20
+ </nav>
7
21
  </div>
@@ -9,6 +9,13 @@
9
9
  <%= t 'arclight.views.show.overview' %>
10
10
  </a>
11
11
  </li>
12
+ <% if document.children? %>
13
+ <li class='nav-item'>
14
+ <a class='nav-link disabled' data-toggle='pill' href='#contents' role='tab' data-hierarchy-enable-me='true'>
15
+ <%= t 'arclight.views.show.no_contents' %>
16
+ </a>
17
+ </li>
18
+ <% end %>
12
19
  <li class='nav-item'>
13
20
  <a class='nav-link <%= 'disabled' unless document.online_content? %>' data-toggle='pill' href='#online-content' role='tab' data-arclight-online-content-tab='true'>
14
21
  <% if document.online_content? %>
@@ -23,6 +30,9 @@
23
30
  <div class='tab-pane active' id='overview' role='tabpanel'>
24
31
  <%= render 'component_overview' %>
25
32
  </div>
33
+ <div class='tab-pane' id='contents' role='tabpanel'>
34
+ <%= render 'component_contents' %>
35
+ </div>
26
36
  <div class='tab-pane' id='online-content' role='tabpanel'>
27
37
  <%= render_document_partial(document, 'arclight_viewer') %>
28
38
  </div>
@@ -1,13 +1,5 @@
1
1
  <div class='al-sticky-sidebar'>
2
2
  <h2 class="sr-only">Sidebar</h2>
3
- <div class='card'>
4
- <div class='card-header'>
5
- <h3 class="mb-0">Search within this collection</h3>
6
- </div>
7
- <div class='card-body'>
8
- <%= render 'search_within_form' %>
9
- </div>
10
- </div>
11
3
  <div class='al-sidebar-navigation-overview card'>
12
4
  <div class='card-header'>
13
5
  <h3 class="mb-0"><%= t('arclight.views.show.navigation_sidebar.title') %></h3>
@@ -0,0 +1 @@
1
+ <% # intentionally left blank to not repeat collection level metadata that appears in the context overview %>
@@ -0,0 +1,14 @@
1
+ <% if blacklight_config.show.component_metadata_partials.present? %>
2
+ <% parents = Arclight::Parents.from_solr_document(document).as_parents %>
3
+ <dl class="breadcrumb-item breadcrumb-item-<%= parents.length + 3 %>">
4
+ <% blacklight_config.show.component_metadata_partials.each do |metadata| %>
5
+ <% doc_presenter = show_presenter(document).with_field_group(metadata) %>
6
+ <% generic_document_fields(metadata).each do |field_name, field| %>
7
+ <% if generic_should_render_field?(metadata, document, field) %>
8
+ <dt class="blacklight-<%= field_name.parameterize %>"><%= generic_render_document_field_label(metadata, document, field: field_name) %></dt>
9
+ <dd class="blacklight-<%= field_name.parameterize %>"><%= doc_presenter.field_value field %></dd>
10
+ <% end %>
11
+ <% end %>
12
+ <% end %>
13
+ </dl>
14
+ <% end %>
@@ -1,53 +1,65 @@
1
- <nav class="navbar navbar-expand-md navbar-dark bg-dark topbar" role="navigation">
2
- <div class="<%= container_classes %>">
3
- <%= link_to application_name, root_path, class: "navbar-brand" %>
4
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#user-util-collapse" aria-controls="user-util-collapse" aria-expanded="false" aria-label="Toggle navigation">
5
- <span class="navbar-toggler-icon"></span>
6
- </button>
7
-
8
-
1
+ <header>
2
+ <nav class="navbar navbar-expand-md navbar-dark bg-dark topbar" aria-label="utilities" role="navigation">
3
+ <div class="<%= container_classes %>">
4
+ <%= link_to application_name, root_path, class: "navbar-brand" %>
5
+ <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#user-util-collapse" aria-controls="user-util-collapse" aria-expanded="false" aria-label="Toggle navigation">
6
+ <span class="navbar-toggler-icon"></span>
7
+ </button>
9
8
 
10
- <div class="collapse navbar-collapse justify-content-md-end" id="user-util-collapse">
11
- <%= render 'shared/user_util_links' %>
9
+ <div class="collapse navbar-collapse justify-content-md-end" id="user-util-collapse">
10
+ <%= render 'shared/user_util_links' %>
11
+ </div>
12
12
  </div>
13
- </div>
14
- </nav>
13
+ </nav>
15
14
 
16
- <% if controller_name == 'catalog' && !has_search_parameters? && action_name == 'index' %>
17
- <div class='al-homepage-masthead jumbotron'>
18
- <div class='d-flex justify-content-center'>
19
- <h1 class='text-center'><%= t('arclight.masthead_heading') %></h1>
20
- </div>
21
- <div class='row justify-content-md-center'>
22
- <div class='col-md-6 col-sm-12'>
23
- <div class='navbar-search'>
24
- <%= render_search_bar %>
15
+ <% if controller_name == 'catalog' && !has_search_parameters? && action_name == 'index' %>
16
+ <div class='al-homepage-masthead jumbotron'>
17
+ <div class="container">
18
+ <div class="row align-items-center">
19
+ <div class="col-md-8 masthead-center" >
20
+ <h1><%= t('arclight.masthead_heading') %></h1>
21
+ </div>
22
+
23
+ <div class="col-md-4 nav-links d-flex justify-content-end" >
24
+ <span class="navbar-nav" aria-label="browse" role="navigation">
25
+ <%= render 'shared/main_menu_links' %>
26
+ </span>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ <div class='row justify-content-md-center'>
31
+ <div class='col-md-6 col-sm-12'>
32
+ <div class='navbar-search'>
33
+ <%= render_search_bar %>
34
+ </div>
25
35
  </div>
26
36
  </div>
27
37
  </div>
28
- <nav class="navbar justify-content-center" role="navigation">
29
- <ul class="nav">
30
- <%= render 'shared/main_menu_links' %>
31
- </ul>
32
- </nav>
33
- </div>
34
- <% else %>
35
- <div class='bg-faded al-masthead'>
36
- <div class="container">
37
- <h1><%= t('arclight.masthead_heading') %></h1>
38
+ <% else %>
39
+ <div class='bg-faded al-masthead'>
40
+ <div class="container">
41
+ <div class="row align-items-center">
42
+ <div class="col-md-8" >
43
+ <h1><%= t('arclight.masthead_heading') %></h1>
44
+ </div>
45
+
46
+ <div class="col-md-4 nav-links d-flex justify-content-end" >
47
+ <span class="navbar-nav" aria-label="browse" role="navigation">
48
+ <%= render 'shared/main_menu_links' %>
49
+ </span>
50
+ </div>
51
+ </div>
52
+ </div>
38
53
  </div>
39
- </div>
40
- <div class="navbar-search navbar navbar-expand-sm bg-faded" role="navigation">
41
- <div class="<%= container_classes %>">
42
- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
43
- <span class="navbar-toggler-icon"></span>
44
- </button>
45
- <div class="collapse navbar-collapse" id="navbarSupportedContent">
46
- <ul class="navbar-nav mr-auto">
47
- <%= render 'shared/main_menu_links' %>
48
- </ul>
49
- <%= render_search_bar %>
54
+ <div class="navbar-search navbar navbar-expand-sm bg-faded">
55
+ <div class="<%= container_classes %>">
56
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
57
+ <span class="navbar-toggler-icon"></span>
58
+ </button>
59
+ <div class="collapse navbar-collapse" id="navbarSupportedContent">
60
+ <%= render_search_bar %>
61
+ </div>
50
62
  </div>
51
63
  </div>
52
- </div>
53
- <% end %>
64
+ <% end %>
65
+ </header>