Events Guide

This guide explains how to add events to the Distributed Chaos community calendar. Our calendar system makes it easy for anyone to contribute events and help build a vibrant community.

πŸš€ Quick Start

  1. Fork the repository on GitHub
  2. Edit the _data/events.yml file
  3. Add your event under either recurring_events or one_time_events
  4. Follow the examples and structure below
  5. Submit a pull request

πŸ“‹ Contributing Process

Step 1: Fork and Clone

# Fork the repository on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/Distributed-Chaos.git
cd Distributed-Chaos

Step 2: Create a Branch

# Create a new branch for your event
git checkout -b add-my-event-name

Step 3: Add Your Event

Edit _data/events.yml and add your event following the templates below.

Step 4: Test Locally (Optional)

# Install dependencies and run Jekyll locally
bundle install
bundle exec jekyll serve
# Visit http://localhost:4000/calendar/ to test

Step 5: Submit Pull Request

# Commit your changes
git add _data/events.yml
git commit -m "Add [Event Name] to calendar"
git push origin add-my-event-name
# Create pull request on GitHub

πŸ“… Event Types

Recurring Events

Use this for regular meetups, weekly events, monthly gatherings, etc.

recurring_events:
  - id: unique_event_id
    title: "Event Title"
    group: "Group Name"
    description: >
      Multi-line description of the event.
      Use the > character for multi-line text.
    recurrence:
      type: "monthly"  # or "weekly"
      pattern: "last Wednesday"  # See patterns below
      time: "18:30"  # 24-hour format
      timezone: "America/New_York"
    location:
      type: "hybrid"  # "in_person", "online", or "hybrid"
      venue: "Venue Name"
      address: "Full address"
      online_link: "https://discord.gg/example"
      online_platform: "Discord"  # Discord, Zoom, Jitsi, etc.
    contact:
      organizer: "Organizer Name"
      email: "contact@example.org"
      website: "https://example.org"
    tags: ["security", "networking"]  # See categories below
    color: "#ff6b6b"  # Hex color for calendar display

One-Time Events

Use this for conferences, workshops, special events, etc.

one_time_events:
  - id: unique_event_id
    title: "Event Title"
    group: "Group Name"
    description: >
      Event description here.
    date: "2025-06-15"  # YYYY-MM-DD format
    start_time: "09:00"  # 24-hour format
    end_time: "18:00"    # Optional
    timezone: "America/New_York"
    location:
      type: "in_person"
      venue: "Convention Center"
      address: "123 Main St, City, State 12345"
    contact:
      organizer: "Event Team"
      email: "info@event.org"
      website: "https://event.org"
    registration:
      required: true
      link: "https://eventbrite.com/register"
      cost: "$50"  # or "Free"
    prerequisites: "Basic computer skills"  # Optional
    tags: ["conference", "education"]
    color: "#ff9f43"

πŸ”„ Recurrence Patterns

For recurring events, use these patterns:

Monthly Events

Weekly Events

πŸ“ Location Types

🏷️ Event Categories/Tags

Use these predefined tags for proper categorization:

You can also use specific technology tags like:

🎨 Color Codes

Choose colors that match your event type:

βœ… Required vs Optional Fields

Required for All Events

Required for Recurring Events

Required for One-Time Events

Optional Fields

πŸ“ Examples

Simple Monthly Meetup

- id: dc_security_meetup
  title: "DC Security Meetup"
  group: "DC Security Group"
  description: "Monthly gathering for security professionals and enthusiasts."
  recurrence:
    type: "monthly"
    pattern: "first Thursday"
    time: "19:00"
  location:
    type: "in_person"
    venue: "Tech Hub"
    address: "456 Tech St, Washington, DC"
  tags: ["security", "networking"]

Online Workshop

- id: crypto_basics_workshop
  title: "Cryptography Basics Workshop"
  group: "CryptoParty DC"
  description: "Learn the fundamentals of cryptography in this hands-on workshop."
  date: "2025-07-20"
  start_time: "14:00"
  end_time: "16:00"
  location:
    type: "online"
    online_link: "https://meet.jit.si/crypto-workshop"
    online_platform: "Jitsi Meet"
  registration:
    required: true
    link: "https://forms.gle/example"
    cost: "Free"
  tags: ["education", "cryptography"]

Hybrid Conference

- id: defcon_dc_2025
  title: "DEF CON DC 2025"
  group: "DEF CON DC"
  description: >
    Annual cybersecurity conference featuring talks, workshops, 
    and networking opportunities for security professionals.
  date: "2025-08-15"
  start_time: "09:00"
  end_time: "18:00"
  location:
    type: "hybrid"
    venue: "Convention Center"
    address: "789 Convention Ave, Washington, DC"
    online_link: "https://stream.defcondc.org"
    online_platform: "Live Stream"
  contact:
    organizer: "DEF CON DC Team"
    email: "info@defcondc.org"
    website: "https://defcondc.org"
  registration:
    required: true
    link: "https://defcondc.org/register"
    cost: "$75 in-person, $25 virtual"
  tags: ["conference", "security", "networking"]
  color: "#ff6b6b"

πŸ’‘ Best Practices

Event Descriptions

Contact Information

Location Details

Registration

πŸ”§ Tips

  1. Use Descriptive IDs: Make them lowercase with underscores (dc_security_meetup)
  2. Write Clear Descriptions: Help people understand what to expect
  3. Include Contact Info: Make it easy for people to get in touch
  4. Test Your YAML: Use a YAML validator to check syntax
  5. Be Consistent: Follow the existing patterns in the file
  6. Update Regularly: Keep recurring event details current

πŸ› Troubleshooting

Common Issues

  1. YAML Syntax Errors:
    • Check indentation (use spaces, not tabs)
    • Ensure proper nesting
    • Use quotes around strings with special characters
  2. Date/Time Format:
    • Use YYYY-MM-DD for dates
    • Use 24-hour format (HH:MM) for times
    • Include timezone information
  3. Missing Required Fields:
    • Every event needs id, title, group, description
    • Recurring events need recurrence details
    • One-time events need date and start_time

Validation Tools

πŸ†˜ Getting Help

Before Submitting

Need Assistance?

Pull Request Guidelines

🀝 Community Guidelines

Event Inclusion Criteria

Content Standards

Maintenance

πŸ“Š Event Analytics

After your event is added, you can track:

🎯 Success Tips

Promote Your Event

Engage the Community

πŸ™ Thank You!

Thank you for contributing to the Distributed Chaos community calendar! Your events help build a stronger, more connected community of makers, hackers, and technologists.

Happy Contributing! πŸŽ‰