Skip to content
Back to skills

Cancel Event

ASecurity

Use when a devopsdays event that is already listed on the site has to be cancelled or postponed, and its pages need to stop advertising dates, registration, and sponsorship.

  • 194 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 5, 2026
devopsgobashdevops

Security analysis

A93/100
  • highPerforms destructive filesystem operations

Pro shows the line behind each finding and how to fix it

Scanned October 5, 2026

npx -y skills add devopsdays/devopsdays-web --skill cancel-event --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cancel Event?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cancel Event
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/devopsdays-cancel-event/badge)](https://www.skillsdirectory.com/skills/devopsdays-cancel-event)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cancel-event
description: Use when a devopsdays event that is already listed on the site has to be cancelled or postponed, and its pages need to stop advertising dates, registration, and sponsorship.
---

# Cancel an event

The goal is that the event stops appearing as upcoming, its dead pages redirect instead of 404ing,
and anyone who lands on it sees why.

The site filters events with `cancel: "true"` out of the upcoming, all-events and TBD listings.
The value is a **case-sensitive string in quotes**.

There is no script for this. Work through it by hand.

## 1. Trim the pages

Keep three: `welcome.md`, `contact.md`, `conduct.md` (plus translated conduct pages if the event
has them). Delete the rest from `content/events/<YYYY>-<city-slug>/`:

```bash
cd content/events/2026-ponyville
rm -f location.md propose.md registration.md sponsor.md program.md speakers.md talks.md
rm -rf program speakers
```

## 2. Redirect the deleted pages

Anyone with a bookmark should land on the welcome page, not a 404. Add aliases to `welcome.md`'s
frontmatter, one per page you deleted:

```
+++
Title = "devopsdays Ponyville 2026"
Type = "welcome"
Description = "devopsdays Ponyville 2026 has been cancelled."
aliases = [
    "/events/2026-ponyville/",
    "/events/2026-ponyville/location/",
    "/events/2026-ponyville/propose/",
    "/events/2026-ponyville/registration/",
    "/events/2026-ponyville/sponsor/",
    "/events/2026-ponyville/program/",
    "/events/2026-ponyville/speakers/"
]
+++
```

Then replace the body with the cancellation notice. Say what happened, and whether people should
expect the event to return, and how to reach the team. This is the page everyone will see.

## 3. Edit the data file

In `data/events/<YYYY>/<city-slug>/main.yml`:

```yaml
cancel: "true"

startdate:
enddate:
cfp_date_start:
cfp_date_end:
cfp_date_announce:
registration_date_start:
registration_date_end:

location:
location_address:

sponsors_accepted: "no"

description: "devopsdays Ponyville 2026 has been cancelled."

nav_elements:
  - name: contact
  - name: conduct
```

Blank the dates rather than deleting the keys. Trim `nav_elements` to the pages that still exist —
leaving a nav entry for a deleted page produces a dead link.

Leave the `sponsors:` list alone. Sponsors who supported the event stay credited.

## 4. The build trap

**If `location.md` used `{{< event_map >}}` and you blank `coordinates`, the build breaks.** The
shortcode reads `coordinates` before checking whether there is an address, so a blank value is a
hard failure, not a graceful skip.

Deleting `location.md` in step 1 avoids this entirely. If the event keeps a location page for some
reason, remove the `{{< event_map >}}` shortcode from it.

## 5. The redirect

Leave the city's line in `static/_redirects` pointing at this event. When the city runs again,
`new-event` bumps the year. Pointing `/ponyville/` at a cancelled event is better than pointing it
at nothing.

## 6. Verify

- `cancel: "true"` is quoted, lowercase `true`, and spelled `cancel` not `cancelled`
- The event is gone from the front page and `/events/` after a rebuild
- Every alias you added corresponds to a page you actually deleted
- Every remaining `nav_elements` entry has a page
- No `{{< event_map >}}` survives with blank coordinates
- Preview `/events/<YYYY>-<city-slug>/` and try one of the old URLs

## 7. Submit

Follow `.claude/skills/submit-changes/SKILL.md`.

PR title: `[PONY-2026] Cancel Ponyville 2026`.

This is a visible change affecting people who bought tickets or submitted talks. Make sure the
organizers have actually announced it before the PR merges.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…