arclight 0.2.0 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.all-contributorsrc +450 -0
- data/.codeclimate.yml +5 -0
- data/.eslintrc +14 -4
- data/.github/workflows/ruby.yml +51 -0
- data/.gitignore +1 -0
- data/.rspec +0 -1
- data/.rubocop.yml +504 -8
- data/.rubocop_todo.yml +62 -199
- data/.solr_wrapper +2 -1
- data/CONTRIBUTING.md +5 -5
- data/CONTRIBUTORS.md +79 -0
- data/Gemfile +15 -10
- data/README.md +36 -34
- data/Rakefile +0 -1
- data/app/assets/images/blacklight/bookmark.svg +1 -0
- data/app/assets/images/blacklight/collection.svg +5 -0
- data/app/assets/images/blacklight/compact.svg +1 -25
- data/app/assets/images/blacklight/container.svg +5 -0
- data/app/assets/images/blacklight/ead.svg +1 -0
- data/app/assets/images/blacklight/file.svg +5 -0
- data/app/assets/images/blacklight/folder.svg +1 -0
- data/app/assets/images/blacklight/list.svg +1 -0
- data/app/assets/images/blacklight/minus.svg +1 -0
- data/app/assets/images/blacklight/online.svg +5 -0
- data/app/assets/images/blacklight/pdf.svg +1 -0
- data/app/assets/images/blacklight/plus.svg +1 -0
- data/app/assets/images/blacklight/repository.svg +1 -0
- data/app/assets/javascripts/arclight/arclight.js +4 -10
- data/app/assets/javascripts/arclight/oembed_controller.js +58 -0
- data/app/assets/javascripts/arclight/truncate_controller.js +27 -0
- data/app/assets/stylesheets/arclight/application.scss +4 -4
- data/app/assets/stylesheets/arclight/build.scss +4 -0
- data/app/assets/stylesheets/arclight/modules/hierarchy_and_online_contents.scss +117 -146
- data/app/assets/stylesheets/arclight/modules/highlights.scss +2 -1
- data/app/assets/stylesheets/arclight/modules/icons.scss +20 -0
- data/app/assets/stylesheets/arclight/modules/layout.scss +183 -40
- data/app/assets/stylesheets/arclight/modules/mastheads.scss +24 -75
- data/app/assets/stylesheets/arclight/modules/repositories.scss +3 -7
- data/app/assets/stylesheets/arclight/modules/repository_card.scss +5 -50
- data/app/assets/stylesheets/arclight/modules/search_form.scss +9 -0
- data/app/assets/stylesheets/arclight/modules/search_results.scss +197 -26
- data/app/assets/stylesheets/arclight/modules/show_collection.scss +21 -69
- data/app/assets/stylesheets/arclight/modules/truncator.scss +58 -0
- data/app/assets/stylesheets/arclight/responsive.scss +13 -0
- data/app/assets/stylesheets/arclight/variables.scss +25 -2
- data/app/components/arclight/access_component.html.erb +14 -0
- data/app/components/arclight/access_component.rb +25 -0
- data/app/components/arclight/bookmark_component.html.erb +25 -0
- data/app/components/arclight/bookmark_component.rb +9 -0
- data/app/components/arclight/breadcrumb_component.rb +50 -0
- data/app/components/arclight/breadcrumbs_hierarchy_component.html.erb +34 -0
- data/app/components/arclight/breadcrumbs_hierarchy_component.rb +25 -0
- data/app/components/arclight/collection_context_component.html.erb +12 -0
- data/app/components/arclight/collection_context_component.rb +27 -0
- data/app/components/arclight/collection_info_component.html.erb +28 -0
- data/app/components/arclight/collection_info_component.rb +26 -0
- data/app/components/arclight/collection_sidebar_component.html.erb +15 -0
- data/app/components/arclight/collection_sidebar_component.rb +39 -0
- data/app/{views/catalog/_search_results_repository.html.erb → components/arclight/constraints_component.html.erb} +2 -1
- data/app/components/arclight/constraints_component.rb +17 -0
- data/app/components/arclight/document_collection_context_component.html.erb +29 -0
- data/app/components/arclight/document_collection_context_component.rb +28 -0
- data/app/components/arclight/document_collection_hierarchy_component.html.erb +50 -0
- data/app/components/arclight/document_collection_hierarchy_component.rb +62 -0
- data/app/components/arclight/document_component.html.erb +39 -0
- data/app/components/arclight/document_component.rb +49 -0
- data/app/components/arclight/document_components_hierarchy_component.html.erb +20 -0
- data/app/components/arclight/document_components_hierarchy_component.rb +34 -0
- data/app/components/arclight/document_download_component.html.erb +24 -0
- data/app/components/arclight/document_download_component.rb +71 -0
- data/app/components/arclight/embed_component.html.erb +10 -0
- data/app/components/arclight/embed_component.rb +43 -0
- data/app/components/arclight/expand_hierarchy_button_component.html.erb +5 -0
- data/app/components/arclight/expand_hierarchy_button_component.rb +16 -0
- data/app/components/arclight/group_component.html.erb +34 -0
- data/app/components/arclight/group_component.rb +23 -0
- data/app/components/arclight/header_component.html.erb +5 -0
- data/app/components/arclight/header_component.rb +10 -0
- data/app/components/arclight/index_metadata_field_component.html.erb +16 -0
- data/app/components/arclight/index_metadata_field_component.rb +20 -0
- data/app/components/arclight/masthead_component.html.erb +17 -0
- data/app/components/arclight/masthead_component.rb +10 -0
- data/app/components/arclight/metadata_section_component.html.erb +13 -0
- data/app/components/arclight/metadata_section_component.rb +22 -0
- data/app/components/arclight/oembed_viewer_component.html.erb +5 -0
- data/app/components/arclight/oembed_viewer_component.rb +16 -0
- data/app/components/arclight/online_content_filter_component.html.erb +15 -0
- data/app/components/arclight/online_content_filter_component.rb +17 -0
- data/app/components/arclight/online_status_indicator_component.rb +19 -0
- data/app/components/arclight/repository_breadcrumb_component.html.erb +10 -0
- data/app/components/arclight/repository_breadcrumb_component.rb +17 -0
- data/app/components/arclight/repository_location_component.html.erb +20 -0
- data/app/components/arclight/repository_location_component.rb +10 -0
- data/app/components/arclight/search_bar_component.html.erb +27 -0
- data/app/components/arclight/search_bar_component.rb +32 -0
- data/app/components/arclight/search_result_breadcrumbs_component.html.erb +6 -0
- data/app/components/arclight/search_result_breadcrumbs_component.rb +37 -0
- data/app/components/arclight/search_result_component.html.erb +20 -0
- data/app/components/arclight/search_result_component.rb +18 -0
- data/app/components/arclight/search_result_title_component.html.erb +15 -0
- data/app/components/arclight/search_result_title_component.rb +15 -0
- data/app/components/arclight/sidebar_component.html.erb +9 -0
- data/app/components/arclight/sidebar_component.rb +19 -0
- data/app/components/arclight/upper_metadata_layout_component.rb +10 -0
- data/app/components/blacklight/icons/bookmark_component.rb +12 -0
- data/app/components/blacklight/icons/collection_component.rb +14 -0
- data/app/components/blacklight/icons/compact_component.rb +12 -0
- data/app/components/blacklight/icons/container_component.rb +14 -0
- data/app/components/blacklight/icons/ead_component.rb +12 -0
- data/app/components/blacklight/icons/file_component.rb +14 -0
- data/app/components/blacklight/icons/folder_component.rb +12 -0
- data/app/components/blacklight/icons/online_component.rb +15 -0
- data/app/components/blacklight/icons/pdf_component.rb +12 -0
- data/app/components/blacklight/icons/repository_component.rb +12 -0
- data/app/controllers/arclight/repositories_controller.rb +4 -4
- data/app/helpers/arclight/ead_format_helpers.rb +309 -0
- data/app/helpers/arclight/field_config_helpers.rb +26 -0
- data/app/helpers/arclight_helper.rb +55 -120
- data/app/models/arclight/document_downloads.rb +122 -0
- data/app/models/arclight/parent.rb +9 -9
- data/app/models/arclight/parents.rb +9 -4
- data/app/models/arclight/requests/aeon_external_request.rb +42 -0
- data/app/models/arclight/requests/aeon_web_ead.rb +52 -0
- data/app/models/arclight/requests/google_form.rb +8 -3
- data/app/models/concerns/arclight/catalog.rb +33 -11
- data/app/models/concerns/arclight/search_behavior.rb +22 -21
- data/app/models/concerns/arclight/solr_document.rb +88 -59
- data/app/presenters/arclight/show_presenter.rb +34 -7
- data/app/views/arclight/_requests.html.erb +7 -0
- data/app/views/arclight/repositories/_repository.html.erb +22 -41
- data/app/views/arclight/repositories/index.html.erb +5 -0
- data/app/views/arclight/repositories/show.html.erb +7 -8
- data/app/views/arclight/requests/_aeon_external_request_endpoint.html.erb +8 -0
- data/app/views/arclight/requests/_aeon_web_ead.html.erb +6 -0
- data/app/views/arclight/requests/_google_form.html.erb +4 -5
- data/app/views/catalog/_document_list.html.erb +8 -0
- data/app/views/catalog/_group.html.erb +4 -0
- data/app/views/catalog/_group_toggle.html.erb +10 -0
- data/app/views/catalog/_search_results_header.html.erb +3 -0
- data/app/views/catalog/hierarchy.html.erb +19 -0
- data/app/views/catalog/index.html.erb +16 -7
- data/app/views/shared/_breadcrumbs.html.erb +3 -15
- data/app/views/shared/_main_menu_links.html.erb +1 -1
- data/arclight.gemspec +18 -17
- data/config/breadcrumbs.rb +24 -0
- data/config/i18n-tasks.yml +11 -9
- data/config/importmap.rb +3 -0
- data/config/locales/arclight.en.yml +68 -34
- data/config/routes.rb +1 -1
- data/docker-compose.yml +16 -0
- data/lib/arclight/digital_object.rb +2 -1
- data/lib/arclight/engine.rb +22 -31
- data/lib/arclight/exceptions.rb +1 -0
- data/lib/arclight/hash_absolute_xpath.rb +13 -8
- data/lib/arclight/level_label.rb +46 -0
- data/lib/arclight/normalized_date.rb +5 -10
- data/lib/arclight/normalized_id.rb +7 -2
- data/lib/arclight/normalized_title.rb +3 -0
- data/lib/arclight/repository.rb +70 -28
- data/lib/arclight/routes/hierarchy.rb +19 -0
- data/lib/arclight/routes.rb +8 -0
- data/lib/arclight/traject/ead2_component_config.rb +335 -0
- data/lib/arclight/traject/ead2_config.rb +172 -331
- data/lib/arclight/traject/nokogiri_namespaceless_reader.rb +22 -0
- data/lib/arclight/version.rb +1 -1
- data/lib/arclight/year_range.rb +13 -4
- data/lib/arclight.rb +6 -1
- data/lib/generators/arclight/install_generator.rb +100 -10
- data/lib/generators/arclight/templates/arclight.scss +6 -3
- data/lib/generators/arclight/templates/catalog_controller.rb +237 -179
- data/lib/generators/arclight/templates/config/downloads.yml +12 -0
- data/lib/generators/arclight/templates/config/locales/arclight.en.yml +61 -0
- data/lib/generators/arclight/templates/config/repositories.yml +42 -31
- data/lib/generators/arclight/update_generator.rb +1 -1
- data/lib/tasks/index.rake +25 -30
- data/package.json +15 -9
- data/solr/conf/schema.xml +97 -328
- data/solr/conf/solrconfig.xml +99 -164
- data/tasks/arclight.rake +18 -9
- data/template.rb +6 -7
- metadata +188 -129
- data/.travis.yml +0 -28
- data/app/assets/javascripts/arclight/collection_context.js +0 -18
- data/app/assets/javascripts/arclight/collection_navigation.js +0 -117
- data/app/assets/javascripts/arclight/collection_scrollspy.js +0 -6
- data/app/assets/javascripts/arclight/component_ancestors.js +0 -56
- data/app/assets/javascripts/arclight/oembed_viewer.js +0 -46
- data/app/assets/javascripts/arclight/search_results.js +0 -15
- data/app/assets/javascripts/arclight/truncator.js.erb +0 -23
- data/app/assets/stylesheets/arclight/bootstrap_overrides.scss +0 -3
- data/app/assets/stylesheets/arclight/modules/sidebar.scss +0 -21
- data/app/controllers/concerns/arclight/field_config_helpers.rb +0 -86
- data/app/factories/blacklight_field_configuration_factory.rb +0 -29
- data/app/views/arclight/repositories/_in_person_repository.html.erb +0 -19
- data/app/views/arclight/viewers/_oembed.html.erb +0 -7
- data/app/views/catalog/_arclight_document_index_header.html.erb +0 -13
- data/app/views/catalog/_arclight_document_index_header_online_contents_default.html.erb +0 -0
- data/app/views/catalog/_arclight_index_compact_default.html.erb +0 -15
- data/app/views/catalog/_arclight_online_content_indicator.html.erb +0 -5
- data/app/views/catalog/_arclight_rangelimit.html.erb +0 -24
- data/app/views/catalog/_arclight_viewer_default.html.erb +0 -1
- data/app/views/catalog/_collection_contents.html.erb +0 -12
- data/app/views/catalog/_collection_count.html.erb +0 -7
- data/app/views/catalog/_collection_downloads.html.erb +0 -15
- data/app/views/catalog/_collection_online_contents.html.erb +0 -17
- data/app/views/catalog/_collection_overview.html.erb +0 -7
- data/app/views/catalog/_component_contents.html.erb +0 -16
- data/app/views/catalog/_component_overview.html.erb +0 -40
- data/app/views/catalog/_context_card.html.erb +0 -27
- data/app/views/catalog/_context_sidebar.html.erb +0 -8
- data/app/views/catalog/_custom_metadata.html.erb +0 -16
- data/app/views/catalog/_home.html.erb +0 -1
- data/app/views/catalog/_index_breadcrumb_default.html.erb +0 -3
- data/app/views/catalog/_index_default.html.erb +0 -17
- data/app/views/catalog/_index_header.html.erb +0 -7
- data/app/views/catalog/_index_header_hierarchy_default.html.erb +0 -42
- data/app/views/catalog/_index_header_online_contents_default.html.erb +0 -1
- data/app/views/catalog/_index_hierarchy_default.html.erb +0 -28
- data/app/views/catalog/_index_online_contents_default.html.erb +0 -6
- data/app/views/catalog/_results_histogram.html.erb +0 -15
- data/app/views/catalog/_search_results.html.erb +0 -31
- data/app/views/catalog/_show_breadcrumbs_default.html.erb +0 -21
- data/app/views/catalog/_show_collection.html.erb +0 -48
- data/app/views/catalog/_show_component_sidebar.html.erb +0 -12
- data/app/views/catalog/_show_default.html.erb +0 -42
- data/app/views/catalog/_show_sidebar.html.erb +0 -22
- data/app/views/catalog/_show_upper_metadata_collection.html.erb +0 -1
- data/app/views/catalog/_show_upper_metadata_default.html.erb +0 -14
- data/app/views/layouts/catalog_result.html.erb +0 -7
- data/app/views/shared/_context_sidebar.html.erb +0 -8
- data/app/views/shared/_header_navbar.html.erb +0 -65
- data/lib/arclight/custom_component.rb +0 -99
- data/lib/arclight/custom_document.rb +0 -93
- data/lib/arclight/indexer.rb +0 -9
- data/lib/arclight/shared_indexing_behavior.rb +0 -97
- data/lib/arclight/shared_terminology_behavior.rb +0 -65
- data/lib/arclight/solr_ead_indexer_ext.rb +0 -155
- data/lib/arclight/viewer.rb +0 -45
- data/lib/arclight/viewers/oembed.rb +0 -56
- data/lib/generators/arclight/templates/arclight.js +0 -2
- data/solr/conf/scripts.conf +0 -24
- data/vendor/assets/javascripts/responsiveTruncator.js +0 -69
- data/vendor/assets/javascripts/stickyfill.js +0 -480
- /data/app/assets/images/{blacklight → arclight}/logo.png +0 -0
- /data/{app/views/catalog/_arclight_document_index_header_hierarchy_default.html.erb → config/repositories.yml} +0 -0
|
@@ -1,42 +1,53 @@
|
|
|
1
1
|
nlm:
|
|
2
2
|
name: 'National Library of Medicine. History of Medicine Division'
|
|
3
3
|
description: 'NLM’s History of Medicine Division collects, preserves, makes available, and interprets for diverse audiences one of the world’s richest collections of historical material related to human health and disease.'
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
contact_html: |
|
|
5
|
+
<div class="al-repository-contact-info"><a href="mailto:hmdref@nlm.nih.gov">hmdref@nlm.nih.gov</a></div>
|
|
6
|
+
location_html: |
|
|
7
|
+
<div class="al-repository-street-address-building">Building 38, Room 1E-21</div>
|
|
8
|
+
<div class="al-repository-street-address-address1">8600 Rockville Pike</div>
|
|
9
|
+
<div class="al-repository-street-address-city_state_zip_country">Bethesda, MD 20894, USA</div>
|
|
10
|
+
thumbnail_url: "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/United_States_National_Library_of_Medicine_1999.jpg/500px-United_States_National_Library_of_Medicine_1999.jpg"
|
|
11
|
+
request_types:
|
|
12
|
+
google_form:
|
|
13
|
+
request_url: 'https://docs.google.com/a/stanford.edu/forms/d/e/1FAIpQLSeOamhY_IcFw4sPnz0ddwWWkrPaHbM5wp7JVbOLOL_mIusEyw/viewform'
|
|
14
|
+
request_mappings: "document_url=entry.1980510262&collection_name=entry.619150170&collection_creator=entry.14428541&eadid=entry.996397105&containers=entry.1125277048&title=entry.862815208"
|
|
15
|
+
|
|
16
16
|
sul-spec:
|
|
17
17
|
name: 'Stanford University Libraries. Special Collections and University Archives'
|
|
18
18
|
visit_note: 'Special Collections and University Archives materials are stored offsite and must be paged 36 hours in advance.'
|
|
19
19
|
description: 'The Special Collections and University Archives Department of Stanford University Libraries is committed to acquiring, preserving, and providing access to primary source materials that support the research needs of the Stanford community and beyond. There are three distinct divisions in our department: Manuscripts, Rare Books and University Archives. We welcome all students, scholars and members of the general public to the Field Reading Room. Learn more about using and accessing our collections.'
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
contact_html: |
|
|
21
|
+
<div class="al-repository-contact-phone">(650) 725-1022</div>
|
|
22
|
+
<div class="al-repository-contact-info"><a href="mailto:specialcollections@stanford.edu">specialcollections@stanford.edu</a></div>
|
|
23
|
+
location_html: |
|
|
24
|
+
<div class="al-repository-street-address-building">Green Library</div>
|
|
25
|
+
<div class="al-repository-street-address-address1">557 Escondido Mall</div>
|
|
26
|
+
<div class="al-repository-street-address-city_state_zip_country">Stanford, CA 94305, USA</div>
|
|
27
|
+
thumbnail_url: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Stanford_University_Green_Library_Bing_Wing.jpg/500px-Stanford_University_Green_Library_Bing_Wing.jpg'
|
|
28
|
+
request_types:
|
|
29
|
+
aeon_web_ead:
|
|
30
|
+
request_url: 'https://sample.request.com'
|
|
31
|
+
request_mappings: 'Action=10&Form=31&Value=ead_url'
|
|
32
|
+
|
|
30
33
|
umich-bhl:
|
|
31
34
|
name: 'University of Michigan. Bentley Historical Library'
|
|
32
35
|
description: 'The Bentley Historical Library collects the materials for and promotes the study of the histories of two great, intertwined institutions, the State of Michigan and the University of Michigan. The Library is open without fee to the public, and we welcome researchers regardless of academic or professional affiliation.'
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
zip: '48109-2113'
|
|
39
|
-
country: 'USA'
|
|
40
|
-
phone: ''
|
|
41
|
-
contact_info: 'bentley.ref@umich.edu'
|
|
36
|
+
contact_html: |
|
|
37
|
+
<div class="al-repository-contact-info"><a href="mailto:bentley.ref@umich.edu">bentley.ref@umich.edu</a></div>
|
|
38
|
+
location_html: |
|
|
39
|
+
<div class="al-repository-street-address-address1">1150 Beal Ave</div>
|
|
40
|
+
<div class="al-repository-street-address-city_state_zip_country">Ann Arbor, MI 48109-2113, USA</div>
|
|
42
41
|
thumbnail_url: 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/93/Bhlexterior.jpg/150px-Bhlexterior.jpg'
|
|
42
|
+
request_types:
|
|
43
|
+
aeon_external_request_endpoint:
|
|
44
|
+
request_url: https://example.com/aeon/aeon.dll
|
|
45
|
+
request_mappings:
|
|
46
|
+
url_params:
|
|
47
|
+
Action: 11
|
|
48
|
+
Type: 200
|
|
49
|
+
static:
|
|
50
|
+
SystemId: ArcLight
|
|
51
|
+
ItemInfo1: manuscript
|
|
52
|
+
accessor:
|
|
53
|
+
ItemTitle: collection_name
|
|
@@ -9,7 +9,7 @@ module Arclight
|
|
|
9
9
|
# downstream application to choose if they want to take our changes or not and
|
|
10
10
|
# can choose to see a diff of our changes to help them decide.
|
|
11
11
|
class Update < Arclight::Install
|
|
12
|
-
source_root File.expand_path('
|
|
12
|
+
source_root File.expand_path('templates', __dir__)
|
|
13
13
|
|
|
14
14
|
def create_blacklight_catalog
|
|
15
15
|
copy_file 'catalog_controller.rb', 'app/controllers/catalog_controller.rb'
|
data/lib/tasks/index.rake
CHANGED
|
@@ -4,7 +4,7 @@ require 'arclight'
|
|
|
4
4
|
require 'benchmark'
|
|
5
5
|
|
|
6
6
|
##
|
|
7
|
-
# Environment variables for indexing:
|
|
7
|
+
# Environment variables and information for indexing:
|
|
8
8
|
#
|
|
9
9
|
# REPOSITORY_ID for the repository id/slug to load repository data from
|
|
10
10
|
# your configuration (default: none).
|
|
@@ -12,25 +12,29 @@ require 'benchmark'
|
|
|
12
12
|
# REPOSITORY_FILE for the YAML file of your repository configuration
|
|
13
13
|
# (default: config/repositories.yml).
|
|
14
14
|
#
|
|
15
|
-
#
|
|
15
|
+
# Blacklight default connection for the location of your Solr instance, SOLR_URL
|
|
16
|
+
# as a backup
|
|
16
17
|
# (default: http://127.0.0.1:8983/solr/blacklight-core)
|
|
17
18
|
#
|
|
18
19
|
namespace :arclight do
|
|
19
20
|
desc 'Index an EAD document, use FILE=<path/to/ead.xml> and REPOSITORY_ID=<myid>'
|
|
20
|
-
|
|
21
|
+
# We need :environment to have access to the Blacklight confg
|
|
22
|
+
task index: :environment do
|
|
21
23
|
raise 'Please specify your EAD document, ex. FILE=<path/to/ead.xml>' unless ENV['FILE']
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
|
|
25
|
+
print "Loading #{ENV.fetch('FILE', nil)} into index...\n"
|
|
26
|
+
solr_url = ENV.fetch('SOLR_URL', Blacklight.default_index.connection.base_uri)
|
|
27
|
+
elapsed_time = Benchmark.realtime do
|
|
28
|
+
`bundle exec traject -u #{solr_url} -i xml -c #{Arclight::Engine.root}/lib/arclight/traject/ead2_config.rb #{ENV.fetch('FILE', nil)}`
|
|
29
|
+
end
|
|
30
|
+
print "Indexed #{ENV.fetch('FILE', nil)} (in #{elapsed_time.round(3)} secs).\n"
|
|
28
31
|
end
|
|
29
32
|
|
|
30
33
|
desc 'Index a directory of EADs, use DIR=<path/to/directory> and REPOSITORY_ID=<myid>'
|
|
31
34
|
task :index_dir do
|
|
32
35
|
raise 'Please specify your directory, ex. DIR=<path/to/directory>' unless ENV['DIR']
|
|
33
|
-
|
|
36
|
+
|
|
37
|
+
Dir.glob(File.join(ENV.fetch('DIR', nil), '*.xml')).each do |file|
|
|
34
38
|
system("rake arclight:index FILE=#{file}")
|
|
35
39
|
end
|
|
36
40
|
end
|
|
@@ -38,7 +42,8 @@ namespace :arclight do
|
|
|
38
42
|
desc 'Index an EAD document, use URL=<http[s]://domain/path/to/ead.xml> and REPOSITORY_ID=<myid>'
|
|
39
43
|
task :index_url do
|
|
40
44
|
raise 'Please specify your EAD document, ex. URL=<http[s]://domain/path/to/ead.xml>' unless ENV['URL']
|
|
41
|
-
|
|
45
|
+
|
|
46
|
+
ead = Nokogiri::XML(open(ENV.fetch('URL', nil)))
|
|
42
47
|
tmp = Tempfile.new(["#{Time.now.to_i}-", '.xml'], encoding: 'utf-8')
|
|
43
48
|
begin
|
|
44
49
|
tmp.write ead
|
|
@@ -55,35 +60,25 @@ namespace :arclight do
|
|
|
55
60
|
desc 'Index EADs from a file of URLs, use BATCH=<path/to/urls.txt> and REPOSITORY_ID=<myid>'
|
|
56
61
|
task :index_url_batch do
|
|
57
62
|
raise 'Please specify your URLs file, ex. BATCH=<path/to/urls.txt>' unless ENV['BATCH']
|
|
58
|
-
|
|
63
|
+
|
|
64
|
+
File.open(ENV.fetch('BATCH', nil)).each_line do |l|
|
|
59
65
|
ENV['URL'] = l.chomp
|
|
60
66
|
next if ENV['URL'].empty?
|
|
61
|
-
|
|
62
|
-
|
|
67
|
+
|
|
68
|
+
unless ENV.fetch('URL', nil) =~ /\A#{URI::DEFAULT_PARSER.make_regexp(%w[http https])}\z/
|
|
69
|
+
puts "Skipping invalid looking url #{ENV.fetch('URL', nil)}"
|
|
63
70
|
next
|
|
64
71
|
end
|
|
65
|
-
puts "Indexing #{ENV
|
|
72
|
+
puts "Indexing #{ENV.fetch('URL', nil)}"
|
|
66
73
|
Rake::Task['arclight:index_url'].invoke
|
|
67
74
|
Rake::Task['arclight:index_url'].reenable
|
|
68
75
|
end
|
|
69
76
|
end
|
|
70
77
|
|
|
71
78
|
desc 'Destroy all documents in the index'
|
|
72
|
-
task :
|
|
79
|
+
task destroy_index_docs: :environment do
|
|
73
80
|
puts 'Deleting all documents from index...'
|
|
74
|
-
|
|
75
|
-
|
|
81
|
+
Blacklight.default_index.connection.delete_by_query('*:*')
|
|
82
|
+
Blacklight.default_index.connection.commit
|
|
76
83
|
end
|
|
77
84
|
end
|
|
78
|
-
|
|
79
|
-
def load_indexer
|
|
80
|
-
# hardcoded since we don't have access to Blacklight.connection_config[:url] here
|
|
81
|
-
ENV['SOLR_URL'] ||= 'http://127.0.0.1:8983/solr/blacklight-core'
|
|
82
|
-
|
|
83
|
-
options = {
|
|
84
|
-
document: Arclight::CustomDocument,
|
|
85
|
-
component: Arclight::CustomComponent
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
Arclight::Indexer.new(options)
|
|
89
|
-
end
|
data/package.json
CHANGED
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arclight",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "1.6.0",
|
|
4
|
+
"description": "The frontend for arclight",
|
|
5
|
+
"main": "app/assets/javascript/arclight/arclight.js",
|
|
6
|
+
"files": ["app/assets"],
|
|
6
7
|
"devDependencies": {
|
|
7
|
-
"eslint": "^
|
|
8
|
-
"eslint-config-airbnb-base": "^
|
|
9
|
-
"eslint-plugin-import": "^2.2.0"
|
|
8
|
+
"eslint": "^8.26.0",
|
|
9
|
+
"eslint-config-airbnb-base": "^15.0.0",
|
|
10
|
+
"eslint-plugin-import": "^2.2.0",
|
|
11
|
+
"sass": "^1.59.3",
|
|
12
|
+
"bootstrap": "^5.2.0"
|
|
10
13
|
},
|
|
11
14
|
"scripts": {
|
|
15
|
+
"build": "sass ./app/assets/stylesheets/arclight/build.scss:./app/assets/builds/arclight.css --no-source-map --load-path=node_modules",
|
|
16
|
+
"lint": "eslint './app/assets/javascripts/**/*.{js,es6}'",
|
|
17
|
+
"lint:fix": "eslint --fix './app/assets/javascripts/**/*.{js,es6}'",
|
|
12
18
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
13
19
|
},
|
|
14
20
|
"repository": {
|
|
15
21
|
"type": "git",
|
|
16
|
-
"url": "
|
|
22
|
+
"url": "https://github.com/projectblacklight/arclight.git"
|
|
17
23
|
},
|
|
18
24
|
"author": "",
|
|
19
25
|
"license": "Apache-2.0",
|
|
20
26
|
"bugs": {
|
|
21
|
-
"url": "https://github.com/
|
|
27
|
+
"url": "https://github.com/projectblacklight/arclight/issues"
|
|
22
28
|
},
|
|
23
|
-
"homepage": "https://
|
|
29
|
+
"homepage": "https://library.stanford.edu/projects/arclight"
|
|
24
30
|
}
|