Student docs

Set up your blog and publish your first post

You will use one assigned slug. You only edit files inside that slug. You publish by opening a pull request.

Use this page for first-time setup now and quick reference later.

  1. 01 Get your slug
  2. 02 Set up your profile
  3. 03 Write your post
  4. 04 Open your PR
Quick start

Do these steps in order

This is the shortest path from getting a slug to opening your first pull request.

  1. 01

    Confirm your slug

    Ask your instructor for your assigned studentSlug. You will use this same slug in your profile path, post folder, and public URL.

  2. 02

    Open your profile file

    Edit src/content/students/{studentSlug}.json and keep the filename matched to your assigned slug.

  3. 03

    Update your profile fields

    Fill in your displayName, githubUsername, bio, and publication status. Do not change slug.

  4. 04

    Add your post file

    Create a Markdown file in src/content/posts/{studentSlug}/.

  5. 05

    Check the filename pattern

    Name the file YYYY-MM-DD-post-slug.md so the generated route is stable.

  6. 06

    Fill in frontmatter

    Add title, description, publishDate, and draft. Add optional tags or an update date if needed.

  7. 07

    Open your pull request

    Submit a PR with your slug and post title. CI and instructor review are the publishing gate.

Reference

Look up the exact rule you need

Use these sections when you need a file path, naming rule, or frontmatter reminder.

Slug rules

  • lowercase only
  • letters, numbers, and hyphens only
  • no spaces
  • do not rename the slug after publishing unless the instructor handles the change

Generated URL pattern: /students/{studentSlug}/ and /students/{studentSlug}/{postSlug}/

Files you may edit

  • src/content/students/{studentSlug}.json
  • src/content/posts/{studentSlug}/YYYY-MM-DD-post-slug.md
  • public/student-assets/{studentSlug}/ if your class uses assets

Profile fields

Required

  • slug
  • displayName
  • githubUsername
  • bio
  • published

Optional

  • avatar
  • accentColor
  • links

Post filename pattern

src/content/posts/{studentSlug}/YYYY-MM-DD-post-slug.md

Example output URL: /students/student-slug/first-post/

Frontmatter requirements

Required fields

  • title
  • description
  • publishDate
  • draft

Optional fields

  • updatedDate
  • tags
---
title: "[AI Sample] My first post"
description: "Short summary for the directory and RSS feed."
publishDate: 2026-03-09
tags:
  - example
  - intro
draft: false
---
Before you submit

Check these before opening your PR

PR checklist

  • Confirm you edited only your own profile file, post files, and optional asset files.
  • Check links, spelling, and Markdown formatting.
  • Make sure the filename matches `YYYY-MM-DD-post-slug.md`.
  • Set `draft: false` only when the post is ready to publish.
  • Fill out the PR template with your slug and post title.

Common mistakes

  • editing another student’s folder
  • mismatching the slug and the profile filename
  • using the wrong post filename pattern
  • forgetting required frontmatter fields
  • publishing a draft before the post is ready

CI will fail if you edit files outside your assigned slug area.

Need more detail?

Use these links when you need more context