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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Every speaker needs two files that share one slug, plus usually a headshot:
| File | Purpose |
|---|---|
content/events/<YYYY>-<city>/speakers/<slug>.md | The bio page |
content/events/<YYYY>-<city>/program/<slug>.md | The talk page: title and abstract |
assets/events/<YYYY>-<city>/speakers/<slug>.<ext> | The headshot |
Adding a speaker does not put them on the schedule. That is
.claude/skills/build-program/SKILL.md.
Lowercase, ASCII, hyphen-separated: jane-doe, maria-lopez. Fold accents (Ramírez →
ramirez), drop apostrophes and periods (O'Brien → obrien, J.R. Smith → jr-smith).
The Lint Filenames CI job hard-fails on any mixed-case filename, so this is not cosmetic.
content/events/<YYYY>-<city>/speakers/<slug>.md. TOML frontmatter, +++ delimiters:
+++
Title = "Jane Doe"
Twitter = ""
linkedin = ""
image = ""
type = "speaker"
linktitle = "jane-doe"
+++
Jane's bio goes here. Markdown works.
The mixed key casing is what the generator produces and what every existing file uses. Hugo is case-insensitive about frontmatter keys, so match the template rather than tidying it.
Optional fields the theme renders: Website, Facebook, Github, Pronouns, twitch,
mastodon, bluesky. Give mastodon and bluesky full profile URLs; Twitter and Github
take bare usernames without the @.
image is a bare filename, not a path — it resolves against
assets/events/<YYYY>-<city>/speakers/. Leave it "" if there is no photo; the theme falls back
to a default avatar.
Watch the first line. If the +++ has a trailing space — which happens with CRLF line
endings on Windows — the site will not build. Use LF.
content/events/<YYYY>-<city>/program/<slug>.md:
+++
Talk_date = ""
Talk_start_time = ""
Talk_end_time = ""
Title = "The Real Title Of The Talk"
Type = "talk"
Speakers = ["jane-doe"]
+++
The abstract goes here. Markdown works.
Title here is the display title of the talk, unlike the program YAML where title is a
slug. Do not confuse the two.Speakers is always an array, even for one speaker, and holds speaker slugs, not names.Talk_* fields are vestigial — the schedule comes from the program data. Leave them empty.Type = "talk" even for a keynote, workshop, or ignite. Those values have no layout and
fall through to a blank template. The program entry is where you mark it as an ignite or
workshop.Copy into assets/events/<YYYY>-<city>/speakers/<slug>.<ext>, creating the directory if needed:
mkdir -p assets/events/2026-boston/speakers
cp ~/Downloads/jane.jpg assets/events/2026-boston/speakers/jane-doe.jpg
.jpg, .png and .webp all work — the extension must match the actual formatimage = "jane-doe.jpg"Note utilities/add_speakers.sh hardcodes .png for both the check and the destination, so it
will happily save a JPEG under a .png name. Writing the files directly avoids that.
Create a speaker page for each. Create one talk page listing all of them:
Speakers = ["jane-doe", "sam-patel"]
You can name that talk file after either speaker, or rename it to something combined
(doe-patel.md) — as long as the program entry's title matches the filename.
The first time an event adds speakers, uncomment the entry in
data/events/<YYYY>/<city>/main.yml:
nav_elements:
- name: speakers
Do this by hand. The sed in utilities/add_speakers.sh that is supposed to do it no longer
matches the template and silently does nothing.
You also need content/events/<YYYY>-<city>/speakers.md to exist:
+++
Title = "Speakers"
Type = "speakers"
Description = "Speakers for devopsdays <City> <YYYY>"
+++
Speakers = [...] holds slugs that match real files in speakers/image matches a file that is actually on disk, with the right extension/events/<YYYY>-<city>/speakers/ and the individual talk pageFollow .claude/skills/submit-changes/SKILL.md.
PR title: [BOS-2026] Add Jane Doe and her talk.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when a sponsor has rebranded or sent an updated logo and it must change on current and future events without altering how they appeared at past devopsdays events.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.