blacklight-spotlight 3.0.0.rc1 → 3.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spotlight/admin/sir-trevor/locales.js +1 -1
  3. data/app/assets/stylesheets/spotlight/_catalog.scss +6 -6
  4. data/app/assets/stylesheets/spotlight/_featured_browse_categories_block.scss +179 -84
  5. data/app/assets/stylesheets/spotlight/_item_text_block.scss +1 -1
  6. data/app/assets/stylesheets/spotlight/_pages.scss +9 -4
  7. data/app/assets/stylesheets/spotlight/_translations.scss +6 -0
  8. data/app/models/concerns/spotlight/exhibit_defaults.rb +1 -1
  9. data/app/views/spotlight/about_pages/_empty.html.erb +5 -5
  10. data/app/views/spotlight/contacts/_form.html.erb +1 -1
  11. data/app/views/spotlight/feature_pages/_empty.html.erb +5 -5
  12. data/app/views/spotlight/featured_images/_form.html.erb +1 -1
  13. data/app/views/spotlight/featured_images/_upload_form.html.erb +1 -1
  14. data/app/views/spotlight/home_pages/_empty.html.erb +3 -3
  15. data/app/views/spotlight/translations/_import.html.erb +5 -5
  16. data/config/locales/spotlight.en.yml +78 -78
  17. data/lib/spotlight/version.rb +1 -1
  18. data/spec/controllers/spotlight/about_pages_controller_spec.rb +3 -3
  19. data/spec/controllers/spotlight/catalog_controller_spec.rb +1 -1
  20. data/spec/controllers/spotlight/contacts_controller_spec.rb +2 -2
  21. data/spec/controllers/spotlight/home_pages_controller_spec.rb +1 -1
  22. data/spec/examples.txt +136 -1410
  23. data/spec/factories/searches.rb +1 -1
  24. data/spec/features/browse_category_admin_spec.rb +1 -1
  25. data/spec/features/catalog_spec.rb +2 -2
  26. data/spec/features/dashboard_spec.rb +2 -2
  27. data/spec/features/edit_search_fields_spec.rb +2 -2
  28. data/spec/features/exhibits/edit_metadata_fields_spec.rb +1 -1
  29. data/spec/features/exhibits/translation_editing_spec.rb +6 -6
  30. data/spec/features/home_page_spec.rb +1 -1
  31. data/spec/features/item_admin_spec.rb +4 -4
  32. data/spec/features/javascript/edit_in_place_spec.rb +1 -1
  33. data/spec/features/javascript/search_config_admin_spec.rb +1 -1
  34. data/spec/features/report_a_problem_spec.rb +1 -1
  35. data/spec/models/spotlight/exhibit_spec.rb +1 -1
  36. data/spec/models/spotlight/main_navigation_spec.rb +1 -1
  37. data/spec/views/shared/_exhibit_navbar.html.erb_spec.rb +1 -1
  38. data/spec/views/spotlight/dashboards/_analytics.html.erb_spec.rb +1 -1
  39. data/spec/views/spotlight/dashboards/_reindexing_activity.html.erb_spec.rb +6 -6
  40. data/spec/views/spotlight/search_configurations/_facets.html.erb_spec.rb +1 -1
  41. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a3577af6f5ec30554f2e91955c7613e6501ef8e95f2822f6a92022626c03230
4
- data.tar.gz: e45881b0867cba47bb74a93a7a008a843154383939c8db3abbb0c244e0a6ff57
3
+ metadata.gz: 7004b788de24eca3d6f0b429b184c56ef6831ca2c161f5472cd6e9b5279bc9d6
4
+ data.tar.gz: fc95ee6947c984a4789a449986f3d6f2c7d6c10005c5f42039c89b6690cb92eb
5
5
  SHA512:
