跳到正文
cccskills
免费在 GitHub 公开

new-event

Use when a city is setting up its devopsdays event for a new year and needs its data file, pages, redirect, and asset directories created from scratch.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Set up a new event

Creates the four things a new event needs: a data file, a set of pages, a vanity redirect, and directories for images.

Gather

  • Year (<YYYY>) and city as it should be displayed (Boston, Ciudad Autónoma de Buenos Aires)
  • Whether the city has run an event before — that changes the redirect step
  • Social handles, if known. All optional and all editable later

The slug

<city-slug> is the city lowercased, accents folded, non-letters dropped, spaces to hyphens: São Paulo → sao-paulo, Ciudad Autónoma de Buenos Aires → ciudad-autonoma-de-buenos-aires.

The event is then referred to two different ways, and both are used:

  • <YYYY>/<city-slug> for the data directory
  • <YYYY>-<city-slug> for everything else (the "event slug")

1. Check it does not already exist

ls -d data/events/<YYYY>/<city-slug> content/events/<YYYY>-<city-slug> 2>/dev/null

If either exists, stop — this event is already set up.

2. Data file

mkdir -p data/events/<YYYY>/<city-slug>
cp utilities/examples/data/events/main.yml data/events/<YYYY>/<city-slug>/main.yml

Then replace the placeholders throughout the copied file:

PlaceholderReplace withExample
yyyy-citythe event slug2027-boston
YYYYthe year2027
Citythe display cityBoston
yourlocationthe venue, or the city for nowBoston
devopsdayscityabbrthe event's social handledevopsdaysbos
city_emailthe city slugboston

Leave startdate, enddate, and the CFP and registration dates blank until they are real. An event with no startdate shows on the site as upcoming-date-TBD, which is correct.

Two things that will break the build later if you get them wrong:

  • name: must be the event slug, in quotes: name: "2027-boston". It is the only field with a hard error guard in the theme.
  • If you set startdate, you must also set enddate. Several templates read enddate unguarded inside an if startdate block.

3. Pages

cp -r utilities/examples/content/events/yyyy-city content/events/<YYYY>-<city-slug>

That gives nine pages: welcome.md, contact.md, conduct.md, conduct-fr.md, conduct-pt-br.md, location.md, propose.md, registration.md, sponsor.md.

In every one of them, replace CITY with the display city and YYYY with the year — including in the Description lines, which are used for social sharing and SEO.

In welcome.md, also replace yyyy-city in the aliases line with the event slug.

welcome.md ships with most of its body commented out — the logo, location, register, propose, program, speakers and Twitter blocks. Uncomment each as it becomes real. Do not uncomment the program and speakers blocks before those pages exist.

Delete conduct-fr.md and conduct-pt-br.md if the event does not need them.

4. Redirect

static/_redirects gives every city a vanity URL: devopsdays.org/<city-slug> points at the current year's event.

If the city has run before, find its existing line and change only the year, keeping the line where it is:

/boston/*		/events/2027-boston/:splat		302

If it is a new city, append a new line at the end of the file. Netlify matches first-to-last, so any one-off path redirect for that city must stay above its wildcard line.

5. Asset directories

mkdir -p assets/events/<YYYY>-<city-slug>/speakers
mkdir -p assets/events/<YYYY>-<city-slug>/organizers
mkdir -p static/events/<YYYY>-<city-slug>/sharing

Git does not track empty directories, so these only land in the PR once they contain something. Create them now so later steps do not fail.

Images that should follow when they exist:

FileRequirements
assets/events/<slug>/logo.pngMust be named exactly logo.png. Used on the event page and the site front page
assets/events/<slug>/logo-square.pngOptional. Overrides the auto-crop on the front page. PNG, at least 300×300, ideally 600×600
static/events/<slug>/sharing/sharing.jpgSocial card. At least 1200×630, ratio 1.91:1. Then set sharing_image: "sharing.jpg" in main.yml

6. Organizers, and what comes next

The generated main.yml has placeholder organizers (John Doe, Jane Smith, Sally Fields). Replace them with the real team before opening the PR — see .claude/skills/add-organizer/SKILL.md, and note the required email to info@devopsdays.org.

Trim nav_elements: to the pages that actually exist. A new event normally starts with sponsor, contact and conduct, and adds propose, location, registration, program and speakers as they become real.

7. Verify

  • name: in main.yml matches the event slug exactly
  • No YYYY, CITY, City, yyyy-city or devopsdayscityabbr placeholders remain:
    grep -rnE 'YYYY|yyyy-city|devopsdayscityabbr|city_email|yourlocation' \
      data/events/<YYYY>/<city-slug>/ content/events/<YYYY>-<city-slug>/
    
  • The placeholder organizers are gone
  • static/_redirects has exactly one wildcard line for this city
  • Preview /events/<YYYY>-<city-slug>/

8. Submit

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

PR title: [BOS-2027] Set up Boston 2027.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when adding, removing, or updating a local organizer on a devopsdays event team - covers the team_members entry, the photo, and the mandatory email to info@devopsdays.org that gates the merge.

中文简介正在准备中。当前显示原文说明。

devopsdays/devopsdays-web1932026年10月16日 更新

Use when a devopsdays event has confirmed a speaker and their talk, workshop, ignite, or keynote needs to appear on the event site - covers the speaker bio page, the talk page, the headshot, and multi-speaker talks.

中文简介正在准备中。当前显示原文说明。

devopsdays/devopsdays-web1932026年10月16日 更新

Use when a devopsdays event has sold or confirmed a sponsorship and the sponsor needs to appear on the event's site - covers both sponsors already in the shared directory and brand-new ones needing a logo and data file.

中文简介正在准备中。当前显示原文说明。

devopsdays/devopsdays-web1932026年10月16日 更新

Use when a devopsdays event has finished and the slides or video recordings need to be attached to the talk pages, or when a speaker sends a link to their deck afterwards.

中文简介正在准备中。当前显示原文说明。

devopsdays/devopsdays-web1932026年10月16日 更新

Use when building or editing a devopsdays event's schedule - adding talks, ignites, open spaces, breaks, and evening events to the program, or moving time slots around.

中文简介正在准备中。当前显示原文说明。

devopsdays/devopsdays-web1932026年10月16日 更新

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.

中文简介正在准备中。当前显示原文说明。

devopsdays/devopsdays-web1932026年10月16日 更新

查看 devopsdays 的全部技能

报告此技能的问题