warclight 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e1a86239db7cb3980ec2b5ccc0cfb0363cfa38f
4
- data.tar.gz: e76c85f197a7e161db4f044b1b802a495eac909b
3
+ metadata.gz: 4dfb09424453dcf42c6d11f0ae31c6fb2db9cf35
4
+ data.tar.gz: 2a479ba8653d7a49771dd844ef79012fdf9fcd84
5
5
  SHA512:
6
- metadata.gz: feccb07631707fb23b3039844a8d1d377af30e9e6ae0698a274a4b015b45086ebb2d7d2d695f24fdd148e20392e5b47b3c498b5dbb1bd92b2cad1c5786551572
7
- data.tar.gz: 572b71c85c56a2c51c6a919680affb04089b97ff0a55e5d030f904186bda420ec90f5284c9b42f8c96e8b3483afbf96a34711b4a3696efb543ec1f97ba8ac1eb
6
+ metadata.gz: 364bcd61d925d71036fd089b27556a4f8f6587a47f7c36af3584cdfe17577f252a21568614bb888560eafc6f55e95e5b2212c3326ad041beb2d3d0a1fe8570f9
7
+ data.tar.gz: d054e07be0178a744e818cd08912c75ac0eb0420d4577ec4f7c3e211220e42d0e85c09cefbbb93c3322f488437f9a2493c720ae6a2ef9dfc0af6054f92b76d7f
data/.rubocop.yml CHANGED
@@ -17,6 +17,7 @@ Metrics/LineLength:
17
17
  Max: 120
18
18
  Exclude:
19
19
  - 'Gemfile'
20
+ - 'spec/models/concerns/warclight/solr_document_spec.rb'
20
21
 
21
22
  Metrics/ModuleLength:
22
23
  Max: 120
@@ -34,12 +35,17 @@ Metrics/BlockLength:
34
35
  - 'spec/**/*'
35
36
  - 'lib/warclight/custom_document.rb'
36
37
 
38
+ Metrics/AbcSize:
39
+ Exclude:
40
+ - 'app/models/concerns/warclight/solr_document.rb' #Come back to this later
41
+
37
42
  Performance/RegexpMatch:
38
43
  Enabled: false
39
44
 
40
45
  Rails/OutputSafety:
41
46
  Exclude:
42
47
  - 'app/controllers/concerns/warclight/field_config_helpers.rb' # html_safe needs to be called to mimic BL JOIN behavior
48
+ - 'app/models/concerns/warclight/solr_document.rb'
43
49
 
44
50
  RSpec/ExampleLength:
45
51
  Enabled: false
@@ -50,6 +56,10 @@ RSpec/MultipleExpectations:
50
56
  RSpec/NestedGroups:
51
57
  Max: 4
52
58
 
59
+ Rails/TimeZone:
60
+ Exclude:
61
+ - 'app/models/concerns/warclight/solr_document.rb' #Come back to this later
62
+
53
63
  Style/Documentation:
54
64
  Exclude:
55
65
  - 'spec/**/*'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Change Log
2
2
 