6
- metadata.gz: 7164e6ebcca3edd4db9d2b95ed7fafb2ec55188de3e16bdf92963b893e6b717dae262a7a2ab5f3fbfbe2e2f8de7a602083e2586b338fdbf5f1f2f96c4f5cb402
7
- data.tar.gz: aaf1d73d51efd42699f32e1c9315ee43c4ab5e9bdb85e737eddbd94b4d9cf565e93deb58751074fecc5aaf8461cd82eb68db52fa5189db88df38035125e7ee60
6
+ metadata.gz: 48af92f233fc293a2d3b1fb3783f12102e0851d0fcd5ddfd188e9e2313b3389742efcd67cc256186e3252cfe0722bc0a0f961bd1665f591396add0bccc22437f
7
+ data.tar.gz: 5073b54f60041abff381552ff072cfe1c07e6faa61719500c2f85a0e5de8e72a5852dc6571452225c5a27573cb76546b8c703b3f2149e2e4b3e57ab3a82fbcc9
@@ -11,7 +11,7 @@ SirTrevor.Locales.en.blocks = $.extend(SirTrevor.Locales.en.blocks, {
11
11
 
12
12
  link_to_search: {
13
13
  title: "Saved Searches",
14
- description: "This widget highlights saved searches. Each highlighted saved search links to the search results page generated by the saved search parameters. Any saved search listed on the Curation > Browse Categories page, whether published or not, can be highlighted as a saved search.",
14
+ description: "This widget highlights saved searches. Each highlighted saved search links to the search results page generated by the saved search parameters. Any saved search listed on the Curation > Browse categories page, whether published or not, can be highlighted as a saved search.",
15
15
  item_counts: "Include item counts?"
16
16
  },
17
17
 
@@ -122,14 +122,14 @@ form.edit_solr_document {
122
122
  margin-right: $spacer * 0.1;
123
123
  }
124
124
 
125
- #document {
126
- dd.blacklight-exhibit_tags {
127
- color: $body-bg;
128
- line-height: 2em;
129
- }
130
-
125
+ #document,
126
+ .document {
131
127
  .blacklight-exhibit_tags a {
132
128
  @extend .badge;
133
129
  @extend .badge-secondary;
130
+
131
+ &:not(:last-child) {
132
+ @extend .mr-2;
133
+ }
134
134
  }
135
135
  }
@@ -1,141 +1,236 @@
1
1
  $featured-browse-category-border-color: $border-color;
2
2
  $featured-browse-category-caption-color: $white;
3
- $container-tablet: 720px;
4
- $container-desktop: 960px;
5
- $container-large-desktop: 1140px;
6
- // Large desktop
7
- $featured-browse-category-margin-large-desktop: 15px;
8
- $no-sidebar-large-desktop-large-image-width: floor(($container-large-desktop)/ 3) - $featured-browse-category-margin-large-desktop;
9
- $no-sidebar-large-desktop-medium-image-width: floor(($container-large-desktop)/ 5) - $featured-browse-category-margin-large-desktop;
10
-
11
- $with-sidebar-large-desktop-width: floor($container-large-desktop - ($container-large-desktop)/ 4); // sidebar space to remove
12
- $with-sidebar-large-desktop-large-image-width: floor(($with-sidebar-large-desktop-width)/ 2) - ($featured-browse-category-margin-large-desktop * 2);
13
- $with-sidebar-large-desktop-medium-image-width: 265px;
14
-
15
- // Desktop
16
- $featured-browse-category-margin-desktop: 20px;
17
- $no-sidebar-desktop-large-image-width: floor(($container-desktop)/ 3) - $featured-browse-category-margin-desktop;
18
-
19
- $with-sidebar-desktop-width: floor($container-desktop - ($container-desktop)/ 4); // sidebar space to remove
20
- $with-sidebar-desktop-large-image-width: floor(($with-sidebar-desktop-width)/ 2) - ($featured-browse-category-margin-desktop * 2);
21
- $with-sidebar-desktop-medium-image-width: floor(($with-sidebar-desktop-width)/ 3) - ($featured-browse-category-margin-desktop);
22
-
23
- // Tablet
24
- $featured-browse-category-margin-tablet: 20px;
25
- $no-sidebar-tablet-large-image-width: floor(($container-tablet)/ 3) - $featured-browse-category-margin-tablet;
26
- $with-sidebar-tablet-large-image-width: floor(($container-tablet)/ 2) - ($featured-browse-category-margin-tablet * 2);
27
-
28
- // Extra small
29
- $no-sidebar-xs-image-width: 190px;
30
- $with-sidebar-xs-image-width: $no-sidebar-xs-image-width;
31
-
32
- // Height adjustments
33
- $aspect-ratio-factor-large-image: 0.75; // 4:3 width:height
34
- $aspect-ratio-factor-medium-image: 1; // 1:1 width: height
3
+
4
+ // These are the widths of the main content area at each viewport width
5
+ $container-sm: 510px; // (Bootstrap 4 "sm")
6
+ $container-md: 690px; // (Bootstrap 4 "md")
7
+ $container-lg: 930px; // (Bootstrap 4 "lg")
8
+ $container-xl: 1100px; // (Bootstrap 4 "xl")
9
+ $container-xl-sidebar: 825px; // ("xl" main content area when sidebar present)
10
+
11
+ // The aspect ratio factor determines the height of the tile.
12
+ // Can use different values because images are background images
13
+ // and will fit the container without distortion.
14
+ $aspect-ratio-factor-4x3: 0.75; // 4:3 width:height
15
+ $aspect-ratio-factor-1x1: 1; // 1:1 width: height
16
+
17
+ // Horizontal space between tiles
18
+ $tile-margin: 16px;
19
+
20
+ // Limits size of tile in cases where calculations create unreasonably large tile
21
+ $maximum-tile-width: 290px;
22
+
23
+ // `xs` viewport width; always display one full-width tile, wrapping others
24
+ $xs-one-tile-width: $maximum-tile-width;
25
+
26
+ // `sm` viewport width
27
+ $sm-one-tile-width: $xs-one-tile-width;
28
+ $sm-two-tile-width: ($container-sm / 2) - $tile-margin;
29
+ $sm-three-tile-width: ($container-sm / 3) - $tile-margin;
30
+
31
+ // `md` viewport width
32
+ $md-one-tile-width: $xs-one-tile-width;
33
+ $md-two-tile-width: ($container-md/ 2) - $tile-margin;
34
+ $md-three-tile-width: ($container-md / 3) - $tile-margin;
35
+
36
+ // `lg` viewport width
37
+ $lg-one-tile-width: $xs-one-tile-width;
38
+ $lg-two-tile-width: ($container-lg/ 2) - $tile-margin;
39
+ $lg-three-tile-width: ($container-lg / 3) - $tile-margin;
40
+ $lg-four-tile-width: ($container-lg / 4) - $tile-margin;
41
+ $lg-five-tile-width: ($container-lg / 5) - $tile-margin;
42
+
43
+ // `xl` viewport width
44
+ $xl-one-tile-width: $xs-one-tile-width;
45
+ $xl-two-tile-width: ($container-xl/ 2) - $tile-margin;
46
+ $xl-three-tile-width: ($container-xl / 3) - $tile-margin;
47
+ $xl-four-tile-width: ($container-xl / 4) - $tile-margin;
48
+ $xl-five-tile-width: ($container-xl / 5) - $tile-margin;
49
+
50
+ // `xl` with sidebar viewport width
51
+ $xl-sidebar-three-tile-width: ($container-xl-sidebar / 3) - $tile-margin;
52
+ $xl-sidebar-four-tile-width: ($container-xl-sidebar / 4) - $tile-margin;
53
+ $xl-sidebar-five-tile-width: ($container-xl-sidebar / 5) - $tile-margin;
35
54
 
36
55
  .browse-category {
37
56
  background-size: cover;
38
57
  background-position: center;
58
+ background-repeat: no-repeat;
39
59
  border: 2px solid $featured-browse-category-border-color;
40
60
  border-radius: $border-radius-lg;
41
61
  position: relative;
42
- float: left;
43
- background-repeat: no-repeat;
62
+
44
63
  .category-caption {
64
+ bottom: 16px; // assumes default font-size of 16px, using browser default of 1 rem == 16px
45
65
  color: $featured-browse-category-caption-color;
46
66
  position: absolute;
47
- bottom: 16px; // assumes default font-size of 16px, using browser default of 1 rem == 16px
48
67
  text-align: center;
49
- text-shadow: 0 1px 0 #000000;
68
+ text-shadow: 0 1px 0 $black;
50
69
  width: 100%;
51
70
  }
71
+
52
72
  .category-title {
53
73
  font-size: $font-size-lg;
54
74
  line-height: 1.2;
55
75
  margin: 0;
56
76
  padding: $spacer / 4;
57
77
  }
78
+
58
79
  .category-subtitle {
59
80
  display: block;
60
81
  }
82
+
61
83
  .item-count {
62
84
  font-size: $font-size-base;
63
85
  text-transform: uppercase;
64
86
  }
65
87
  }
66
88
 
67
- [data-sidebar="false"] {
68
- &.categories-1, &.categories-2, &.categories-3 {
89
+ .spotlight-flexbox.browse-categories {
90
+ justify-content: space-around;
91
+
92
+ .box {
93
+ flex: none;
94
+ margin-bottom: 1rem;
95
+ min-width: 150px;
96
+ padding: 0;
97
+ }
98
+ }
99
+
100
+ // Most tile sizing works regardless of sidebar or not, because
101
+ // only "lg" and "xl" have a sidebar, and "lg" with a sidebar
102
+ // is the same width as "md" without a sidebar.
103
+ [data-sidebar="false"],
104
+ [data-sidebar="true"] {
105
+ &.categories-1, &.categories-2, &.categories-3,
106
+ &.categories-4, &.categories-5 {
107
+ .browse-category {
108
+ max-width: $maximum-tile-width;
109
+ max-height: $maximum-tile-width * $aspect-ratio-factor-4x3;
110
+ width: $xs-one-tile-width;
111
+ height: $xs-one-tile-width * $aspect-ratio-factor-4x3;
112
+ }
113
+ }
114
+ &.categories-2 {
115
+ .browse-category {
116
+ @media (min-width: breakpoint-min("sm")) {
117
+ width: $sm-two-tile-width;
118
+ height: $sm-two-tile-width * $aspect-ratio-factor-4x3;
119
+ }
120
+
121
+ @media (min-width: breakpoint-min("md")) {
122
+ width: $md-two-tile-width;
123
+ height: $md-two-tile-width * $aspect-ratio-factor-4x3;
124
+ }
125
+ }
126
+ }
127
+ &.categories-3 {
69
128
  .browse-category {
70
- width: $no-sidebar-xs-image-width;
71
- height: $no-sidebar-xs-image-width * $aspect-ratio-factor-large-image;
72
- @media (min-width: breakpoint-min("sm")) and (max-width: breakpoint-max("md")) {
73
- width: $no-sidebar-tablet-large-image-width;
74
- height: $no-sidebar-tablet-large-image-width * $aspect-ratio-factor-large-image;
129
+ @media (min-width: breakpoint-min("sm")) {
130
+ width: $sm-three-tile-width;
131
+ height: $sm-three-tile-width * $aspect-ratio-factor-4x3;
75
132
  }
76
- @media (min-width: breakpoint-min("md")) and (min-width: breakpoint-min("lg")) {
77
- width: $no-sidebar-desktop-large-image-width;
78
- height: $no-sidebar-desktop-large-image-width * $aspect-ratio-factor-large-image;
133
+
134
+ @media (min-width: breakpoint-min("md")) {
135
+ width: $md-three-tile-width;
136
+ height: $md-three-tile-width * $aspect-ratio-factor-4x3;
79
137
  }
138
+
80
139
  @media (min-width: breakpoint-min("lg")) {
81
- width: $no-sidebar-large-desktop-large-image-width;
82
- height: $no-sidebar-large-desktop-large-image-width * $aspect-ratio-factor-large-image;
140
+ width: $lg-three-tile-width;
141
+ height: $lg-three-tile-width * $aspect-ratio-factor-4x3;
83
142
  }
84
143
  }
85
144
  }
86
- &.categories-4, &.categories-5 {
145
+ &.categories-4 {
87
146
  .browse-category {
88
- width: $no-sidebar-large-desktop-medium-image-width;
89
- height: $no-sidebar-large-desktop-medium-image-width * $aspect-ratio-factor-medium-image;
90
- @media (max-width: breakpoint-max("sm")) {
91
- width: $no-sidebar-xs-image-width;
92
- height: $no-sidebar-xs-image-width * $aspect-ratio-factor-medium-image;
147
+ @media (min-width: breakpoint-min("sm")) {
148
+ width: $sm-two-tile-width;
149
+ height: $sm-two-tile-width * $aspect-ratio-factor-4x3;
150
+ }
151
+
152
+ @media (min-width: breakpoint-min("md")) {
153
+ width: $md-two-tile-width;
154
+ height: $md-two-tile-width * $aspect-ratio-factor-4x3;
155
+ }
156
+
157
+ @media (min-width: breakpoint-min("lg")) {
158
+ width: $lg-four-tile-width;
159
+ height: $lg-four-tile-width * $aspect-ratio-factor-4x3;
160
+ }
161
+
162
+ @media (min-width: breakpoint-min("xl")) {
163
+ width: $xl-four-tile-width;
164
+ height: $xl-four-tile-width * $aspect-ratio-factor-4x3;
93
165
  }
94
166
  }
95
- .category-4 {
96
- @extend .d-sm-none;
97
- }
98
- .category-5 {
99
- @extend .d-md-none;
100
- @extend .d-sm-none;
167
+ }
168
+ &.categories-5 {
169
+ .browse-category {
170
+ @media (min-width: breakpoint-min("sm")) {
171
+ width: $sm-three-tile-width;
172
+ height: $sm-three-tile-width * $aspect-ratio-factor-4x3;
173
+ }
174
+
175
+ @media (min-width: breakpoint-min("md")) {
176
+ width: $md-three-tile-width;
177
+ height: $md-three-tile-width * $aspect-ratio-factor-4x3;
178
+ }
179
+
180
+ @media (min-width: breakpoint-min("lg")) {
181
+ width: $lg-five-tile-width;
182
+ height: $lg-five-tile-width * $aspect-ratio-factor-4x3;
183
+ }
184
+
185
+ @media (min-width: breakpoint-min("xl")) {
186
+ width: $xl-five-tile-width;
187
+ height: $xl-five-tile-width * $aspect-ratio-factor-4x3;
188
+ }
101
189
  }
102
190
  }
103
191
  }
104
192
 
193
+ // Special cases where the sizing above doesn't work when there is a sidebar.
194
+ // Note that "lg" with a sidebar has the same available width as "md"
195
+ // without a sidebar.
105
196
  [data-sidebar="true"] {
106
- &.categories-1, &.categories-2 {
197
+ &.categories-3 {
107
198
  .browse-category {
108
- width: $with-sidebar-xs-image-width;
109
- height: $with-sidebar-xs-image-width * $aspect-ratio-factor-large-image;
110
- @media (min-width: breakpoint-min("sm")) and (max-width: breakpoint-max("md")) {
111
- width: $with-sidebar-tablet-large-image-width;
112
- height: $with-sidebar-tablet-large-image-width * $aspect-ratio-factor-large-image;
199
+ @media (min-width: breakpoint-min("lg")) {
200
+ width: $md-three-tile-width;
201
+ height: $md-three-tile-width * $aspect-ratio-factor-4x3;
113
202
  }
114
- @media (min-width: breakpoint-min("md")) and (max-width: breakpoint-max("lg")) {
115
- width: $with-sidebar-desktop-large-image-width;
116
- height: $with-sidebar-desktop-large-image-width * $aspect-ratio-factor-large-image;
203
+
204
+ @media (min-width: breakpoint-min("xl")) {
205
+ width: $xl-sidebar-three-tile-width;
206
+ height: $xl-sidebar-three-tile-width * $aspect-ratio-factor-4x3;
117
207
  }
208
+ }
209
+ }
210
+ &.categories-4 {
211
+ .browse-category {
118
212
  @media (min-width: breakpoint-min("lg")) {
119
- width: $with-sidebar-large-desktop-large-image-width;
120
- height: $with-sidebar-large-desktop-large-image-width * $aspect-ratio-factor-large-image;
213
+ width: $md-two-tile-width;
214
+ height: $md-two-tile-width * $aspect-ratio-factor-4x3;
215
+ }
216
+
217
+ @media (min-width: breakpoint-min("xl")) {
218
+ width: $xl-sidebar-four-tile-width;
219
+ height: $xl-sidebar-four-tile-width * $aspect-ratio-factor-4x3;
121
220
  }
122
221
  }
123
222
  }
124
- &.categories-3, &.categories-4, &.categories-5 {
125
- .browse-category {
126
- width: $with-sidebar-desktop-medium-image-width;
127
- height: $with-sidebar-desktop-medium-image-width * $aspect-ratio-factor-medium-image;
128
- @media (max-width: breakpoint-max("sm")) {
129
- width: $with-sidebar-xs-image-width;
130
- height: $with-sidebar-xs-image-width * $aspect-ratio-factor-medium-image;
131
- }
223
+ &.categories-5 {
224
+ .browse-category {
132
225
  @media (min-width: breakpoint-min("lg")) {
133
- width: $with-sidebar-large-desktop-medium-image-width;
134
- height: $with-sidebar-large-desktop-medium-image-width * $aspect-ratio-factor-medium-image;
226
+ width: $md-three-tile-width;
227
+ height: $md-three-tile-width * $aspect-ratio-factor-4x3;
228
+ }
229
+
230
+ @media (min-width: breakpoint-min("xl")) {
231
+ width: $xl-sidebar-five-tile-width;
232
+ height: $xl-sidebar-five-tile-width * $aspect-ratio-factor-4x3;
135
233
  }
136
234
  }
137
235
  }
138
- .category-4, .category-5 {
139
- display: none;
140
- }
141
236
  }
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  .item-text {
25
- .item-col {
25
+ .items-col {
26
26
  z-index: 1;
27
27
  }
28
28
  }
@@ -58,13 +58,18 @@
58
58
  }
59
59
 
60
60
  .contact-properties {
61
- padding-left: 1rem;
62
- text-indent: -1rem;
61
+ padding-left: 0.125rem;
62
+
63
+ > div {
64
+ padding-bottom: 5px;
65
+ }
63
66
  }
64
67
 
65
68
  ol.contacts {
69
+ line-height: 1.33;
70
+
66
71
  li {
67
- margin-bottom: $spacer * .5;
72
+ margin-bottom: 1rem;
68
73
  margin-top: $spacer * .5;
69
74
  word-break: break-word;
70
75
  .name {
@@ -76,7 +81,7 @@
76
81
  ol.sidenav {
77
82
  li {
78
83
  color: $gray-900;
79
- margin-top: $spacer * .25;
84
+ margin-top: $spacer * .5;
80
85
  }
81
86
 
82
87
  ol.subsection {
@@ -78,3 +78,9 @@
78
78
  margin-top: $spacer;
79
79
  padding-bottom: 3px;
80
80
  }
81
+
82
+ .translation-import-export-label {
83
+ @media (min-width: 576px) {
84
+ text-align: right;
85
+ }
86
+ }
@@ -29,7 +29,7 @@ module Spotlight
29
29
  def initialize_browse
30
30
  return unless searches.blank?
31
31
 
32
- searches.create title: 'All Exhibit Items',
32
+ searches.create title: 'All exhibit items',
33
33
  long_description: 'All items in this exhibit.'
34
34
  end
35
35
 
@@ -4,23 +4,23 @@
4
4
 
5
5
  <ol>
6
6
  <li>
7
- To add content to this page, click the Edit button above to enter Edit mode.
7
+ To add content to this page, select the Edit button above to enter edit mode.
8
8
  </li>
9
9
  <li>
10
- In Edit mode, click the plus sign icon to display the widget selection panel. This panel displays a range of widgets, each of which adds a different type of content to the page.
10
+ In edit mode, select the plus sign icon to display the widget selection panel. This panel displays a range of widgets, each of which adds a different type of content to the page.
11
11
  </li>
12
12
  <li>
13
- Select a widget to configure. Click <strong>Save changes</strong> when you're ready to add it to the page.
13
+ Select a widget to configure. Select <b>Save changes</b> when you're ready to add it to the page.
14
14
  </li>
15
15
  <li>
16
16
  Repeat the steps above to continue adding widgets to build out the page. To work more efficiently, you can configure multiple widgets before saving the page. Use the icons in the lower right of the widget configuration panel to preview, reorder, or delete widgets.
17
17
  </li>
18
18
  <li>
19
- Use the checkbox in the <strong>Options</strong> tab to publish or unpublish the page.
19
+ Use the checkbox in the <b>Options</b> tab to publish or unpublish the page.
20
20
  </li>
21
21
  <li>
22
22
  Visit the Spotlight <%= link_to 'documentation pages', 'https://github.com/projectblacklight/spotlight/wiki' %> to learn more about creating exhibit pages.
23
23
  </li>
24
24
  </ol>
25
25
  </div>
26
- <% end %>
26
+ <% end %>