I have copied this Page from Andreas Sefzigs Homepage.

This is a Homepage Page.
The content is published.
It has the title "Prompts".
The summary is "How to create and customize Prompt.md templates for Homepage content.".

The canonical Web URL is `https://homepage.sefzig-net.workers.dev/docs/prompts`.
The Markdown URL is `https://homepage.sefzig-net.workers.dev/source/pages/docs/prompts/Content.md`.
The Prompt URL is `https://homepage.sefzig-net.workers.dev/source/pages/docs/prompts/Prompt.md`.

The Markdown:
"""
# Prompts

_How to create and customize the Prompt source for Homepage content._

## Purpose [v]

_Use Prompt.md to explain one Homepage content item._

These Prompts are generated `Prompt.md` files that combine a reusable explanation with information from the related `Content.md` file.

Do not confuse them with authored prompts in the [Prompt library](https://homepage.sefzig-net.workers.dev/prompts).

## Templates [v]

_Choose a profile or keep a local template._

System templates live in `/work/content/system/prompts/`. The available profiles are:

- `Generic`
- `Page`
- `Post`
- `Tutorial`
- `Presentation`
- `Chapter`
- `Slide`
- `Listing`
- `Video`
- `Maps`
- `App`

The optional `profile` field chooses a system profile. A named profile overrides a local `Prompt.md`; `profile: Custom` chooses the local template. If `profile` is absent, a non-empty local `Prompt.md` is used first. Otherwise the Generator chooses a suitable profile from the content.

Tutorial content selects `Tutorial` automatically. `Video`, `Maps`, and `App` are selected automatically only for full-screen Slides. Inline media keeps the ordinary `Slide` profile. A Listing Element selects `Listing`; the remaining content kinds select their matching profile, with `Generic` as the fallback.

Generated Prompt sources follow the same content path under `/source/`. Editors change templates in `/work/content/`; generated copies are outputs.

## Customize [v]

_Add a non-empty Prompt.md beside Content.md when one item needs custom wording._

Before customizing a Prompt, make sure that:

1. The content has a valid `Content.md` file.
2. `Prompt.md` uses the exact filename and sits in the same folder.
3. The template contains non-empty Markdown.
4. Dynamic values use supported placeholders.
5. The template does not add private information that should not be public.

Leave `profile` absent to let this local template be selected automatically, or set `profile: Custom` when the choice should be explicit. A named profile such as `profile: Page` deliberately uses its system template instead of the local `Prompt.md`.

Prompt templates support the same `//` author comments as `Content.md`. Full-line and trailing comments are removed outside fenced code blocks before placeholders are replaced.

## Placeholders [v]

_Insert content details, links, and cleaned Markdown with placeholders._

Write the fixed part of the Prompt as ordinary Markdown. Add placeholders wherever the generated Prompt should include information from the content.

| Placeholder | Inserted value |
|---|---|
| `<published\|not published>` | `published` when the Content status is `published`; otherwise `not published` |
| `<Title>` | The content title |
| `<Summary>` | The content summary |
| `<Orientation>` | Short generated source, route, kind, and Markdown-source context |
| `<UrlHomepage>` | The absolute URL of the Homepage root, based on `HOMEPAGE_PUBLIC_URL` |
| `<UrlWeb>` | The canonical public Web URL for the content |
| `<UrlMarkdown>` | The public URL of the generated `Content.md` source |
| `<ContentMd>` | An alias for `<UrlMarkdown>` |
| `<UrlPrompt>` | The public URL of the generated `Prompt.md` source |
| `<Markdown>` | The public Markdown representation of the content |

Use `<Markdown>` where the Prompt should include the content itself. A surrounding explanation and a clear delimiter can make the inserted Markdown easier to copy:

```md [<] Example content section
The content is:
"""
<Markdown>
"""
```

## Publishing [v]

_Generation creates a public Prompt.md and its Content.md source._

The generated public `Content.md` starts with a small metadata header and then the public Markdown body:

```yaml
---
title: <Title>
summary: <Summary>
url: <UrlWeb>
source: <UrlMarkdown>
---
```

The placeholders in this example are replaced with the content's actual title, summary, public Web URL, and public Markdown URL. The authored frontmatter is not copied into the generated file.

The public Markdown body is prepared for sharing:

- Editor comments are removed, except inside fenced code blocks.
- Colon-marked hidden sections are omitted unless the content explicitly shows them.
- Root-relative links are converted to public links.
- Fenced code blocks remain available as code.
- Consecutive empty lines are reduced to one blank line.

The `<Markdown>` placeholder inserts this public body into a Prompt; it does not repeat the generated metadata header. Generated `Prompt.md` files also contain no consecutive empty lines.

## Example [v]

_This example shows the pattern; it is not required._

```md [<] Example Prompt template
This is a Prompt for "<Title>".

The content is <published|not published>.
Open the Homepage at <UrlWeb>.
Read the source at <UrlMarkdown>.

The content:
"""
<Markdown>
"""
```

For a published content item titled `Example`, the generated Prompt replaces the placeholders with the item's status, title, public URL, Markdown source URL, and public Markdown.

## Update [v]

_Run make generate after editing so the generated source catches up._

1. Edit the source `Prompt.md` in the content folder.
2. Run `make generate` from the Workspace root.
3. Open the generated Prompt source and check the links, metadata, and inserted Markdown.

Changing the source template does not change an already generated Prompt until generation has run again.
"""
