Skip to content

Clean Slate

esmé cowles edited this page Sep 24, 2024 · 2 revisions

Creating a Clean Slate

High-level outline:

  1. Clone last year's git repo
  2. Reset configuration in the _data directory
  3. Remove assets and posts from last year
  4. Convert last year's keynotes into past keynotes
  5. Remove last year's HTML additions/changes
  6. Configure Google Analytics
  7. Clone the wiki
  8. Set up DNS
  9. Set up GitHub Pages
  10. Set up Slack notifications

Clone Last Year's Repo

  1. Visit last year's repo & turn it into a "template" repository
  2. Click the green Use this template button beside "Clone or download"
  3. If need be, transfer ownership of the cloned repo to the Code4Lib org

User Permissions

Give the "Core" Code4Lib team access to the repository.

Create a "C4LYY Website" team e.g. "C4L20 Website" and add all volunteers to it. Give them access to the website.

Clean _data directory

Keep

  • examples dir, contains the templates for future files

Edit

  • conf.yml, the sites configuration file

    1. Remove or comment out all data specific to last year
    2. Most boolean toggles should be set to false
    3. Set homepage-display: pre
    4. Set call-for-sponsors: true & homepage-sponsor-button: true
    5. Update volunteer-committee settings for current year
  • past-keynotes.yml

    1. Copy the keynote speaker information from the speakers.yml file into this file
    2. Add their year, remove the keynote boolean
    3. Move their images from /assets/img/speakers to /assets/img/past-keynotes/
    4. Update their image-src

Remove data files

  • day*_menu.yml
  • duty_officer*.yml
  • online-duty-officer-schedule.yml
  • keynote-nominees.yml
  • locations.yml
  • *-proposals.yml files
  • schedule.yml
  • scholarship-recipients.yml
  • speakers.yml
  • sponsors.yml

testimonials.yml should be left alone.

Delete unneeded media files

  • These often live in assets/img, for instance past year's speaker and sponsor images
  • Do not delete the past-keynotes images, "nopics", "badges", "clockface" or "persistent" directories

Remove all the presentations and workshops from _posts

  • Keynote speaker posts should be in the /_posts/keynotes/ dir, edit their frontmatter to follow this format:
layout: presentation
title: 'CODE FOR LIBERATION'
speaker: kate-krauss
slides: http://2016.code4lib.org/slides/Kate_Krauss_Code4Lib_Keynote.pptx
categories: past-keynote
  • Note that "speakers" plural property is changed to "speaker"
  • Do not remove the keynotes or examples dirs or their contents

Comment out or delete content from HTML files

Excluding "assets" and any "_*" dirs, work through all of the other directories and files. Either comment out or remove information that is no longer valid. In particular, these files tend to need year-to-year edits:

  • _includes/homepage/pre_conference.html might mention the conference hotel
  • prospectus/index.html e.g. number of available sponsorships needs to reset
  • almost everything under general-info/
  • conduct/index.html

Create a new Google Analytics property & add new web committee members

  • ensure you're a member of the Code4Lib Website Working Group in Google Analytics (reach out to the past year's Website Group chair if you're not, they should be able to help)
  • create a new property named "YYYY Conference" with the URL format of https://yyyy.code4lib.org
  • update the tracking code in "_includes/analytics.html" with the new property's ID (e.g. the ga('create', 'UA-12345678-9', 'auto'); line)
  • add any new members of the website group to the analytics account under the User Management section
    • they need to have Google-related emails :(
    • give everyone read & analyze, edit, collaborate permissions
    • adding user's to the web property rather than the root of the group might make the most sense

Migrate last year's GitHub wiki from one repository to another

First, create the wiki in the new repository by visiting it and creating an index page. Then, download the git repos behind both wikis and copy of the files of last year into this year. Here's the process on the command line:

# clone the 2 wikis
git clone [email protected]:code4lib/2017.code4lib.org.wiki.git
git clone [email protected]:code4lib/2018.code4lib.org.wiki.git
# copy last year into this year, overwriting whatever exists
cp 2017.code4lib.org.wiki/* 2018.code4lib.org.wiki
# add changes & push to github
cd 2018.code4lib.org.wiki
git add .
git commit -m 'copy wiki from last year'
git push

Note that a lot of the internal links within the wiki (e.g. in the _Sidebar.md menu) will still reference the last year's URL and so will need to be updated. A search-and-replace of the old "yyyy.code4lib" URL for the new should do it.

Setup the CNAME

Note: in 2024, we did not need to set up DNS. Former website group chair Derek Zoladz noted "We set up DNS for several years in advance... back in 2021, I think".

  1. Ask whomever stewards the code4lib.org domain to setup the conference year's subdomain (usually Ryan Wick of Oregon State)
  2. Once the domain has been set up, in the repo's GitHub settings go to Options > GitHub Pages > Custom domain and then enter the domain

GitHub Pages

You may need to enable GitHub pages under the repo's settings > Pages. Use Source "Deploy from a branch" and Branch = main at the root directory. When you save these settings for the first time, GitHub will check the DNS for the site's domain and obtain a TLS certificate for it which takes up to 15 minutes. Once that's complete, we can select the Enforce HTTPS checkbox.

Slack Notifications

To have new commits, PRs, and other Github activity announced in Slack, subscribe to this repo in the #conference-website Slack channel:

/github subscribe code4lib/2025.code4lib.org