The 2019 DjangoCon.us website is a static site compiled with Jekyll. The frontend relies heavily on the Foundation framework. Frontend dependencies are installed and updated with npm.
As a contributor, you can help us keep the Django community open and inclusive. Please read and follow our Code of Conduct.
Get started contributing by reading our Contributing guidelines.
-
Navigate to the DjangoCon U.S. website repo on GitHub. In the upper right hand corner of the repo, click the "Fork" button. Alternatively, click on an individual file and click the pencil icon. GitHub will automatically fork the repo for you.
-
Head over to your GitHub account, where you will find the forked repo. This is a copy of the official code. Your changes to this forked code will not affect the official code, unless you submit a pull request and an admin merges your pull request.
-
For changes that do not need to be tested locally, the change can be made and submitted in the browser.
-
Within your forked repo, make sure the "Branch" tab is set to the
master
branch. -
Once you are on the correct branch, navigate to the file you intend to change and click the pencil icon to open it. Make the change and click the "Commit changes" button.
-
Staying within your forked repo, navigate back to the main page of the branch (note: your pull request should be submitted via your forked repo, not the main repo). Click "New pull request." Click the "Commit changes" button. At the "Comparing changes" page, double check that you are happy with your proposed change. If so, click "Create pull request." Add a descriptive title and comment if applicable, then click "Create pull request" at the bottom to submit. An admin will review your proposed change, merge it, or give you feedback. If you are not ready for your pull request to be immediately merged, you can let those reviewing pull requests know by using the acronym WIP (Work in Progress) or a similar message in your pull request title.
Follow the above instructions to step 5.
Click on the _organizer
folder, then your own MY_NAME.md
file. Click on the pencil icon to open the file. Make your changes, making sure that your information is placed within quotation marks.
To add a photo: navigate to the static/img/organizers
folder. Click "Upload files". Drag or choose your photo file into the window. Click "Commit changes". Your photo should now be in the folder. Ideally, the photo should be 400 x 400px. In your MY_NAME.md
file, make sure the path to your photo has the proper name and file ending (.jpg
, .png
, etc.).
If you need assistance, please ask! Complete step 6.
For changes that require cloning/running the code locally, follow the above instructions to step 5. Instead of navigating to the file through the browser, open up your computer terminal (you will need to have Git installed locally and a code editor of your choice).
Clone your forked repo locally via the terminal, replacing the username in the URL with your own (note: not all operating systems will use a $
as a terminal prompt).
$ git clone https://github.com/<your-username>/2019.djangocon.us
Change directory into the folder
$ cd 2019.djangocon.us
Verify that you are on the master
branch
$ git branch
Follow the instructions below to run the website on a local server. GitHub recommends using Bundler to install and run Jekyll. Ruby is a pre-requisite. One of the project dependencies (nokogiri) requires a Ruby version >= 2.1.0. See the Jekyll Quick-start Guide for more info.
You might need to use $ sudo gem install jekyll bundler foreman
$ gem install jekyll bundler
$ bundle install
You will need Node v10.0 or greater to compile frontend assets. We're using Parcel JS to compile Scss and JavaScript. Parcel JS needs to be installed globally.
$ npm install -g parcel-bundler
# Installs Parcel JS globally
Next you'll need to install all the other JS dependencies.
$ npm install .
# installs dependencies listed in package.json
$ npm run build
# Builds production-ready assets
If you are working locally use npm run watch-fe-dev
instead to get source maps.
$ bundle exec jekyll serve
# => Now browse to http://localhost:4000
$ bundle exec rake test
After you have made your changes, you will need to push the local files with the changes back to GitHub in order to submit a pull request. Assuming you are still on the master
branch, you will be pushing your changes from the local master
branch to the master
branch of the forked repo at your GitHub account.
$ git add .
$ git commit -m "Your note"
$ git push origin master
You will then resume the process at step 6 to submit a pull request.
If you plan to continue working locally and submitting pull requests, you may want to add an upstream remote locally that points to the DjangoCon US repo, in order to fetch changes. You may also want to consider creating a feature branch (also known as a "topic" branch), making your changes there (instead of in the master
branch), pushing to GitHub and submitting the update via pull request. You can then keep your master
branch up-to-date while working on multiple features.
If you have gone through the previous installation steps, the all-contributors-cli
package should already be installed locally by npm. The developer dependency and scripts can be found in package.json
and the init config and JSON entries in the .all-contributorsrc
file.
To add a contributor by GitHub username (this will add a JSON entry to .all-contributorsrc
and add the contributor to the README
list), run the following command, hitting enter twice to avoid choosing any contribution type
$ npm run add -- <username>
hit enter twice
To generate a README list from the .all-contributorsrc
file
$ npm run generate
Thanks goes to these wonderful people:
This project uses the all-contributors-cli
. Contributions of any kind welcome!