We would like to start off by thanking you for taking the time to contribute. Please note the following:
Grunt
is used to compile Sass(.scss files) into thestyles.css
file, and minify all of the Javascript files into thescript.min.js
file.script.min.js
andstyles.css
are created automatically and should not be edited manually.- Manually editing either of the two files mentioned above will cause your work to be overwritten next time
grunt
is run.
- Manually editing either of the two files mentioned above will cause your work to be overwritten next time
We use Grunt to improve your workflow, this helps us create the best product possible. When committing the files created by grunt
(script.min.js
and styles.css
), please commit both files as needed in the same commit labeled with the message "grunt". Please do not include other files in the "grunt" commit.
We have outlined below what tools are required, and how to get started to be able to contribute to the project.
What should I know before I get started?
- Using Docker
- Developer Dependencies
- Getting Started Grunt
- Setting Up Sass
- Setting Up Compass
- Helpful Lynda Tutorials
Getting Started How do I update the maps? I want to submit a Pull Request
For developing GGC Maps you can either install the project dependencies to your development machine or use Docker. Below is the guide for installing what is require for the project to your machine. Follow this link to read the guide about using Docker.
- Ruby
- Sass
- Susy
- Grunt
- Grunt-Contrib-Compass
- Grunt-Contrib-JSHint
- Grunt-Contrib-Uglify
- Grunt-Contrib-Watch
- Grunt-Http-Server
- PhantomJS
- Before setting up Grunt ensure that your npm is up to date by running
npm update -g npm
(this might requiresudo
depending on your system) - To get started you need Grunt's command line interface (CLI) globally. Again you my need
sudo
to runnpm install -g grunt-cli
- Now after you install the project dependencies you will be able to run
grunt
If you're using a distribution of Linux, you'll need to install Ruby first. You can install Ruby through the apt package manager, rbenv, or rvm.
sudo gem install sass --no-user-install -v 3.4
Before you start using Sass you will need to install Ruby. The fastest way to get Ruby on your Windows computer is to use Ruby Installer. It's a single-click installer that will get everything set up for you super fast. The installer will also install a Ruby command line powershell application that will let you use the Ruby libraries.
If you prefer the command line over an application then getting Sass set up is a fairly quick process. Sass has a Ruby dependency but if you're using a Mac, congratulations, Ruby comes pre-installed.
In your terminal run gem install sass -v 3.4
. If you get and error message then you will likely need to use sudo
which will look like this sudo gem install sass -v 3.4
Compass will run on any computer with ruby installed. After ruby is installed run the following commands.
gem update --system
gem install compass
- Fork the repository
- Clone your fork to your computer
- Install the developer dependencies with
npm install
- In your terminal run
npm run dev
orgrunt dev
- In your internet browser, navigate to localhost:3000
- Now your instance of the project running
- Finally, create a new file named (Class Number)-(Section Number)(Semester)(Year).md (This is where your team can keep your required class documentation.)
To update any of the maps, we have our Illustrator files available to download from dropbox.
After you have finished your new feature for the project, and you have thoroughly tested for bugs. You may submit a pull request for review. Make sure you follow the checklist below.
- The feature/bug fix improves the user experience
- Your code and feature/bug fix is well documented
- If you update any of the maps, include the updated Illustrator files in your request. Please note that the Illustrator file is not to be in the repository. Attach the files to the pull request or link to the files. We want to allow future contributors the ability to use the most updated maps.
- Title the request something that appropriately describes your feature.
- Keep the repo organized. We do not want clutter in the repository, so before submitting a request remove any unnecessary files.
- Commits labeled "grunt" will be rejected, therefore do not include any other files aside from
script.min.js
andstyles.css
.