Skip to content

CivicTechTO/civictech.ca

Repository files navigation

CivicTech Toronto

The website repository for CivicTech.ca — a community of Torontonians working on civic challenges through technology, design, and collaboration.

Get Involved

Visit civictech.ca to learn more about our community, attend events, and get connected.

See CONTRIBUTING.md for how to contribute to this website.

Local Development

This site is built with Jekyll, which requires Ruby. Follow these steps to get set up:

  1. Install Ruby

    This project requires Ruby 3.2.2 (specified in .ruby-version).

    We strongly recommend installing Ruby using a Ruby version manager like RBENV.

    Verify your Ruby version:

    ruby -v
    # Should show: ruby 3.2.2
  2. Clone the Repository

    git clone https://github.com/CivicTechTO/civictech.ca.git
    cd civictech.ca
  3. Install Dependencies

    Bundler manages Ruby gem dependencies:

    gem install bundler
    bundle install

    If you see errors about missing Ruby version, make sure you've completed the Prerequisites section above.

    Additional dependencies for image processing:

    If using macOS, you can get libvips from homebrew:

    brew install vips imagemagick

    [!TIP]

    Additional Resources

  4. Run the Local Server

    Standard mode:

    bundle exec jekyll serve

    Or use incremental regeneration (faster but less stable):

    bundle exec jekyll serve --incremental
  5. View the Site

    Open your browser to localhost:4000

Common Issues

Ruby Version Management If you encounter Ruby version conflicts, use a Ruby version manager like RVM or rbenv. Check .ruby-version for the required version.

Bundle Install Errors Ensure your Ruby environment matches the Gemfile requirements. Older gem versions may not be compatible with newer Ruby versions.

Jekyll-GitHub Pages Compatibility GitHub Pages restricts Jekyll plugins for security. See supported versions for details.

Validating Meetup Images Run make validate to check that every meetup's image: front matter points at a real file in archives/images/events/. CI runs this on pull requests to main (including the daily submodule-update PR) and fails if a referenced image is missing, so broken references are caught before they reach the site.

Image Derivative Caching CI caches generated image thumbnails (_site/assets/thumbs) keyed on the contents of archives/images/, so unchanged images are not regenerated. Locally, _site persists between builds, so repeat builds are already incremental — running make clean wipes _site and forces a full regeneration on the next build.

Development Scripts

Update Submodule

git submodule update --remote --merge

Generate Categories and Tags Data

./_scripts/generate_category_data.sh
./_scripts/generate_tag_data.sh

Generate Category and Tag Pages

./_scripts/generate_category_pages.sh
./_scripts/generate_tag_pages.sh

Project Structure

This site uses Jekyll with content managed in the archives/ submodule. The archives contain historical data about events, people, projects, and organizations. See archives/README.md for more details.

License

This project uses a dual-license structure:

  • Code (Jekyll templates, scripts, stylesheets, etc.): MIT License
  • Content (website pages, documentation, archive content): CC BY-NC-SA 4.0

See LICENSE for full details.

About

open source website of Civic Tech Toronto.

Topics

Resources

License

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors