Commit 0285e747 authored by Michael T Bailey's avatar Michael T Bailey
Browse files

Merge branch 'master' into eff-language

parents 0fbca1b6 1d2ccfa8
...@@ -4,3 +4,6 @@ ...@@ -4,3 +4,6 @@
srctweb/website/build/ srctweb/website/build/
.venv .venv
.virtualevn .virtualevn
srctweb/_site/
.sass-cache/
.jekyll-metadata
image: python:2
pages: image: ruby:2.3
variables:
JEKYLL_ENV: production
before_script:
- cd srctweb/
- bundle install
build:
stage: build
script: script:
- pip install -r requirements.txt - bundle exec jekyll build --trace -d '../build'
- python srctweb/srctweb.py build
- mv srctweb/website/build/ public/
artifacts: artifacts:
paths: paths:
- public/ - build
prod_deploy:
stage: deploy
script:
- export GIT_SSL_NO_VERIFY=true && cd /srv/srctweb-jekyll/source && git stash save --keep-index && git stash drop && return true
- export GIT_SSL_NO_VERIFY=true && cd /srv/srctweb-jekyll/source && git pull && cd ../
- cp -rf /srv/srctweb-jekyll/source/* /srv/srctweb-jekyll/
- cd /srv/srctweb-jekyll/ && bundle install
- cd /srv/srctweb-jekyll/ && bundle exec jekyll build --trace -d '/srv/srctweb-jekyll/_site'
only: only:
- master - master
tags:
- master
- builds
\ No newline at end of file
## Summary
Here you should include two to three sentences explaining the thought process
about the current issue. Perhaps a picture? Some details that could best help someone,
especially someone new, understand the goal of the issue and how they should best
approach the problem.
## Helpful Links
Here you should include a bullet point list of links to documentation, stack overflow,
whatever, that could help guide someone on what it is they are trying to do.
<<<<<<< HEAD
Essentially, a list of links to point them in the right direction.
=======
Essentially, a list of links to point them in the right direction.
>>>>>>> origin/1.0-jekyll-rewrite
# On Contributing
SRCTWeb welcomes all the help it can get. Even if you don't feel like you can be helpful the more technical aspects, we definitely need designers, technical writers, and testers.
There are many things that can be done with this project (see the "To Do" section), but sometimes it's the small things that count, so don't be afraid of contributing just a small spelling mistake.
If you need help at all please contact and SRCT member. We want people to contribute, so if you are struggling, or just want to learn we are more than willing to help.
The project lead for this project is **Daniel Bond**. *dbond2@gmu.edu*
Please visit the [SRCT Wiki](http://wiki.srct.gmu.edu/) for more information on this and other SRCT projects, along with other helpful links and tutorials.
## git
First take a look at [github flow](https://guides.github.com/introduction/flow/)
as this page gives a good starting point on understanding how to work with `git`
in an open source repo.
**Note:**
You will need to be a member before making any contributions. Join the slack #srctweb channel and ask nicely.
### Branches
Each branch off of the development branch serves one and only one purpose: to
add, modify, or remove features/bugs from Go. Our list of tasks can be found on
the issues page.
If you decide to take on an issue for SRCTWeb you will need to work in a branch off
of the current development branch.
Replace `##` with the issue number that you are working on, and replace
`shortdescription` with a few words (<=4) that in brief describe what the branch
does.
This can be done with the following chain of `git` commands within `srctweb/`:
git pull
git checkout current_development_branch
git checkout -B ##-shortdescription
**Example:**
git pull
git checkout 2.2-dev
git checkout -B 102-readme-updates
If you are working on something that does not have an issue please open a new
issue before creating your branch.
### Commits & Their Messages
It is important to commit more often than not such that if we run into issues we
can narrow down which commit started to cause issues.
Commit messages should follow the format:
#### Title -
Should fill in the blank:
This commit ______
Additionally, if you are closing an issue include:
(Closes #issue_number_here)
Example commit title:
Complete the about page + TOS (Closes #36)
#### Description -
Bullet points of some highlights from the commit.
They don't have to be super serious (see any of my commits) though just a tad bit of info is nice.
Example commit description:
- mostly talk about how great SRCT is
- plus a short blurb on how we can ban you
[Example full commit](https://git.gmu.edu/srct/go/commit/db89af2e4ffd06a6044d3301a3f7a45ced74799a)
### Merging to the current development branch
Once you've finished work in a branch you will need to push your commits to gitlab.
git push origin ##-branchname
`origin` is gitlab.
Open a [merge request](https://git.gmu.edu/srct/go/merge_requests/new)
to start the process of getting your code into the repo. Your code wil be reviewed
by another member before being merged. Your code must pass our tests and include
in the description:
Closes #issue_number_here
[Example pull request](https://git.gmu.edu/srct/go/merge_requests/25)
\ No newline at end of file
############################################################
# Dockerfile to build SRCTweb flask application
# Based on Ubuntu
############################################################
# Instructions:
#
# Build: sudo docker build -t srctweb .
# Run: sudo docker run -p 8000:80 -i -t -d srctweb
#
# You'll need to reverse proxy port 8000 via nginx
# Set the base image to Ubuntu
FROM ubuntu
# File Author / Maintainer
MAINTAINER Student-Run Computing and Technology - GMU
# Update the sources list
RUN apt-get update
# Install basic applications
RUN apt-get install -y tar git curl nano wget dialog net-tools build-essential
# Install Python and Basic Python Tools
RUN apt-get install -y python python-dev python-distribute python-pip
# Clone down SRCT-Web
RUN git clone https://github.com/srct/srctweb.git srctweb
# Get pip to download and install requirements:
RUN pip install -r /srctweb/requirements.txt
# Expose ports
EXPOSE 80
# Set the default directory where CMD will execute
WORKDIR /srctweb/srctweb
# Use Gunicorn to serve the application
CMD gunicorn srctweb:website -b 0.0.0.0:80
SRCTweb -- the homepage of Mason SRCT SRCTweb -- the homepage of Mason SRCT
Copyright (C) 2014 Mason SRCT Copyright (C) 2017 Mason SRCT
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
......
SRCTweb # SRCTWeb -- the homepage of Mason SRCT
===
Our own little site on the world wide web Our own little site on the world wide web.
On Contributing A static site built with [Jekyll](https://jekyllrb.com/).
---
SRCTweb welcomes all the help it can get. Even if you don't feel like you can be helpful the more technical aspects, we definitely need designers, technical writers, and testers. # Setup instructions for local development
There are many things that can be done with this project (see the "To Do" section), but sometimes it's the small things that count, so don't be afraid of contributing just a small spelling mistake. ## 1) Install `git` on your system
If you need help at all please contact and SRCT member. We want people to contribute, so if you are struggling, or just want to learn we are more than willing to help. `git` is the version control system used for SRCT projects.
The project lead for this project is **Daniel Bond**. *dbond2@gmu.edu* ### On Linux Based Systems
Please visit the [SRCT Wiki](http://wiki.srct.gmu.edu/) for more information on this and other SRCT projects, along with other helpful links and tutorials. **with apt:**
Setup Open a terminal and run the following command:
---
To get started, you'll need the following installed: sudo apt update
* [Git](http://git-scm.com/book/en/Getting-Started-Installing-Git)
* [Python 2.7.3](http://www.python.org/download/)
* [Pip](http://www.pip-installer.org/en/latest/install.html)
* [virtualenv](http://www.virtualenv.org/en/latest/index.html#installation)
Open a terminal window and type in the following commands. (If you're on Windows, use [Cygwin](http://www.cygwin.com/). This will create a local, workable copy of the project.) This retrieves links to the most up-to-date and secure versions of your packages.
(set up pip and virtualenv) Next, with:
```bash sudo apt install git
bash
git clone git@git.gmu.edu:srct/srctweb.git
cd srctweb/
pip install -r requirements.txt
cd srctweb/
python srctweb.py
```
To-do you install `git` onto your system.
---
Note-- this should also be on the wiki ### On macOS
**1.1 Release** We recommend that you use the third party Homebrew package manager for macOS,
* set up database for people, meeting date on index page, projects which allows you to install packages from your terminal just as easily as you
* figure out where to put a link to meeting notes could on a Linux based system. You could use another package manager (or not
* Jeykll for meeting notes, finish hackmason (both not in this repository) use one at all), but Homebrew is highly reccomended.
* Figure out parallaxjs for front page
* Figure out intellectual property with GMU
* finish writing privacy policy
* affix js for documents navigation-- example http://www.bootstrapzero.com/bootstrap-template/affix-sidebar
--- To get homebrew, run the following command in a terminal:
**S**tudent - **R**un **C**omputing and **T**echnology (*SRCT*, pronounced "circuit") is a student organization at George Mason University which enhances student computing at Mason. SRCT establishes and maintains systems which provide specific services for Mason's community. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
**Note**: You do NOT need to use `sudo` when running any Homebrew commands, and
it likely won't work if you do.
Next, to make sure Homebrew is up to date, run:
brew update
Finally we can install git with:
brew install git
### On Windows
We recommend that if you are on Windows 10 AE (Anniversary Edition) or above to make use of the
Windows Subsystem for Linux (WSL). The following link should get you up and running:
[https://msdn.microsoft.com/en-us/commandline/wsl/install_guide](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide)
#### Contributing with Windows
If you are not on Windows 10 or would rather prefer to not use the WSL you may download Git for
Windows here:
[https://git-scm.com/download/win](https://git-scm.com/download/win)
I have also successfully ran the project with Docker on Windows, though you need
access to Hyper-V which is only available on **"Professional"** versions of Windows.
## 2) Clone the srctweb codebase
Now, we're going to clone down a copy of the SRCTWeb codebase from [git.gmu.edu](https://git.gmu.edu/srct/srctweb),
the SRCT code respository with SSH.
**a)** Configure your ssh keys by following the directions at:
**[git.gmu.edu/help/ssh/README](https://git.gmu.edu/help/ssh/README)**
**b)** Now, on your computer, navigate to the directory in which you want to download the project (ie. perhaps one called `~/development/SRCT`), and run
git clone git@git.gmu.edu:srct/srctweb.git
## 3) Get SRCTWeb up and running with the method of your choice
Now that we have cloned down the repo you can
cd srctweb/
and get to working on setting up a development environment!
### Docker
Installing Docker on your system:
* For macOS go here: https://docs.docker.com/docker-for-mac/
* For Windows go here: https://docs.docker.com/docker-for-windows/
* For your specific linux disro go here: https://docs.docker.com/engine/installation/
* Additionally, you will need to install docker-compose: https://docs.docker.com/compose/install/
Run:
docker-compose up
If that doesn't work, try:
sudo docker-compose up
You should see that the server is running by going to [http://localhost:4000](http://localhost:4000) in your browser. Any changes you make to your local file system will be mirrored in the server.
# Contrubuting
Please read `CONTRIBUTING.md` for specific information and best practices on how
to contribute to the project.
srctweb:
image: jekyll/jekyll
command: jekyll serve -s './srctweb' -d './srctweb/_site' --trace --watch --incremental
ports:
- 4000:4000
volumes:
- .:/srv/jekyll
source "https://rubygems.org"
ruby RUBY_VERSION
gem "json"
gem "jekyll"
GEM
remote: https://rubygems.org/
specs:
addressable (2.5.0)
public_suffix (~> 2.0, >= 2.0.2)
colorator (1.1.0)
ffi (1.9.14)
forwardable-extended (2.6.0)
jekyll (3.3.1)
addressable (~> 2.4)
colorator (~> 1.0)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
kramdown (~> 1.3)
liquid (~> 3.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (~> 1.7)
safe_yaml (~> 1.0)
jekyll-sass-converter (1.5.0)
sass (~> 3.4)
jekyll-watch (1.5.0)
listen (~> 3.0, < 3.1)
json (2.1.0)
kramdown (1.13.1)
liquid (3.0.6)
listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
mercenary (0.3.6)
pathutil (0.14.0)
forwardable-extended (~> 2.6)
public_suffix (2.0.5)
rb-fsevent (0.9.8)
rb-inotify (0.9.7)
ffi (>= 0.5.0)
rouge (1.11.1)
safe_yaml (1.0.4)
sass (3.4.23)
PLATFORMS
ruby
DEPENDENCIES
jekyll
json
RUBY VERSION
ruby 2.4.1p111
BUNDLED WITH
1.15.3
# Site settings
locale : "en-US"
title : "SRCT"
email : "srct@gmu.edu"
description : "Mason SRCT is a student organization at George Mason University that establishes and maintains systems which provide specific services for Mason's community."
author : "Mason SRCT"
# the subpath of your site, e.g. /blog
baseurl : ""
# the base hostname & protocol for your site, e.g. http://example.com
url : "https://srct.gmu.edu"
# Social Sharing
twitter:
username : "masonsrct"
github:
username : "masonsrct"
facebook:
username : "masonsrct"
app_id :
publisher :
# Reading Files
include:
- .htaccess
- _pages
exclude:
- Gemfile
- Gemfile.lock
# Build settings
markdown: kramdown
defaults:
# _pages
- scope:
path: ""
type: pages
values:
layout: default
jumbotron: false
# Main navigation and links for it
main:
- title: "Projects"
url: "/projects/"
- title: "Calendar"
url: "/calendar/"
- title: "People"
url: "/people/"
- title: "Documents"
url: "/documents/"
children:
- title: "General Policy"
url: "/documents/policy"
- title: "Constitution"
url: "/documents/constitution/"
- title: "Usage Policy"
url: "/documents/usage_policy/"
- title: "Terms of Service"
url: "/documents/terms_of_service/"
- title: "Privacy Policy"
url: "/documents/privacy_policy/"
- title: "Intellectual Property"
url: "/documents/intellectual_property/"
- title: "Software Freedom"
url: "/documents/software_freedom/"
- title: "Logos"
url: "/documents/logos/"
- title: "Contact"
url: "/contact/"
<div id="banner">
<div class="container">
<div class="row">
<div class="col-lg-12 page-header">
<h1><strong>{{ page.title }}</strong></h1>
<p class="lead">{{ page.description }}</p>
</div>
</div>
</div>
</div>
\ No newline at end of file
{% capture base_path %}{{ site.url }}{{ site.baseurl }}{% endcapture %}
<h4>
<strong>Documents</strong>
</h4>
<div class="list-group">
<a href="/documents/policy/" class="list-group-item {% if page.title == 'General Policy' %}active{% endif %}">General Policy</a>
<a href="/documents/constitution/" class="list-group-item {% if page.title == 'Constitution' %}active{% endif %}">Constitution</a>
<a href="/documents/usage_policy/" class="list-group-item {% if page.title == 'Usage Policy' %}active{% endif %}">Usage Policy</a>
<a href="/documents/terms_of_service/" class="list-group-item {% if page.title == 'Terms of Service' %}active{% endif %}">Terms of Service</a>
<a href="/documents/privacy_policy/" class="list-group-item {% if page.title == 'Privacy Policy' %}active{% endif %}">Privacy Policy</a>
<a href="/documents/intellectual_property/" class="list-group-item {% if page.title == 'Intellectual Property' %}active{% endif %}">Intellectual Property</a>
<a href="/documents/software_freedom/" class="list-group-item {% if page.title == 'Software Freedom' %}active{% endif %}">Software Freedom</a>
<a href="/documents/logos/" class="list-group-item {% if page.title == 'Logos' %}active{% endif %}">Logos</a>
</div>
\ No newline at end of file
<div class="container">
<small>
<div class="row" style="padding-top:5px">
<div class="col-lg-12 text-center">
<a href="https://creativecommons.org/licenses/by-nc/4.0/legalcode">
<i class="fa fa-creative-commons fa-fw"></i> BY-NC 2016</a>
Mason SRCT and <a href="https://git.gmu.edu/srct/srctweb/graphs/master">contributors</a>.
</div>
</div>
<div class="row">
<div class="col-lg-12 text-center">
<a href="https://getconnected.gmu.edu/organization/srct">Student-Run Computing and Tech</a> is a
<a href="https://si.gmu.edu/registered-student-organizations/">registered student organization</a>
at <a href="https://www.gmu.edu/">George Mason University</a>.
</div>
<div class="col-lg-12 text-center">
This <a href="{{ url_for('projects') }}">project's</a>
<a href="https://git.gmu.edu/srct/srctweb/tree/master">source</a> is
<a href="https://www.gnu.org/philosophy/free-sw.html">freely licensed</a> under
<a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPL v3.0 or later</a>.
Read our
<a href="https://git.gmu.edu/srct/srctweb/blob/master/README.md">documentation</a>
and
<a href="https://git.gmu.edu/srct/srctweb/issues">contribute</a>.
</div>
<div class="col-lg-12 text-center">
<a href="{{ url_for('constitution') }}">Constitution</a> &middot;
<a href="https://wiki.srct.gmu.edu/">Wiki</a> &middot;
<a href="{{ url_for('termsOfService') }}">Terms</a> &middot;
<a href="{{ url_for('privacyPolicy') }}">Privacy</a> &middot;
<a href="{{ url_for('contact') }}">Contact</a>
</div>
</div>
</small>
</div>
<script src="/assets/js/bootstrap.min.js"></script>
<script>
/*
@licstart The following is the entire license notice for the
JavaScript code in this page.
Copyright (C) 2014 Mason SRCT
The JavaScript code in this page is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this page.
*/
</script>
\ No newline at end of file
{% include base_path %}