3
+ ## [v0.3.0](https://github.com/archivesunleashed/warclight/tree/v0.3.0) (2017-10-11)
4
+ [Full Changelog](https://github.com/archivesunleashed/warclight/compare/v0.2.0...v0.3.0)
5
+
6
+ **Implemented enhancements:**
7
+
8
+ - Document titles occasionally seem off [\#18](https://github.com/archivesunleashed/warclight/issues/18)
9
+ - Truncate fields on search results display? [\#9](https://github.com/archivesunleashed/warclight/issues/9)
10
+
11
+ **Closed issues:**
12
+
13
+ - Change resourcename type from text\_general to string [\#24](https://github.com/archivesunleashed/warclight/issues/24)
14
+
15
+ **Merged pull requests:**
16
+
17
+ - Add helper method to truncate arrays; Resolves \#9 [\#28](https://github.com/archivesunleashed/warclight/pull/28) ([ruebot](https://github.com/ruebot))
18
+ - Add live http status code check for linking out urls; Resolves \#26. [\#27](https://github.com/archivesunleashed/warclight/pull/27) ([ruebot](https://github.com/ruebot))
19
+
3
20
  ## [v0.2.0](https://github.com/archivesunleashed/warclight/tree/v0.2.0) (2017-09-07)
4
21
  [Full Changelog](https://github.com/archivesunleashed/warclight/compare/v0.1.1...v0.2.0)
5
22
 
@@ -1,4 +1,2 @@
1
- //= require warclight/oembed_viewer
2
-
3
1
  // Vendor Scripts
4
2
  //= require responsiveTruncator
@@ -5,5 +5,18 @@ module Warclight
5
5
  # Extends Blacklight::Solr::Document to provide Warclight specific behavior
6
6
  module SolrDocument
7
7
  extend Blacklight::Solr::Document
8
+
9
+ def replay_link
10
+ time_travel_base_url = 'http://timetravel.mementoweb.org/api/json/'
11
+ time_travel_time_format = '%Y%m%d%H%M%S'
12
+ time_travel_time = (Time.parse(first(:crawl_date)).strftime time_travel_time_format).to_s
13
+ time_travel_request_url = time_travel_base_url + time_travel_time + '/' + first(:url).to_s
14
+ time_travel_request = URI(time_travel_request_url)
15
+ time_travel_response = Net::HTTP.get(time_travel_request)
16
+ time_travel_response_json = JSON.parse(time_travel_response)
17
+ replay_url = time_travel_response_json['mementos']['closest']['uri'][0]
18
+ replay_url_link = '<a href="' + "#{replay_url}" '" target="_blank">'"#{replay_url}"'</a> 🔗'
19
+ replay_url_link.html_safe
20
+ end
8
21
  end
9
22
  end
@@ -20,7 +20,7 @@ class CatalogController < ApplicationController
20
20
  }
21
21
 
22
22
  # solr field configuration for search results/index views
23
- config.index.title_field = ['title', 'resourcename_s']
23
+ config.index.title_field = ['title', 'resourcename']
24
24
 
25
25
  # solr fields that will be treated as facets by the blacklight application
26
26
  # The ordering of the field names is the order of the display
@@ -48,16 +48,16 @@ class CatalogController < ApplicationController
48
48
  # :index_range can be an array or range of prefixes that will be used to
49
49
  # create the navigation (note: It is case sensitive when searching values)
50
50
 
51
- config.add_facet_field 'content_type_norm', label: 'General Content Type', collapse: false
52
- config.add_facet_field 'crawl_year', label: 'Crawl Year', collapse: false
51
+ config.add_facet_field 'content_type_norm', label: 'General Content Type', collapse: false, limit: true
52
+ config.add_facet_field 'crawl_year', label: 'Crawl Year', collapse: false, limit: true, sort: 'index'
53
53
  config.add_facet_field 'public_suffix', label: 'Public Suffix', collapse: false, limit: true
54
54
  config.add_facet_field 'domain', label: 'Domain', limit: true
55
55
  config.add_facet_field 'links_domains', label: 'Links Domains', limit: true
56
56
  config.add_facet_field 'content_language', label: 'Content Language', limit: true
57
- config.add_facet_field 'resourcename_s', label: 'Filename', limit: true
58
- config.add_facet_field 'institution', label: 'Institution'
59
- config.add_facet_field 'collection_name', label: 'Collection Name'
60
- config.add_facet_field 'collection_number', label: 'Collection Number'
57
+ config.add_facet_field 'resourcename_s', label: 'Resource Name', limit: true
58
+ config.add_facet_field 'institution', label: 'Institution', limit: true
59
+ config.add_facet_field 'collection_name', label: 'Collection Name', limit: true
60
+ config.add_facet_field 'collection_number', label: 'Collection Number', limit: true
61
61
 
62
62
  # Have BL send all facet field names to Solr, which has been the default
63
63
  # previously. Simply remove these lines if you'd rather use Solr request
@@ -80,13 +80,14 @@ class CatalogController < ApplicationController
80
80
  # solr fields to be displayed in the show (single result) view
81
81
  # The ordering of the field names is the order of the display
82
82
  config.add_show_field 'url', label: 'URL', helper_method: :url_to_link
83
- config.add_show_field 'resourcename_s', label: 'Filename', link_to_facet: true
83
+ config.add_show_field 'replay_url', label: 'Replay URL', accessor: :replay_link
84
+ config.add_show_field 'resourcename', label: 'Resource Name', link_to_facet: true
84
85
  config.add_show_field 'host', label: 'Host', link_to_facet: true
85
86
  config.add_show_field 'institution', label: 'Institution', link_to_facet: true
86
87
  config.add_show_field 'collection_name', label: 'Collection Name', link_to_facet: true
87
88
  config.add_show_field 'collection_number', label: 'Collection Number', link_to_facet: true
88
89
  config.add_show_field 'crawl_date', label: 'Crawl Date'
89
- config.add_show_field 'source_file', label: 'Source File'
90
+ config.add_show_field 'source_file', label: 'Source File', link_to_facet: true
90
91
  config.add_show_field 'content_type_norm', label: 'General Content Type', link_to_facet: true
91
92
  config.add_show_field 'content_language', label: 'Content Language', link_to_facet: true
92
93
  config.add_show_field 'content_length', label: 'Length'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Warclight
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0'
5
5
  end
@@ -92,28 +92,26 @@
92
92
  <int name="rows">10</int>
93
93
  <str name="q.alt">*:*</str>
94
94
  <str name="qf">
95
- title^50
96
- author^50
97
- keywords^40
98
- description^35
99
- wct_title_^50
100
- wct_description^35
101
- url^75
102
- content^25
103
- host^25
104
- text^25
95
+ title^10
96
+ author^10
97
+ keywords^9
98
+ description^8.5
99
+ wct_title_^10
100
+ wct_description^8.5
101
+ url^15
102
+ content^5
103
+ host^5
105
104
  </str>
106
105
  <str name="pf">
107
- title^50
108
- author^50
109
- keywords^40
110
- description^35
111
- wct_title^50
112
- wct_description^35
113
- url^75
114
- content^25
115
- host^25
116
- text^25
106
+ title^10
107
+ author^10
108
+ keywords^9
109
+ description^8.5
110
+ wct_title^10
111
+ wct_description^8.5
112
+ url^15
113
+ content^5
114
+ host^5
117
115
  </str>
118
116
  <int name="ps">3</int>
119
117
  <float name="tie">0.01</float>
data/template.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # We can remove `blacklight` and `blacklight_range_limit` once they are released
4
- # since they are already dependents of Arclight (but we need to pin to particular branches)
4
+ # since they are already dependents of Warclight (but we need to pin to particular branches)
5
5
  gem 'blacklight', github: 'projectblacklight/blacklight'
6
6
  gem 'blacklight_range_limit', github: 'projectblacklight/blacklight_range_limit', branch: 'blacklight-7'
7
7
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warclight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Ruest
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-11 00:00:00.000000000 Z
11
+ date: 2017-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: blacklight
@@ -213,7 +213,6 @@ files:
213
213
  - Rakefile
214
214
  - app/assets/images/blacklight/compact.svg
215
215
  - app/assets/images/blacklight/logo.png
216
- - app/assets/javascripts/warclight/oembed_viewer.js
217
216
  - app/assets/javascripts/warclight/warclight.js
218
217
  - app/assets/stylesheets/warclight/application.scss
219
218
  - app/assets/stylesheets/warclight/warclight.scss
@@ -1,39 +0,0 @@
1
- Blacklight.onLoad(function () {
2
- 'use strict';
3
- var onlineContentTabSelector = '[data-arclight-online-content-tab="true"]';
4
- var oEmbedViewerSelector = '[data-arclight-oembed="true"]';
5
-
6
- $(onlineContentTabSelector).on('shown.bs.tab', function() {
7
- var $viewerElements = $(oEmbedViewerSelector);
8
- if($viewerElements.length === 0) {
9
- return;
10
- }
11
-
12
- $viewerElements.each(function (i, element) {
13
- var $el = $(element);
14
- var data = $el.data();
15
- var resourceUrl = data.arclightOembedUrl;
16
- $.ajax({
17
- url: resourceUrl,
18
- dataType: 'html'
19
- }).done(function (response) {
20
- var links = $('<div>' + response.match(/<link .*>/g).join('') + '</div>'); // Parse out link elements so image assets are not loaded
21
- var oEmbedEndPoint = links.find('link[rel="alternate"][type="application/json+oembed"]').prop('href');
22
-
23
- if(!oEmbedEndPoint || oEmbedEndPoint.length === 0) {
24
- return;
25
- }
26
-
27
- $.ajax({
28
- url: oEmbedEndPoint
29
- }).done(function (oEmbedResponse) {
30
- if(oEmbedResponse.html) {
31
- $el.hide()
32
- .html(oEmbedResponse.html)
33
- .fadeIn(500);
34
- }
35
- });
36
- });
37
- });
38
- });
39
- });