Skip to content

Latest commit

 

History

History
192 lines (139 loc) · 6.28 KB

CONTRIBUTING.md

File metadata and controls

192 lines (139 loc) · 6.28 KB

Contributing to this website

👍🎉 Thanks for taking the time to contribute! 🎉👍

Found a typo in this website? Interested in giving your thoughts on existing pages, adding a post, tutorial, new feature or enhancement?

The website https://gnss-sdr.org lives in a GitHub repository. You can contribute in several ways:

  • Commenting (through your Google, Facebook or Twitter account, or just open a new profile at Disqus) in the boxes such as the one at the bottom of this page. Moderation will be applied only in cases of flagrant off-topic or inappropriate style. See our code of conduct.

  • Sharing the content in your favorite social network.

  • Checking existing open issues or submitting a new one.

  • Forking this repository, working on the changes in your own repository, and making a pull request.

Code of Conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].

How to run this website locally

Preliminaries

  1. If you still have not done so, create your personal account on GitHub.

  2. Fork this repository from GitHub. This will copy the whole website repository to your personal account.

  3. Then, go to your favorite working folder in your computer and clone your forked repository by typing (replacing YOUR_USERNAME by the actual username of your GitHub account):

    $ git clone https://github.com/YOUR_USERNAME/geniuss-place
    
  4. Your forked repository https://github.com/YOUR_USERNAME/geniuss-place will receive the default name of origin. You can also add the original website repository, which is usually called upstream:

    $ cd geniuss-place
    $ git remote add upstream https://github.com/gnss-sdr/geniuss-place
    

To verify the new upstream repository you have specified for your fork, type git remote -v. You should see the URL for your fork as origin, and the URL for the original repository as upstream:

$ git remote -v
origin    https://github.com/YOUR_USERNAME/geniuss-place.git (fetch)
origin    https://github.com/YOUR_USERNAME/geniuss-place.git (push)
upstream  https://github.com/gnss-sdr/geniuss-place (fetch)
upstream  https://github.com/gnss-sdr/geniuss-place (push)

Install the required software and run a local copy of the website

The required software can be installed through RubyGems, which is probably already installed in your system. If this is not the case, please check how to install Ruby.

Install Bundler, a tool for managing the required dependencies:

$ gem install bundler

Clone your forked repository of this website and install the required dependencies (replacing YOUR_USERNAME by your actual GitHub user name):

$ git clone https://github.com/YOUR_USERNAME/geniuss-place/
$ cd geniuss-place
$ bundle install

After all gems are installed, the following command will deploy the website and run a local server at http://127.0.0.1:4000/

$ bundle exec jekyll serve -w --config _config.yml,_config.dev.yml

You should see something as:

Configuration file: _config.yml
Configuration file: _config.dev.yml
            Source: /path_to_cloned_repo/geniuss-place
       Destination: /path_to_cloned_repo/geniuss-place/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
       Jekyll Feed: Generating feed for posts      
                    done in 4.017 seconds.
 Auto-regeneration: enabled for '/path_to_cloned_repo/geniuss-place'
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

Just point your browser to http://127.0.0.1:4000/ in order to enjoy this website without the need for an Internet connection. Some features such as comments might not work.

If you already forked and cloned this repo before, and then have pulled from upstream, be sure to keep your gems updated with the exact required versions by re-running:

$ bundle install

Pro Tip: if you want to modify JavaScript (under assets/js), you will need to install Node.js, cd to the root of your project, and run $ npm install to get all the dependencies. If all gone well, then running npm run build:js will compress/concatenate _main.js and all plugin scripts into main.min.js. Thus, upon a change on JavaScript content, run:

$ npm run build:js

in order to update the main.js script and implement the changes on the website.

Contributing to the source code of this website

When start working on a new improvement, please always branch off from main. Open a new branch and start working on it:

$ git checkout -b my_feature

Now you can do changes, add files, do commits (please take a look at how to write good commit messages!) and push them to your repository:

$ git push origin my_feature

If there have been new pushes to the main branch of the upstream repository since the last time you pulled from it, you might want to put your commits on top of them (this is mandatory for pull requests):

$ git pull --rebase upstream main

How to submit a pull request

When the contribution is ready, you can submit a pull request. Head to your GitHub repository, switch to your my_feature branch, and click the Pull Request button, which will do all the work for you.

Once a pull request is sent, the Developer Team can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.

For more details about Git usage, please check out our tutorial.


GeNiuSS contributes

Thanks for your contribution to GNSS-SDR!