# CSE Undergraduate Accessibility Course Website The CSE Undergraduate Accessibility course website (example: [here](https://courses.cs.washington.edu/courses/cse493e/24au/)) is built using [Jekyll](https://jekyllrb.com/) and hosted on Gitlab. ## Website Structure The [Undergraduate Accessibility website](https://gitlab.cs.washington.edu/teaching-materials/undergrad-accessibility-website) is forked from a [generic accessibility teaching website](https://gitlab.cs.washington.edu/teaching-materials/accessibility-website) The current year's website is in the branch labeled UACCESS-YYQQ (e.g. [UACCESS-24au](https://gitlab.cs.washington.edu/teaching-materials/undergrad-accessibility-website/-/tree/UACCESS-24fa?ref_type=heads). It will be push back to main at the end of the quarter. Given this setup, 1) All modifications that ARE UACCESS-YYQQ specific should be done in a branch of your own, and then addded to the [UACCESS-YYQQ branch](https://gitlab.cs.washington.edu/teaching-materials/undergrad-accessibility-website/-/commits/UACCESS-24fa?ref_type=heads) using a [pull request](https://nira.com/gitlab-pull-request/) 2) You are *unlikely* to do this, but all modifications that are not latest UACCESS-YYQQ specific should be pushedod to the [main branch](https://gitlab.cs.washington.edu/teaching-materials/undergrad-accessibility-website/-/tree/main?ref_type=heads) (note this is protected and you have to make a pull request) 3) You are *very unlikely* to do this, but all modifications that are not undregraduate accessibility specific should be done in the [generic accessibility teaching website](https://gitlab.cs.washington.edu/teaching-materials/accessibility-website) ## Editing the Website - Clone the repository using the clone url, which should be `git@gitlab.cs.washington.edu:teaching-materials/undergrad-accessibility-website.git' - Make a new branch (a feature branch) `git checkout -b my-new-feature` - Make, commit, and push those changes to the feature branch. When you are happy with how the result looks on your local version of the site, create a PR to merge the feature branch into `UACCESS-QQYY` (for instance `UACCESS-FA24`) - Get that branch reviewed - The merge will deploy the site automatically ## Running the Course Site locally First, read the [website readme](https://gitlab.cs.washington.edu/teaching-materials/undergrad-accessibility-website/-/blob/UACCESS-24fa/README.md?ref_type=heads) which has the most up to date information about how to set it up. Next, clone the website into a directory on the local machine. Note: If you are using Windows 10 Ubunutu shell, you need to make sure that you clone the website in a subdirectory of your home `~/` directory. If you don't you might get the following error `jekyll [version number] | Error: Operation not permitted @ utime_internal - /mnt/c/Users/... If you have not installed `bundler` do so with `$ gem install bundler` Next you need to install the libraries specific to our website. Within the `website` repository run `$ bundle install` to get the deps. If you have trouble with bundle install, and are on osx, here are some things you may need to try. - Mac: `brew install gcc` Windows 10 Ubuntu: `sudo apt-get install gcc` - `export CXX=gcc` - `bundle install` You should now be able to run the website. To do so, use the following command: - `bundle exec jekyll serve` When you run it, you'll see something like `Server address: http://127.0.0.1:XXXX/courses/cse493e/24au/` Copy the address into your web browser to see the locally running version of the class website. Notes: - It may be helpful to have homebrew installed (instructions [here](https://docs.brew.sh/Installation) - You may also need to install NodeJS by running `brew install node` (or downloading it from the Node website). - Similarly, you may need to `brew install ruby` if you do not already have it. We use ruby version 3.2 for the website