The website repository for CivicTech.ca — a community of Torontonians working on civic challenges through technology, design, and collaboration.
Visit civictech.ca to learn more about our community, attend events, and get connected.
See CONTRIBUTING.md for how to contribute to this website.
This site is built with Jekyll, which requires Ruby. Follow these steps to get set up:
-
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 -
Clone the Repository
git clone https://github.com/CivicTechTO/civictech.ca.git cd civictech.ca -
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
-
Run the Local Server
Standard mode:
bundle exec jekyll serveOr use incremental regeneration (faster but less stable):
bundle exec jekyll serve --incremental -
View the Site
Open your browser to localhost:4000
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.
git submodule update --remote --merge./_scripts/generate_category_data.sh
./_scripts/generate_tag_data.sh./_scripts/generate_category_pages.sh
./_scripts/generate_tag_pages.shThis 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.
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.