Skip to content

Latest commit

 

History

History
109 lines (68 loc) · 4.74 KB

README.md

File metadata and controls

109 lines (68 loc) · 4.74 KB

zeus.ugent.be

Build Status Code Climate PageSpeed PageSpeed

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.

Getting Started

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.

Prerequisites

You will need Ruby (gem) and pandoc (optional). Installation instructions are listed below.

  • Ruby
  • pandoc (optional, install if you want to see the reports)

Installing

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.

Not optional: install submodules

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

This is also needed for bulma

For Nix users

If you are using Nix, you can use the provided shell.nix file to get a shell with all the required dependencies.

nix-shell

Deploying

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.

Uploading media files

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">

Submitting a Pull Request

Once you've submitted a PR, it will automatically be deployed to (PR#).pr.zeus.gent, for easier reviewing.

Analytics

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.

Built With

  • nanoc, static site generator
  • Bulma, CSS framework

Authors

See the list of contributors who participated in this project.