Blacklight is an open source Solr user interface discovery platform. You can use Blacklight to enable searching and browsing of your collections. Blacklight uses the Apache Solr search engine to search full text and/or metadata. Blacklight has a highly configurable Ruby on Rails front-end. Blacklight was originally developed at the University of Virginia Library and is made public under an Apache 2.0 license.
Add Blacklight to your Gemfile
:
gem "blacklight"
Run the install generator which will copy over some initial templates, migrations, routes, and configuration:
rails generate blacklight:install
- Project Homepage
- Developer Documentation
- Quickstart Guide
- Testing and Developing Blacklight
- Issue Tracker
- Support
Blacklight assumes a modern browser with support for ES6. This means we explicitly do not support Internet Explorer 11.
- Ruby 2.2+
- Bundler
- Rails 5.2+
Code contributions are always welcome, instructions for contributing can be found at CONTRIBUTING.md.
You'll also want some information about how Blacklight expects Apache Solr to run, which you can find in README_SOLR
The javascript is built by npm from sources in app/javascript
into a bundle
in app/assets/javascripts/blacklight/blacklight.js
. This file should not be edited
by hand as any changes would be overwritten. When any of the javascript
components in the gem are changed, this bundle should be rebuild with the
following steps:
- Install npm
- run
npm install
to download dependencies - run
npm run js-compile-bundle
to build the bundle - run
npm publish
to push the javascript package to https://npmjs.org/package/blacklight-frontend
Blacklight ships with Javascript that can be compiled either by Webpacker or by Sprockets. To use Webpacker see the directions at https://github.com/projectblacklight/blacklight/wiki/Using-Webpacker-to-compile-javascript-assets
If you prefer to use Sprockets, simply run the install generator, which will run the assets generator. For details see https://github.com/projectblacklight/blacklight/wiki/Using-Sprockets-to-compile-javascript-assets