Adding lots of stuff to make this an actual site driven by json data

This commit is contained in:
Patrick Connelly 2019-05-14 13:09:22 -04:00 committed by Alex Wood
parent 16c98e99fc
commit 3161176e3a
22 changed files with 26326 additions and 3 deletions

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
_site
.sass-cache
.jekyll-metadata
node_modules
bower_components

9
404.html Normal file
View File

@ -0,0 +1,9 @@
---
title: 404
layout: page
permalink: /404.html
---
<h1 class="title is-1">404</h1>
<p><strong>Page not found :(</strong></p>
<p>The requested page could not be found.</p>

76
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,76 @@
# How to Contribute
The "rules" of Zargon are not set in stone. We want them to be sourced by our community. To add / remove / modify rules, please submit them via a new Issue or PR.
You can use these handy links to help get you started
- [Add a rule](/issues/new?template=add_rule.md)
- [Change a rule](/issues/new?template=change_rule.md)
- [Remove a rule](/issues/new?template=remove_rule.md)
If you are comfortable with development, you can also send a [pull request](http://help.github.com/pull-requests/) with the change. We recommend creating an new issue with your pull request so that discussion on the change can happen.
# Setting up a developer environment
The site is run using [Jekyll](https://jekyllrb.com/) and is pretty easy to figure out. To start local development you'll need to install Jekyll, bundler and install your dependencies
1. ```bash
gem install jekyll bundler
```
2. ```bash
bundler install
```
3. ```bash
bundle exec jekyll serve
```
This will serve up the page at `localhost:4000` and any changes to the files you make will be shown "live" at that site.
## Modifying / adding Javascript and CSS
Javascript and CSS libraries are managed via [Bower](https://bower.io/) and [Grunt](https://gruntjs.com/). You will need to have `npm` available and have `bower` and `grunt-cli` installed globally.
1. Add new assets using `bower install \[asset\] --save`
2. Update the assets by running `npm run build`
## Folder structure
### \_data
This folder contains the data that drives the site
- `rules.json` - This file defines the orders of the rules. To add a new section, add the file to `_data/all_rules/sectionname.json` and add `sectionname` to the `orders` entry
- `all_rules` - This folder contains all of the rules.
- `games.json` - Rules surrounding playing games
- `membership.json` - Rules around membership in Zargon
To add a new rule set, create a file in `_data/all_rules/sectionname.json` with the following format
```javascript
{
"title": "A New Rule Set",
"rules": [
{ "text": "This will be the first rule" },
{ "text": "This will be the second rule" }
]
}
```
### \_includes
This folder contains template files used in other pages
- `footer.html` - The footer
- `navbar.html` - The global navbar. Not currently used.
- `rules.html` - The rules section
- `style.html` - The global style sheet
### \_layouts
This folder contains the layouts used in other pages
- `page.html` - The general page layout
### assets
The static assets used in the site. **Note**: This should not be manually added to but instead generated using `grunt`

2
Gemfile Normal file
View File

@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins

249
Gemfile.lock Normal file
View File

@ -0,0 +1,249 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (4.2.11.1)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.17.13)
ruby-enum (~> 0.5)
concurrent-ruby (1.1.5)
dnsruby (1.61.2)
addressable (~> 2.5)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
ethon (0.12.0)
ffi (>= 1.3.0)
eventmachine (1.2.7)
execjs (2.7.0)
faraday (0.15.4)
multipart-post (>= 1.2, < 3)
ffi (1.10.0)
forwardable-extended (2.6.0)
gemoji (3.0.1)
github-pages (198)
activesupport (= 4.2.11.1)
github-pages-health-check (= 1.16.1)
jekyll (= 3.8.5)
jekyll-avatar (= 0.6.0)
jekyll-coffeescript (= 1.1.1)
jekyll-commonmark-ghpages (= 0.1.5)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.11.0)
jekyll-gist (= 1.5.0)
jekyll-github-metadata (= 2.12.1)
jekyll-mentions (= 1.4.1)
jekyll-optional-front-matter (= 0.3.0)
jekyll-paginate (= 1.1.0)
jekyll-readme-index (= 0.2.0)
jekyll-redirect-from (= 0.14.0)
jekyll-relative-links (= 0.6.0)
jekyll-remote-theme (= 0.3.1)
jekyll-sass-converter (= 1.5.2)
jekyll-seo-tag (= 2.5.0)
jekyll-sitemap (= 1.2.0)
jekyll-swiss (= 0.4.0)
jekyll-theme-architect (= 0.1.1)
jekyll-theme-cayman (= 0.1.1)
jekyll-theme-dinky (= 0.1.1)
jekyll-theme-hacker (= 0.1.1)
jekyll-theme-leap-day (= 0.1.1)
jekyll-theme-merlot (= 0.1.1)
jekyll-theme-midnight (= 0.1.1)
jekyll-theme-minimal (= 0.1.1)
jekyll-theme-modernist (= 0.1.1)
jekyll-theme-primer (= 0.5.3)
jekyll-theme-slate (= 0.1.1)
jekyll-theme-tactile (= 0.1.1)
jekyll-theme-time-machine (= 0.1.1)
jekyll-titles-from-headings (= 0.5.1)
jemoji (= 0.10.2)
kramdown (= 1.17.0)
liquid (= 4.0.0)
listen (= 3.1.5)
mercenary (~> 0.3)
minima (= 2.5.0)
nokogiri (>= 1.8.5, < 2.0)
rouge (= 2.2.1)
terminal-table (~> 1.4)
github-pages-health-check (1.16.1)
addressable (~> 2.3)
dnsruby (~> 1.60)
octokit (~> 4.0)
public_suffix (~> 3.0)
typhoeus (~> 1.3)
html-pipeline (2.11.0)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
jekyll (3.8.5)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 0.7)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 2.0)
kramdown (~> 1.14)
liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
safe_yaml (~> 1.0)
jekyll-avatar (0.6.0)
jekyll (~> 3.0)
jekyll-coffeescript (1.1.1)
coffee-script (~> 2.2)
coffee-script-source (~> 1.11.1)
jekyll-commonmark (1.3.1)
commonmarker (~> 0.14)
jekyll (>= 3.7, < 5.0)
jekyll-commonmark-ghpages (0.1.5)
commonmarker (~> 0.17.6)
jekyll-commonmark (~> 1)
rouge (~> 2)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.11.0)
jekyll (~> 3.3)
jekyll-gist (1.5.0)
octokit (~> 4.2)
jekyll-github-metadata (2.12.1)
jekyll (~> 3.4)
octokit (~> 4.0, != 4.4.0)
jekyll-mentions (1.4.1)
html-pipeline (~> 2.3)
jekyll (~> 3.0)
jekyll-optional-front-matter (0.3.0)
jekyll (~> 3.0)
jekyll-paginate (1.1.0)
jekyll-readme-index (0.2.0)
jekyll (~> 3.0)
jekyll-redirect-from (0.14.0)
jekyll (~> 3.3)
jekyll-relative-links (0.6.0)
jekyll (~> 3.3)
jekyll-remote-theme (0.3.1)
jekyll (~> 3.5)
rubyzip (>= 1.2.1, < 3.0)
jekyll-sass-converter (1.5.2)
sass (~> 3.4)
jekyll-seo-tag (2.5.0)
jekyll (~> 3.3)
jekyll-sitemap (1.2.0)
jekyll (~> 3.3)
jekyll-swiss (0.4.0)
jekyll-theme-architect (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-cayman (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-dinky (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-hacker (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-leap-day (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-merlot (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-midnight (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-minimal (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-modernist (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-primer (0.5.3)
jekyll (~> 3.5)
jekyll-github-metadata (~> 2.9)
jekyll-seo-tag (~> 2.0)
jekyll-theme-slate (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-tactile (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-time-machine (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-titles-from-headings (0.5.1)
jekyll (~> 3.3)
jekyll-watch (2.2.1)
listen (~> 3.0)
jemoji (0.10.2)
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (~> 3.0)
kramdown (1.17.0)
liquid (4.0.0)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
mercenary (0.3.6)
mini_portile2 (2.4.0)
minima (2.5.0)
jekyll (~> 3.5)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.11.3)
multipart-post (2.1.1)
nokogiri (1.10.3)
mini_portile2 (~> 2.4.0)
octokit (4.14.0)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (3.0.3)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
rouge (2.2.1)
ruby-enum (0.7.2)
i18n
ruby_dep (1.5.0)
rubyzip (1.2.2)
safe_yaml (1.0.5)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
typhoeus (1.3.1)
ethon (>= 0.9.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
unicode-display_width (1.6.0)
PLATFORMS
ruby
DEPENDENCIES
commonmarker
github-pages
BUNDLED WITH
2.0.1

14
Gruntfile.js Normal file
View File

@ -0,0 +1,14 @@
module.exports = function (grunt) {
grunt.initConfig({
bower: { install: { options: {
copy: true,
targetDir: 'assets'
} } },
clean: [ 'assets', 'bower_components' ]
});
grunt.loadNpmTasks('grunt-bower-task');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.registerTask('default', [ 'clean', 'bower' ]);
};

View File

@ -1,3 +1,39 @@
theme: jekyll-theme-minimal
title: zargon
logo: https://raw.githubusercontent.com/zrgn/assets/master/zargon_face.png
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Zargon
email: webmaster@zargon.us
description: >- # this means to ignore newlines until "baseurl:"
The home for Zargon on the web
baseurl: "" # the subpath of your site, e.g. /blog
url: "https://zargon.us"
# Exclude from processing.
# The following items will not be processed, by default. Create a custom list
# to override the default setting.
exclude:
- Gemfile
- Gemfile.lock
- bower_components
- bower.json
- scripts
- LICENSE
- .gitignore
- package.json
- package-lock.json
- node_modules
- CONTRIBUTING.md
- Gruntfile.js
- .eslintrc.json

View File

@ -0,0 +1,8 @@
{
"title": "Gaming specific",
"rules": [
{ "text": "If you're going to continue complaining about a particular game, then you must provide a considerable alternative or suffice to stop complaining." },
{ "text": "If after more than one explanation and a video tutorial and you still do not comprehend a particular game, perhaps it's not the game for you." },
{ "text": "If a game seems broken, more over consistently so, and by continued review it appears to be just only you experiencing this, maybe the game isn't for you." }
]
}

View File

@ -0,0 +1,7 @@
{
"title": "Membership",
"rules": [
{ "text": "You may invite new members to join in gaming but they are your responsibility" },
{ "text": "If the group at large does not like a guest then that guest may not be allowed at future events" }
]
}

6
_data/rules.json Normal file
View File

@ -0,0 +1,6 @@
{
"order": [
"membership",
"games"
]
}

7
_includes/footer.html Normal file
View File

@ -0,0 +1,7 @@
<footer class="footer">
<div class="content has-text-centered">
<p>
Hosted on <a href="https://github.com/zargon-now/zargon-now.github.io">GitHub</a> using <a href="https://bulma.io/">Bulma</a>
</p>
</div>
</footer>

26
_includes/navbar.html Normal file
View File

@ -0,0 +1,26 @@
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item has-text-info is-capitalized" href="/">
<b>Zargon</b>
</a>
<a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false"
data-target="navbarBasicExample">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="navbarBasicExample" class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="/">
Home
</a>
<a class="navbar-item" href="/about">
About
</a>
</div>
</div>
</nav>

14
_includes/rules.html Normal file
View File

@ -0,0 +1,14 @@
<h1 class="title is-1">Rules of Zargon</h1>
{% for order in site.data.rules.order %}
{% assign rule_data = site.data.all_rules[order] %}
<div class="content ruleset">
<h4 class="subtitle is-4">{{ rule_data.title }}</h4>
<ul>
{% for rule in rule_data.rules %}
<li>
{{ rule.text }}
</li>
{% endfor %}
</ul>
</div>
{% endfor %}

30
_includes/style.html Normal file
View File

@ -0,0 +1,30 @@
<style>
html,
body {
height: 100%;
}
.page-wrap {
min-height: 100%;
/* equal to footer height */
margin-bottom: -72px;
}
.page-wrap:after {
content: "";
display: block;
}
footer {
padding: 1.5rem !important;
}
footer,
.page-wrap:after {
height: 72px;
}
.ruleset {
margin-top: 1.5rem;
}
</style>

25
_layouts/page.html Normal file
View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ site.title }} - {{ page.title }}</title>
<link rel="stylesheet" href="/assets/css/bulma/bulma.min.css">
{% include style.html %}
</head>
<body>
<div class="page-wrap">
<!-- excluding for now since we've only got one page {% include navbar.html %} -->
<section class="section">
<div class="container">
{{ content }}
</div>
</section>
</div>
{% include footer.html %}
</body>
</html>

10525
assets/css/bulma/bulma.css vendored Normal file

File diff suppressed because it is too large Load Diff

1
assets/css/bulma/bulma.min.css vendored Normal file

File diff suppressed because one or more lines are too long

10598
assets/jquery/jquery.js vendored Normal file

File diff suppressed because it is too large Load Diff

27
bower.json Normal file
View File

@ -0,0 +1,27 @@
{
"name": "zargon-now.github.io",
"homepage": "https://github.com/zargon-now/zargon-now.github.io",
"authors": [
"Patrick Connelly <patrick@deadlypenguin.com>"
],
"description": "Home of zargon on the web",
"main": "",
"license": "MIT",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"jquery": "^3.4.1",
"bulma": "^0.7.4"
},
"exportsOverride": {
"bulma": {
"css": "css/*.css"
}
}
}

22
index.html Normal file
View File

@ -0,0 +1,22 @@
---
title: home
layout: page
---
<div class="columns">
<div class="column is-one-third">
<div class="has-text-centered">
<img src="https://raw.githubusercontent.com/zargon-now/assets/master/zargon_face.png" />
</div>
<section class="hero">
<div class="hero-body">
<h2 class="subtitle">
Good humored, cooperative, competitive torture, for the purposes of exploring strategies, design,
progess and history of gaming
</h2>
</div>
</section>
</div>
<div class="column">
{% include rules.html %}
</div>
</div>

4593
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

43
package.json Normal file
View File

@ -0,0 +1,43 @@
{
"name": "zargon-now.github.io",
"version": "1.0.0",
"description": "Home for zargon on the web",
"main": "index.js",
"scripts": {
"lint-eslint": "./node_modules/.bin/eslint Gruntfile.js",
"lint-md": "./node_modules/.bin/remark --no-stdout -f *.md .github/ISSUE_TEMPLATE/*.md",
"lint": "npm run lint-eslint && npm run lint-md",
"build": "npm run lint && grunt",
"test": "echo \"Error: no test specified\" && exit 1"
},
"remarkConfig": {
"plugins": [
"remark-preset-lint-recommended",
[
"remark-lint-final-newline",
false
]
]
},
"repository": {
"type": "git",
"url": "git+https://github.com/zargon-now/zargon-now.github.io.git"
},
"author": "",
"license": "MIT",
"bugs": {
"url": "https://github.com/zargon-now/zargon-now.github.io/issues"
},
"homepage": "https://github.com/zargon-now/zargon-now.github.io#readme",
"devDependencies": {
"eslint": "^5.16.0",
"grunt": "^1.0.4",
"grunt-bower-task": "^0.5.0",
"grunt-contrib-clean": "^2.0.0",
"remark": "^10.0.1",
"remark-cli": "^6.0.1",
"remark-lint": "^6.0.4",
"remark-preset-lint-recommended": "^3.0.2"
},
"dependencies": {}
}