zeus.ugent.be/README.md

95 lines
4.3 KiB
Markdown
Raw Permalink Normal View History

2016-06-09 15:04:10 +02:00
# zeus.ugent.be
2021-02-28 15:14:00 +01:00
[![Build Status](https://api.travis-ci.com/ZeusWPI/zeus.ugent.be.svg?branch=master)](https://travis-ci.com/github/ZeusWPI/zeus.ugent.be)
2017-05-20 16:20:57 +02:00
[![Code Climate](https://codeclimate.com/github/ZeusWPI/zeus.ugent.be.png)](https://codeclimate.com/github/ZeusWPI/zeus.ugent.be)
2017-06-03 12:33:32 +02:00
[![PageSpeed](https://pagespeed-badges.herokuapp.com/?url=zeus.ugent.be&strat=desktop&showStratLabel=true)](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fzeus.ugent.be&tab=desktop)
[![PageSpeed](https://pagespeed-badges.herokuapp.com/?url=zeus.ugent.be&strat=mobile&showStratLabel=true)](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fzeus.ugent.be&tab=mobile)
2016-06-09 15:04:10 +02:00
2018-02-21 20:56:04 +01:00
This repository contains the source code for [zeus.ugent.be](https://zeus.ugent.be), the website of Zeus WPI, the official student association of Informatics at Ghent University. The site is developed using [nanoc](https://github.com/nanoc/nanoc), which is actively developed by ex-Zeus member [ddfreyne](https://github.com/ddfreyne). The CSS framework used is [Bulma](https://bulma.io/). 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!
2016-08-23 20:21:02 +02:00
2018-02-21 22:09:11 +01:00
Please check the [Wiki](https://github.com/ZeusWPI/zeus.ugent.be/wiki) for questions about structure.
2018-02-21 20:56:04 +01:00
## 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
2018-10-14 17:44:01 +02:00
You will need Ruby (gem), yarn and pandoc (optional). Installation instructions are listed below.
2018-02-21 20:56:04 +01:00
* [Ruby](https://www.ruby-lang.org/en/documentation/installation/)
2018-10-14 17:10:53 +02:00
* [yarn](yarnpkg.com/en/docs/install)
2018-10-14 17:44:01 +02:00
* [pandoc](https://pandoc.org/installing.html) (optional, install if you want to see the reports)
2018-02-21 20:56:04 +01:00
### Installing
If bundler is not yet installed on your system, make sure to install it using the following command:
```bash
gem install bundler
```
In the root directory of the project, execute following commands
2016-06-09 15:04:10 +02:00
2016-06-10 12:22:59 +02:00
```bash
bundle install
2019-01-07 21:24:11 +01:00
yarn install
2016-06-10 12:22:59 +02:00
```
2016-06-09 15:04:10 +02:00
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.
2018-02-21 20:56:04 +01:00
These will pull in all Ruby and Node.js dependencies. If everything goes well, you should be able to execute the following.
2016-06-09 15:04:10 +02:00
```bash
2016-08-21 18:03:53 +02:00
bundle exec nanoc live
2016-06-09 15:04:10 +02:00
```
2018-02-21 20:56:04 +01:00
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.
2016-06-09 20:20:22 +02:00
2018-12-29 18:00:20 +01:00
### 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.
```bash
git submodule update --init --recursive
```
2016-08-23 20:21:02 +02:00
### Deploying
2016-06-09 20:20:22 +02:00
2018-03-26 12:21:51 +02:00
The latest and greatest builds on master get deployed automatically using [travis](https://travis-ci.org).
2016-07-19 13:43:32 +02:00
For manual deployment, run
2016-06-09 20:20:22 +02:00
```bash
# Build the site for production
2020-10-12 22:39:22 +02:00
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
2016-06-09 20:20:22 +02:00
```
2016-08-23 20:21:02 +02:00
2018-02-21 20:56:04 +01:00
If you want to deploy this on your own system for whatever reason, just serve the files using a webserver like nginx or Apache.
2016-08-23 20:21:02 +02:00
2020-11-18 21:45:49 +01:00
## Uploading media files
2020-11-19 11:28:42 +01:00
Before using mediafiles on the site, upload them via https://zeus.ugent.be/zeuswpi/, our own custom [uploading service](https://github.com/ZeusWPI/ZeusWPI). You'll receive the server-filename which is available at the aforementioned url.
2020-11-18 21:45:49 +01:00
## 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](https://usefathom.com) 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.
2019-01-07 22:52:13 +01:00
## Built With
2016-08-23 20:21:02 +02:00
2018-02-21 20:56:04 +01:00
* [nanoc](https://github.com/nanoc/nanoc), static site generator
* [Bulma](https://bulma.io/), CSS framework
2016-08-23 20:21:02 +02:00
2018-02-21 20:56:04 +01:00
## Authors
2016-08-23 20:21:02 +02:00
2018-02-21 20:56:04 +01:00
See the list of [contributors](https://github.com/zeuswpi/zeus.ugent.be/contributors) who participated in this project.