inspire-next-search-js
v2.0.84
Published
Javascript search components for Inspirehep-Search
Downloads
14
Readme
Inspire-Search-Js
Inspire-search Angular JS module used in http://labs.inspirehep.net search results.
Installation
$ npm i
Release
This is a work around, CI doesn't work for the moment.
Update
package.json
with the version numberRun:
yarn version
git push origin master
git push origin --tags
- Release:
# login to npm with cern-sis-ts account
npm publish
- :tada:
Demo
$ cd example; npm install; cd ..
$ npm run-script demo
Navigate to http://localhost:8000
to see the demo
.
Tests
$ npm test
Docs
$ # build
$ npm run-script docs
$ # read
$ open docs/index.html
How to use?
Check out the example/
to see how to configure your app.
How to develop?
For easy development of inspirehep-search-js on top of inspire-next follow these steps:
Fork this repo and clone your personal fork.
laptop> $ git clone [email protected]:/inspirehep-search-js.git laptop> $ cd inspirehep-search-js
Set
ASSETS_DEBUG=True
in your configuration for easier debugging in the browser (files do not get minified).laptop> $ vim $DOCKER_DATA/tmp/virtualenv/var/inspirehep-instance/inspirehep.cfg
Install Node.js and npm on your system. If you are using Ubuntu, create a symlink from node to nodejs (needed because of a naming conflict with the node package).
laptop> $ sudo apt-get update laptop> $ sudo apt-get install nodejs laptop> $ sudo ln -s "$(which nodejs)" /usr/bin/node laptop> $ sudo apt-get install npm
Install PhantomJS on your system and add
PHANTOMJS_BIN:$(which phantomjs)
env variable in.bashrc
or.zshrc
. to specify the path to the phantomjs binary.laptop> $ sudo apt-get update laptop> $ sudo apt-get install phantomjs
Assuming you followed the current INSPIRE-HEP installation guide documentation, add the volume to
services.yml
to mount inspire-search-js on Docker.laptop> $ vim /inspire-next/services.yml
static: image: busybox volumes: - "<your-local-path>/inspirehep-search-js:/inspirehep-search-js" ```
Restart the containers and open a bash in the web container.
laptop> $ docker-compose kill laptop> $ docker-compose rm laptop> $ docker-compose run web bash
In the container bash, link the js volume to
/static/node_modules
. CAREFUL: if you runlaptop> $ ./inspire-next/scripts/clean_assets
, the link will have to be created again!container> $ rm -rf /virtualenv/var/inspirehep-instance/static/node_modules/inspirehep-search-js container> $ ln -s /inspirehep-search-js /virtualenv/var/inspirehep-instance/static/node_modules/inspirehep-search-js
To install all dependencies and Gulp.js, in the inspirehep-search-js folder run:
laptop> $ npm install laptop> $ nmp install gulp
As you run inspire-next, start watching changes in the inspirehep-search-js folder. Every time a JS or HTML file is modified, tests will run and the
dist/
folder will be recreated.laptop> $ cd inspirehep-search-js laptop> $ gulp watch
Every time you modify a JavaScript or HTML template, hard refresh your browser to avoid caching and see your changes. If the changes are not reflected after refreshing, you might need to delete the gen folder from the container in order to prevent caching.
container> $ rm -rf /virtualenv/var/inspirehep-instance/static/gen/ .webassets-cache/