Projects are asked to be part of promoting upcoming events by
including the event images and links in their sites

# Instructions

Please follow the instructions at https://www.apachecon.com/event-images

# Legacy instructions

The former way of including event images in your project site still
works, but will likely stop being maintained at some time in the
future.

To add the static image to your project site:

- Add a small image and link (where {size} = 125x125 or 234x60)

<a  href="https://www.apache.org/events/current-event.html">
  <img src="https://www.apache.org/events/current-event-{size}.png"/>
</a>

# Updating images

To update the images used in these ads:

- update text in content/events/current-event.mdtext
- replace content/events/current-event-*.png files with the new versions from content/ads/ApacheCon

