Skip to content

MLH/mlh-hackathon-boilerplate

Repository files navigation

MLH/mlh-hackathon-boilerplate

This is a hackathon boilerplate created by Major League Hacking. Using Jekyll, it has a extensible configuration that covers basic event information. You can then fork the website and have it hosted free through GitHub Pages. It's free to use.

Advantages:

  • Built in support for MyMLH
  • Community-owned and maintained
  • Free hosting through GitHub Pages
  • Discoverable through Google Search, Twitter and Facebook

Getting Started

  1. Create a GitHub account if you haven't already
  2. Fork this repository to your own account. Click here to fork this repo
  3. Edit _config.yml to configure for your own hackathon website
  4. That's it - you should be able to access at https://[github username].github.io/mlh-hackathon-boilerplate/

Run Locally

If you would like to populate and test the website locally, follow these steps:

  1. Install Jekyll prerequisites by following one of the guides
  2. Install Jekyll and bundler gems gem install jekyll bundler
  3. Build and serve the site locally bundle exec jekyll serve
  4. Head over to http://localhost:4000/
  5. Make sure everything looks good

Setting up a custom domain

Want to configure for your own custom domain? Great! Through our excellent partners Domain.com, Major League Hacking is offering free domains to student hackathon organizers. Reach out to hi@mlh.io to obtain your free coupon code.

  1. Register your domain
  2. Update the domain www to CNAME [github username].github.io
  3. Update the domain @ to A 192.30.252.153 and A 192.30.252.154
  4. Update the CNAME in your GitHub fork of mlh-hackathon-boilerplate to your new domain (i.e. examplehacks.com)

Reference: GitHub - Setting up an apex domain

Setting up SSL

GitHub Pages now provides you with an option to Enforce HTTPS which will create an SSL certificate for you. All you need is to select the Enforce HTTPS checkmark when setting up custom domain in the step above.

Give the process some time, but if it has not completed after several minutes, click Remove next to your domain name, retype the domain name, and then click Save. This will restart the SSL issuing process.

If you setup HTTPS correctly, make sure you do not refernece HTTP anywhere on your website. Servinig mixed content will make your website less secure.

Contributing

Our boilerplate is written entirely in Jekyll, which GitHub automatically compiles. This dramatically reduces the technical barrier needed to setup a hackathon website. We'd love to receive your contributions towards making this even better. A couple of things to note:

  • We can't accept custom plugins because it's not supported by GitHub Pages
  • If adding any external images or components, please ensure you have the correct permission to use them
  • We advise creating a GitHub issue first explaining the issue