[SOLVED] Hugo doesn't see content for both URLs

I am using the hugo-sustain theme, which works fine. It has a projects page that uses a yaml file to list projects. I figured I’d replicate that with a speaking page, but it keeps showing the projects page when I click on either link and I can’t figure out why. General structure (showing relevant portions):

# from config.toml

## Main Menu
[[menu.main]]
  name = "blog"
  weight = 100
  identifier = "blog"
  url = "/blog/"
[[menu.main]]
  name = "projects"
  identifier = "projects"
  weight = 200
  url = "/projects/"
[[menu.main]]
  name = "speaking"
  identifier = "speaking"
  weight = 300
  url = "/speaking/"

Note that projects works, but speaking links to projects instead and I can’t figure out why.

# directory structure

content
 +- blog/ ... (stuff in here that works)
 +- projects.md (works)
 +- speaking.md (never goes here)
data
 +- projects.yml (pulls this data)
 +- speaking.yml (never pulls this data)
layouts
 +- _default
    +- projects.html (uses this)
    +- speaking.html (never uses this)
    +- list.html (works)
    +- single.html (works)
 +- partials/ ... (stuff in here that works)
 +- 404.html (works)
 +- index.html (works)

The contents of these files correctly refer to speaking vs. projects, but projects is always rendered for /projects/ and for /speaking/ and I can’t figure out why.

Hugo version: Hugo Static Site Generator v0.42.1 darwin/amd64

I’m just rendering it using hugo server on the command line (locally) for now. I’ve stopped and restarted multiple times.

SOLUTION: Turns out the issue was in none of these places but rather in single.html, where it contained code to render projects, but no code to render speaking.