About ET · New Content Starter

Create new stories,
events, podcasts, and CIO updates faster

This internal workflow gives the team one safe starter command for each content type. It creates a draft JSON template outside the live build by default, then lets you promote it into the real source folder when it is ready.

4
Starter types
Story, podcast, CIO update, and event
2
Modes
Draft by default, live when ready
1
Script path
scripts/new_content_starter.py
Draft output
tmp/content-starters/
Live output
src/content/posts/ or src/content/events/
Rebuild command
python3 scripts/rebuild_site.py

The simplest way for the team to use it

01

Generate a draft starter

Run the script with a content type and title. By default it writes a starter JSON file into tmp/content-starters/, which is safe because draft files there do not publish to the site.

02

Fill in the real details

Edit the draft file and replace the placeholder copy, dates, links, tags, and image fields. Leave the hero image blank if you want the shared fallback hero pool.

03

Promote it to live content

Rerun the same command with --live when the file is ready, or copy the draft into the real source folder. The script writes to src/content/posts/ or src/content/events/ automatically.

04

Rebuild and verify

Run the rebuild, then check the generated page plus the archive page where it should appear. Use the internal operations pages if you want a fast metadata and media check.

Exact commands for each content type

Standard newsroom story

python3 scripts/new_content_starter.py story "OpenAI Visits Campus for a Day of Training and Building"

This creates a draft file in tmp/content-starters/posts/. Add --live when the story is ready to publish.

ET Talk podcast episode

python3 scripts/new_content_starter.py podcast "ET Talk: AI Literacy and the Campus Future"

The starter includes the ET Talk structure: episode metadata, listen links, embed field, highlights, and summary sections.

Monthly CIO update

python3 scripts/new_content_starter.py cio "March 2026 CIO Updates"

The starter includes stats, intro paragraphs, update cards, and the shared CIO update structure.

Event

python3 scripts/new_content_starter.py event "AI and the Academy"

The starter includes the event schema fields, agenda, sections, and default date formatting for a draft event record.

What the script options do

--live
Writes into the real publishing source folder instead of the draft folder.
--slug your-slug
Overrides the auto-generated slug base when you need a specific file name.
--published 2026-03-14
Sets the publish date for stories, podcasts, and CIO updates.
--stdout
Prints the JSON starter to the terminal instead of writing a file. Useful for quick inspection.
--force
Overwrites an existing starter file when you intentionally want to replace it.

The team-friendly way to work

Best default

Use draft mode first. It keeps incomplete content out of the live site and gives the team a repeatable place to start from.

python3 scripts/new_content_starter.py story "Your Title"

When to use live mode

Use --live only when the copy, dates, links, tags, and image choices are ready enough to rebuild and check immediately.

python3 scripts/new_content_starter.py story "Your Title" --live