From 88d8c0866dd480455553434c06198dfccf12ca09 Mon Sep 17 00:00:00 2001 From: stephandobri <42445312+stephandobri@users.noreply.github.com> Date: Thu, 25 Jul 2024 13:12:32 -0400 Subject: [PATCH] First attempt using minimal mistakes template --- .gitignore | 29 +++++++ .travis.yml | 11 +++ Gemfile | 4 + Rakefile | 76 ++++++++++++++++++ _config.yml | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++ banner.js | 19 +++++ index.md | 83 ++++++++++++++++++++ package.json | 35 +++++++++ staticman.yml | 104 ++++++++++++++++++++++++ 9 files changed, 574 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 Gemfile create mode 100644 Rakefile create mode 100644 _config.yml create mode 100644 banner.js create mode 100644 index.md create mode 100644 package.json create mode 100644 staticman.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5c5a91f --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +# Vim +*~ +*.sw[p_] + +# Sublime Text +*.sublime-project +*.sublime-workspace + +# Ruby Gem +*.gem +.bundle +Gemfile.lock +**/vendor/bundle + +# Node.js and NPM +node_modules +npm-debug.log* +package-lock.json +codekit-config.json + +# macOS +.DS_Store + +# Jekyll generated files +.jekyll-cache +.jekyll-metadata +.sass-cache +_asset_bundler_cache +_site diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..1bb2859 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +language: ruby +cache: bundler +gemfile: docs/Gemfile +script: + - bundle exec jekyll algolia --source docs --destination docs/_site --config docs/_config.yml +branches: + only: + # Change this to gh-pages if you're deploying using the gh-pages branch + - master +rvm: + - 2.4 \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..595e3be --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source "https://rubygems.org" + +gem "github-pages", group: :jekyll_plugins +gem "jekyll-include-cache", group: :jekyll_plugins \ No newline at end of file diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..921330e --- /dev/null +++ b/Rakefile @@ -0,0 +1,76 @@ +require "bundler/gem_tasks" +require "jekyll" +require "listen" + +def listen_ignore_paths(base, options) + [ + /_config\.ya?ml/, + /_site/, + /\.jekyll-metadata/ + ] +end + +def listen_handler(base, options) + site = Jekyll::Site.new(options) + Jekyll::Command.process_site(site) + proc do |modified, added, removed| + t = Time.now + c = modified + added + removed + n = c.length + relative_paths = c.map{ |p| Pathname.new(p).relative_path_from(base).to_s } + print Jekyll.logger.message("Regenerating:", "#{relative_paths.join(", ")} changed... ") + begin + Jekyll::Command.process_site(site) + puts "regenerated in #{Time.now - t} seconds." + rescue => e + puts "error:" + Jekyll.logger.warn "Error:", e.message + Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information." + end + end +end + +task :preview do + base = Pathname.new('.').expand_path + options = { + "source" => base.join('test').to_s, + "destination" => base.join('test/_site').to_s, + "force_polling" => false, + "serving" => true, + "theme" => "minimal-mistakes-jekyll" + } + + options = Jekyll.configuration(options) + + ENV["LISTEN_GEM_DEBUGGING"] = "1" + listener = Listen.to( + base.join("_data"), + base.join("_includes"), + base.join("_layouts"), + base.join("_sass"), + base.join("assets"), + options["source"], + :ignore => listen_ignore_paths(base, options), + :force_polling => options['force_polling'], + &(listen_handler(base, options)) + ) + + begin + listener.start + Jekyll.logger.info "Auto-regeneration:", "enabled for '#{options["source"]}'" + + unless options['serving'] + trap("INT") do + listener.stop + puts " Halting auto-regeneration." + exit 0 + end + + loop { sleep 1000 } + end + rescue ThreadError + # You pressed Ctrl-C, oh my! + end + + Jekyll::Commands::Serve.process(options) +end diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..aee557d --- /dev/null +++ b/_config.yml @@ -0,0 +1,213 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your entire site, values +# which you are expected to set up once and rarely need to edit after that. +# For technical reasons, this file is *NOT* reloaded automatically when you use +# `jekyll serve`. If you change this file, please restart the server process. + +# Theme Settings +# +# Review documentation to determine if you should use `theme` or `remote_theme` +# https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/#installing-the-theme + +remote_theme: "mmistakes/minimal-mistakes@4.24.0" +minimal_mistakes_skin : "dark" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise" + +# Site Settings +locale : "en-US" +title : "GAME Checkpoint Resources" +title_separator : "-" +subtitle : "Game Accessibility Made for Everyone" +name : "Makers Making Change" +description : "Resources used to create GAME Checkpoints such as training materials, templates, and materials for centers." +url : "https://makersmakingchange.github.io/GAME-Checkpoints/" +baseurl : # the subpath of your site, e.g. "/blog" +repository : "makersmakingchange/GAME-Checkpoints" +teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png" +logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png" +masthead_title : "GAME Checkpoint Resources" +breadcrumbs : false +words_per_minute : 200 + + +# # Contact information +# author: +# name : "Tyler" +# avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg" +# bio : "The description goes here" +# email : +# links: +# - label: "Email" +# icon: "fas fa-fw fa-envelope-square" +# # url: "mailto:your.name@email.com" +# - label: "Website" +# icon: "fas fa-fw fa-link" +# # url: "https://your-website.com" +# - label: "Twitter" +# icon: "fab fa-fw fa-twitter-square" +# # url: "https://twitter.com/" +# - label: "Facebook" +# icon: "fab fa-fw fa-facebook-square" +# # url: "https://facebook.com/" +# - label: "GitHub" +# icon: "fab fa-fw fa-github" +# # url: "https://github.com/" +# - label: "Instagram" +# icon: "fab fa-fw fa-instagram" +# # url: "https://instagram.com/" + +# Site Footer +footer: + links: + - label: " " + icon: "fab fa-fw fa-twitter-square" + url: "https://twitter.com/MakerMakeChange" + - label: " " + icon: "fab fa-fw fa-facebook-square" + url: "https://www.facebook.com/makersmakechange" + - label: " " + icon: "fab fa-fw fa-github" + url: "https://github.com/makersmakingchange" + - label: " " + icon: "fab fa-fw fa-instagram" + url: "https://www.instagram.com/makersmakingchange" + - label: " " + icon: "fab fa-youtube-square" + url: "https://www.youtube.com/channel/UCtn0ODz_yq_w9Uy6lUXGX-A" + +# Reading Files +include: + - .htaccess + - _pages +exclude: + - "*.sublime-project" + - "*.sublime-workspace" + - vendor + - .asset-cache + - .bundle + - .jekyll-assets-cache + - .sass-cache + - assets/js/plugins + - assets/js/_main.js + - assets/js/vendor + - Capfile + - CHANGELOG + - config + - Gemfile + - Gruntfile.js + - gulpfile.js + - LICENSE + - log + - node_modules + - package.json + - package-lock.json + - Rakefile + - README + - tmp +keep_files: + - .git + - .svn +encoding: "utf-8" +markdown_ext: "markdown,mkdown,mkdn,mkd,md" + + +# Conversion +markdown: kramdown +highlighter: rouge +lsi: false +excerpt_separator: "\n\n" +incremental: false + + +# Markdown Processing +kramdown: + input: GFM + hard_wrap: false + auto_ids: true + footnote_nr: 1 + entity_output: as_char + toc_levels: 1..6 + smart_quotes: lsquo,rsquo,ldquo,rdquo + enable_coderay: false + + +# Sass/SCSS +sass: + sass_dir: _sass + style: compressed # https://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style + + +# Outputting +permalink: /:categories/:title/ +paginate: 5 # amount of posts to show +paginate_path: /page:num/ +timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + + +# Plugins (previously gems:) +plugins: + - jekyll-paginate + - jekyll-sitemap + - jekyll-gist + - jekyll-feed + - jekyll-include-cache + +# mimic GitHub Pages with --safe +whitelist: + - jekyll-paginate + - jekyll-sitemap + - jekyll-gist + - jekyll-feed + - jekyll-include-cache + + +# Archives +# Type +# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default) +# - Jekyll Archives plugin archive pages ~> type: jekyll-archives +# Path (examples) +# - Archive page should exist at path when using Liquid method or you can +# expect broken links (especially with breadcrumbs enabled) +# - /tags/my-awesome-tag/index.html ~> path: /tags/ +# - /categories/my-awesome-category/index.html ~> path: /categories/ +# - /my-awesome-category/index.html ~> path: / +category_archive: + type: liquid + path: /categories/ +tag_archive: + type: liquid + path: /tags/ +# https://github.com/jekyll/jekyll-archives +# jekyll-archives: +# enabled: +# - categories +# - tags +# layouts: +# category: archive-taxonomy +# tag: archive-taxonomy +# permalinks: +# category: /categories/:name/ +# tag: /tags/:name/ + + +# HTML Compression +# - https://jch.penibelst.de/ +compress_html: + clippings: all + ignore: + envs: development + + +# # Defaults +# defaults: +# # _posts +# - scope: +# path: "" +# type: page +# values: +# layout: splash +# author_profile: false +# read_time: false +# comments: # true +# share: false +# related: false diff --git a/banner.js b/banner.js new file mode 100644 index 0000000..db3974c --- /dev/null +++ b/banner.js @@ -0,0 +1,19 @@ +const fs = require("fs"); +const pkg = require("./package.json"); +const filename = "assets/js/main.min.js"; +const script = fs.readFileSync(filename); +const padStart = str => ("0" + str).slice(-2); +const dateObj = new Date(); +const date = `${dateObj.getFullYear()}-${padStart( + dateObj.getMonth() + 1 +)}-${padStart(dateObj.getDate())}`; +const banner = `/*! + * Minimal Mistakes Jekyll Theme ${pkg.version} by ${pkg.author} + * Copyright 2013-${dateObj.getFullYear()} Michael Rose - mademistakes.com | @mmistakes + * Licensed under ${pkg.license} + */ +`; + +if (script.slice(0, 3) != "/**") { + fs.writeFileSync(filename, banner + script); +} diff --git a/index.md b/index.md new file mode 100644 index 0000000..82e11b7 --- /dev/null +++ b/index.md @@ -0,0 +1,83 @@ +--- +title: "GAME Checkpoint Resources" +layout: splash +header: + overlay_color: "#000" + overlay_filter: "0.5" + overlay_image: /assets/images/Website-Header-2.png # image is 1280x400px. the height is a bit too tall so I just pushed the text/images down in Canva. + actions: + - label: "Download All GAME Checkpoint Resources" + url: "https://github.com/makersmakingchange/GAME-Checkpoints/archive/refs/heads/main.zip" # direct link to download the Main branch +excerpt: | + Version 1.0 / Released Jan 2023 + + - This website hosts all of the resources used to create GAME Checkpoints such as training materials, templates, and materials for centers. + + +feature_row: + - image_path: assets/images/home/reference-guides.png + alt: "A digital photo of several reference guide booklets stacked on top of eachother. The main text showing on the booklet is GAME Checkpoint Training" + title: "Reference Guides" + excerpt: "These guides are intended as tools to be used during or while prepping for an adaptive gaming session. Topics cover gaming gear, gaming basics, game guides, and best practices." + url: "/_pages/reference_guides/" + btn_label: "Go to Reference Guides" + btn_class: "btn--primary" + - image_path: assets/images/home/materials.png + alt: "A photo of 4 assistive switches, a joystick, and an Xbox Adapitve Controller on a laptop tray with velcro." + title: "Materials" + excerpt: "The gaming gear that is recommended for a full accessible gaming space." + url: "/_pages/materials/" + btn_label: "Go to Materials" + btn_class: "btn--primary" + - image_path: assets/images/home/questionnaire.png + alt: "A screenshot of the gaming questionnaire. Several questions with boxes for text or checkboxes." + title: "Gamer Session Questionnaire" + excerpt: "A questionnaire document to help determine the gaming goals and possible setup with a gamer. A insights document as well to explain the purpose of the questions." + url: "/_pages/Session_Questionnaire/" + btn_label: "Go to Questionnaire" + btn_class: "btn--primary" + - image_path: assets/images/home/template-home.png + alt: "A screenshot of the documentation of a game template." + title: "Templates" + excerpt: "If you are looking to expand on our documentation, we have templated some of the content already for you." + url: "/_pages/Templates/" + btn_label: "Go to Templates" + btn_class: "btn--primary" +feature_row2: + - image_path: assets/images/home/gaming-at.png + alt: "Various assistive switches in a box resting on red crinkle packing paper" # complete this once image is fixed. + title: "Low Cost Gaming Assistive Tech" + excerpt: 'Visit the Makers Making Change library with the filter "Gaming" and request a device or find the files to build one.' + url: "https://makersmakingchange.my.site.com/s/category/assistive-devices/0ZGJR00000002Mn4AI?c__results_layout_state=%7B%22page_number%22%3A1%2C%22category_id%22%3A%220ZGJR00000002Mn4AI%22%2C%22refinements%22%3A%5B%7B%22nameOrId%22%3A%22Device_Category__c%22%2C%22type%22%3A%22DistinctValue%22%2C%22attributeType%22%3A%22Custom%22%2C%22values%22%3A%5B%22Gaming%22%5D%7D%5D%7D" + btn_label: "Find Low Cost Gaming AT" + btn_class: "btn--primary" +feature_row3: + - image_path: assets/images/home/sign-up.png + alt: "A close up shot of someones hand using a pen and MMC Signature Guide device to sign up on a page." + title: "Want to stay up to date on the GAME Checkpoints program and other programs?" + excerpt: 'Sign up for the Makers Making Change website! Find 200+ open source low cost assitive technologies, resources, and upcoming events.' + url: "https://www.makersmakingchange.com/s/login/SelfRegister?startURL=%2Fs%2F%3Ft%3D1706554861397" + btn_label: "Sign up to Makers Making Change" + btn_class: "btn--primary" +feature_row4: + - video: + id: 66lpzpTknA + provider: youtube + title: "GAME Checkpoint - GF Strong Rehabilitation Centre" + excerpt: 'Learn more about the GAME Checkpoint program and how the GF Strong staff are utilizing the gear and trianing to serve gamers in the Vancouver area.' + url: "https://neilsquire.us3.list-manage.com/subscribe?u=d23a18433c4afe9206139e240&id=af948441ae" + btn_label: "Sign up to Newsletter" + btn_class: "btn--primary" +--- + +{% include feature_row id="intro" type="center" %} + +{% include feature_row %} + +{% include feature_row id="feature_row2" type="left" %} + +{% include feature_row id="feature_row3" type="right" %} + +{% include feature_row id="feature_row4" type="center" %} + +{% include video id="K66lpzpTknA" provider="youtube" %} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..653e05b --- /dev/null +++ b/package.json @@ -0,0 +1,35 @@ +{ + "name": "minimal-mistakes", + "private": true, + "version": "4.24.0", + "description": "Minimal Mistakes 2 column Jekyll theme.", + "repository": { + "type": "git", + "url": "git://github.com/mmistakes/minimal-mistakes.git" + }, + "keywords": [ + "jekyll", + "theme", + "minimal" + ], + "author": "Michael Rose", + "license": "MIT", + "bugs": { + "url": "https://github.com/mmistakes/minimal-mistakes/issues" + }, + "homepage": "https://mmistakes.github.io/minimal-mistakes/", + "engines": { + "node": ">= 0.10.0" + }, + "devDependencies": { + "npm-run-all": "^4.1.5", + "onchange": "^7.1.0", + "uglify-js": "^3.13.6" + }, + "scripts": { + "uglify": "uglifyjs assets/js/vendor/jquery/jquery-3.6.0.js assets/js/plugins/jquery.fitvids.js assets/js/plugins/jquery.greedy-navigation.js assets/js/plugins/jquery.magnific-popup.js assets/js/plugins/jquery.ba-throttle-debounce.js assets/js/plugins/smooth-scroll.js assets/js/plugins/gumshoe.js assets/js/_main.js -c -m -o assets/js/main.min.js", + "add-banner": "node banner.js", + "watch:js": "onchange \"assets/js/**/*.js\" -e \"assets/js/main.min.js\" -- npm run build:js", + "build:js": "npm run uglify && npm run add-banner" + } +} diff --git a/staticman.yml b/staticman.yml new file mode 100644 index 0000000..61b9592 --- /dev/null +++ b/staticman.yml @@ -0,0 +1,104 @@ +# Name of the property. You can have multiple properties with completely +# different config blocks for different sections of your site. +# For example, you can have one property to handle comment submission and +# another one to handle posts. +# To encrypt strings use the following endpoint: +# https://{your Staticman API URL}/v[2|3]/encrypt/{TEXT TO BE ENCRYPTED} + +comments: + # (*) REQUIRED + # + # Names of the fields the form is allowed to submit. If a field that is + # not here is part of the request, an error will be thrown. + allowedFields: ["name", "email", "url", "message"] + + # (*) REQUIRED WHEN USING NOTIFICATIONS + # + # When allowedOrigins is defined, only requests sent from one of the domains + # listed will be accepted. The origin is sent as part as the `options` object + # (e.g.