The official website for RubyZG
RubyZG is a casual, community-run meetup group for Ruby and Rails enthusiasts in Zagreb. We regularly organize meetups featuring technical talks, networking opportunities, and socializing within the local Ruby community.
This website serves as our central hub for event information, community resources, and announcements.
- Jekyll - Static site generator
- Tailwind CSS - Utility-first CSS framework
- Ruby - For automation scripts
-
Install dependencies:
bundle install
-
Run the development server:
bundle exec jekyll serve --livereload -
Visit the site:
http://localhost:4000
When you add new meetup photos:
-
Add raw images to the appropriate event folder in
assets/images/meetups/YYYY-MM-DD-event-name/ -
Run the optimization script before committing:
ruby scripts/optimize_meetup_images.rb
This script will:
- Resize images to maximum 1200×800px
- Convert all images to optimized JPG format
- Rename them with uniform naming (
photo_001.jpg,photo_002.jpg, etc.) - Remove original files after optimization
- Skip already optimized images (idempotent)
-
Commit the optimized images to the repository
The fetch_meetup_events.rb script automatically pulls new events from Meetup.com:
ruby scripts/fetch_meetup_events.rbThis script should be run periodically (manually or via automation) to keep the website synchronized with new events posted on Meetup.com. It:
- Fetches upcoming and recent events via GraphQL API
- Creates markdown files in the
_events/directory - Sets up proper frontmatter for Jekyll processing
- Handles venue information and event descriptions
For initial setup or bulk import of past events, use:
ruby scripts/import_past_events.rbThis script was used to initially populate the site with historical meetup data and is typically only run once during setup.
├── _events/ # Event markdown files
├── _includes/ # Jekyll includes (header, footer)
├── _layouts/ # Jekyll layouts (default, event, landing)
├── assets/
│ ├── css/ # Stylesheets
│ └── images/ # Images and meetup photos
├── scripts/ # Ruby automation scripts
├── events.xml # RSS feed for events
└── *.md # Main site pages
The site is deployed automatically via GitHub Pages when changes are pushed to the main branch.
- Fork the repository
- Create a feature branch
- Make your changes
- Run image optimization if you added photos
- Test locally with
bundle exec jekyll serve - Submit a pull request
optimize_meetup_images.rb- Optimizes and standardizes meetup photosfetch_meetup_events.rb- Syncs events from Meetup.com APIimport_past_events.rb- Bulk import historical events (one-time use)
This project is open source. See the LICENSE file for details.