Skip to content

dgreisen-cfpb/github-wiki-search

 
 

Repository files navigation

GitHub Wiki Search

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

Contributing

We welcome your feedback and contributions.

Getting started

Installation

  1. install vagrant

  2. clone the repository:

    https://github.com/cfpb/github-wiki-search.git

  3. install vagrant cachier

    vagrant plugin install vagrant-cachier

  4. enter the repo directory:

    cd github-wiki-search

  5. copy settings_example.py to settings.py and modify for your installation

  6. start the virtualmachine

    vagrant up

  7. ssh into the virtualmachine

    vagrant ssh

  8. run the provisioning script

    sudo /vagrant/provision/provision.py

  9. run the indexing script

    /vagrant/server/index.py

  10. visit the search page at

    http://localhost:8080

Front end requirements

Install front end tools and components

  1. install dependencies:

    npm install

  2. pull in Bower components:

    grunt vendor

Front end workflow

  1. compile JavaScript and LESS files:

    grunt

  2. 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 71.8%
  • JavaScript 17.8%
  • HTML 5.4%
  • Python 5.0%