This repository contains the source code for zeus.ugent.be, the website of Zeus WPI, the official student association of Informatics at Ghent University. The site is developed using nanoc, which is actively developed by ex-Zeus member ddfreyne. The CSS framework used is Bulma. We primarily focus on using markdown for blogposts and events. Feel free to make a Pull Request with a blog post if you feel inspired and need an outlet!
Please check the Wiki for questions about structure.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
You will need Ruby (gem) and pandoc (optional). Installation instructions are listed below.
If bundler is not yet installed on your system, make sure to install it using the following command:
gem install bundler
In the root directory of the project, execute following command
bundle install
You will (momentarily) also need pandoc
and latex
to compile the reports from the board meetings. Refer to your OS package manager to install these things.
These will pull in all Ruby and Node.js dependencies. If everything goes well, you should be able to execute the following.
bundle exec nanoc live
Go to http://localhost:3000 to view the site! When developing, the site gets regenerated when editing files. A simple refresh will show the new changes.
Our official meeting reports are added as a submodule so they update automatically. For normal development, it is not required to initialize these. But if you want to deploy to production (or test the report generation), you will have to initialize the submodule.
git submodule update --init --recursive
If you are using Nix, you can use the provided shell.nix
file to get a shell with all the required dependencies.
nix-shell
The latest and greatest builds on master get deployed automatically using travis.
For manual deployment, run
# Build the site for production
bundle exec nanoc --env=prod
# Run checks
bundle exec nanoc --env=prod check --deploy
# Deploy it to the server
bundle exec nanoc deploy --target public --env=prod
If you want to deploy this on your own system for whatever reason, just serve the files using a webserver like nginx or Apache.
Before using mediafiles on the site, upload them via pics.zeus.gent, our own custom uploading service. You'll receive the server-filename which is available at the aforementioned url. The file must be less than 1MB!
To upload remove the . in action="./zeuswpi" in following code so it looks like this:
form id="upload" class="form" method="post" enctype="multipart/form-data" action="/zeuswpi" style="display: none;">
<label class="file-upload">
Once you've submitted a PR, it will automatically be deployed to (PR#).pr.zeus.gent, for easier reviewing.
Analytics are powered by Fathom and are available on https://stats.zeus.gent. These are only available to administrators with proper rights. These analytics are self hosted and provide only simple statistics for our information, without breaching your privacy.
See the list of contributors who participated in this project.