This repository is intended to serve as a template for creating a repository for an individual Data Lab workshop. The repository structure and use of GitHub Pages is intended to gather all material required to administer a workshop in one user-friendly place. We use a template repository approach for maintainability.
Please refer to CONTENTS.md
for a brief overview of this repository's contents.
First, you will need to create a new repository using the Use the template
button.
This will create a new repository with the same layout as this template repository under the user or organization you choose as the owner of the repository; if you are a Data Lab member running an internal training workshop, the AlexsLemonade
organization should be the owner.
-
Ensure you have the correct visibility setting for your GitHub account tier.
- If you are using GitHub from a paid account tier (e.g., GitHub Pro, GitHub Team, or GitHub Enterprise), you can set the visibility of this repository as either public or private; the associated GitHub Pages website will still be public.
- If you are using GitHub from a free account tier (e.g., GitHub Free for individuals or organizations), you must set the visibility of this repository as public for GitHub Pages to be active.
-
Turn on workflow permissions for GitHub Actions.
- There are several manually-triggered GitHub Actions provided to facilitate setting up this new repository.
- You must turn on "Read and Write" permissions for GitHub Actions to use them:
-
Navigate to the repository's "Settings" tab at the top of the page.
-
Ensure the following settings are turned on:
-
The first step of setting up up this repository is to run the manually-triggered GitHub Action "Manually trigger issue creation for standard set up" GitHub action. When triggered, this action will file a series of issues comprising tasks that should be completed before the start of a workshop.
Run this action as follows:
-
Navigate to the repository's "Actions" tab at the top of the page.
-
On the upper left-hand side, you will see all available workflows.
-
Click the workflow named
Manually trigger issue creation for standard set up
, and then click the "Run workflow" dropdown button.
To complete repository setup, address all issues filed by this workflow.
It can be helpful to build the GitHub Pages site locally to check that passing parameter values is working as expected.
Installing the dependencies for GitHub Pages is best done in a separate ruby environment, managed by rbenv
and Bundler
The following instructions were tested for installation on macOS, but installation on other systems should be similar.
- Install
rbenv
. The easiest, and recommended, installation is through Homebrew:
# install rbenv
brew update
brew install rbenv ruby-build
Alternatively, you can install with rbenv-installer
which will work even without Homebrew (though it uses Homebrew if you have it).
-
Install
rbenv
for your shell. Since this will depend on which shell you are using, you will want to runrbenv init
to find the correct command to add you your shell configuration file. Note that this command does not actually perform the initialization: it only prints instructions for what line to add to which file! Be sure to add that line to the end of the configuration file indicated. -
Once you have modified your shell configuration, start a new shell to initialize
rbenv
. -
Install a current stable ruby version
# install and set up v3.1.3 of Ruby
rbenv install 3.1.3 && rbenv rehash
-
Activate your ruby version. Here you have a few options:
a. If you want to set the global ruby version that will be used wherever you use
ruby
, you can userbenv global 3.1.3
b. To only use this version of ruby within the repository only, navigate to the root of this repository and use:
rbenv local 3.1.3
This will create a
.ruby-version
file that will automatically activate this version of ruby whenever you are in this directory. -
Now you should be ready to install Bundler:
gem install bundler
- Finally, run
bundle install
from the root of this repository, where theGemfile
is located. This will install all additional dependencies.
Once all dependencies are installed, you should be able to start a local jekyll server with:
bundle exec jekyll serve