While this project started as a github wiki search, it has morphed into a search all documentation search.
It can search:
- Github.com
- Issues
- Github Pages
- Wiki
- Readmes
- Github Enterprise
- Issues
- Github Pages
- Wiki
- Readmes
- Jira
- Issues
There is no "backend". The static web client communicates directly with elasticsearch.
Repository highlights:
- Vagrantfile - Use vagrant to quickly setup a development environment. (See Installation, below)
- client - where the web app lives. Web app is simple javascript, html, and mustache.
- server - a set of python scripts for indexing Github/Github Enterprise/Jira
- provision - a simple python script, with templates, for setting up a development environment with:
- ElasticSearch
- Nginx
- Cronjob to run indexer every night
We welcome your feedback and contributions.
-
install vagrant
-
clone the repository:
-
install vagrant cachier
vagrant plugin install vagrant-cachier
-
enter the repo directory:
cd github-wiki-search
-
copy
settings_example.py
tosettings.py
and modify for your installation -
start the virtualmachine
vagrant up
-
ssh into the virtualmachine
vagrant ssh
-
run the provisioning script
sudo /vagrant/provision/provision.py
-
run the indexing script
/vagrant/server/index.py
-
visit the search page at
-
install dependencies:
npm install
-
pull in Bower components:
grunt vendor
-
compile JavaScript and LESS files:
grunt
-
update dist folder with newly compiled assets:
grunt dist
Or use grunt serve
. This will run both commands when commonly edited front end files have changed. It also sets up a local server on port 8000
for previewing the front end.