A simple static index for known ROS packages. It builds in jekyll with a plugin to clone repositories containing ROS packages, scrapes them for information, and uses client-side javascript for quick searching and visualization.
sudo apt-get update
sudo apt-get install curl git git-svn mercurial nodejs pandoc
curl -L https://get.rvm.io | bash -s stable
# if this fails, add the PGP key and run again
source ~/.rvm/scripts/rvm
rvm requirements
rvm install ruby
rvm rubygems current
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
gem install bundler
git clone git@github.com:rosindex/rosindex --recursive
cd rosindex.github.io
bundle install
rake build:devel
Note: This requires a minimum of 30GB of
free space for the _checkout
directory.
rake build:devel
The build process entails four long-running steps:
- Generating the list of repositories
- Cloning / Updating the known repositories
- Scraping the repositories
- Generating the static pages
- Generating the lunr search index
Each of the first three steps can be skipped in order to save time when
experimenting with different parts of the pipeline with the following flags in
_config.yml
:
# If true, this skips finding repos based on the repo sources
skip_discover: false
# If true, this skips updating the known repos
skip_update: false
# If true, this skips scraping the cloned repos
skip_scrape: false
# If true, this skips generating the search index
skip_search_index: false
Deployment is done by simply pushing the generated site to GitHub:
cd _deploy
git add .
git commit -a --amend
git push -f origin master