Q&A · Ideas · Show & Tell · Poll

Generate a GitHub Discussions template

Pre-fill the body shown when starting a new discussion. Pick a category preset, tweak the body, and copy the Markdown with front matter.

Discussions Template
Markdown
158 B
19 lines
Category
Q&A
qa
Labels
1
tag(s)
Sections
4
in body
input · fields
output · .github/DISCUSSION_TEMPLATE/qa.md
---
title: '[Title]'
labels: question
---

## What are you trying to do?

## What have you tried?

## Code samples

```

```

## Environment

- OS:
- Version:
Quick Start

How to add a discussions template

Drop the file at .github/DISCUSSION_TEMPLATE/[category-slug].md. GitHub uses it when starting a new discussion in that category.

  1. 01

    Pick a category

    The presets cover the four built-in Discussions formats.

    Parsing runs through marked with GFM extensions enabled — tables, task lists, strikethrough, and fenced code blocks all match GitHub’s rendering.

    presetGFMmarkedCommonMarklive
    category · markdownqa · GFM
    ---
    labels: question
    ---
    loaded · GFMGFM · ready
  2. 02

    Edit the body

    Tweak the Markdown to match your community norms.

    Soft-break behaviour is configurable: by default a single newline becomes a space (CommonMark), toggle on for chat-style <br> insertion.

    bodysoft-breaksoptionsconfiglive
    body · optionsmd · live
    ## Question
    options applied · livelive
  3. 03

    Save in repo

    Path is .github/DISCUSSION_TEMPLATE/[slug].md (slug matches the category).

    The preview is scoped under a .mde class so its CSS doesn’t bleed into the rest of the page. Output HTML is whitespace-controlled for clean diffs.

    pathpreviewscoped CSSrenderstable
    path · rendered.github · ready
    DISCUSSION_TEMPLATE/qa.md
    rendered · liverendered
  4. 04

    Test it

    Open the New Discussion page, pick the category — the body should pre-fill.

    Export covers both raw Markdown and rendered HTML; downloads stream as text/markdown or text/html via Blob + object URL.

    verifyclipboard.md.htmlblob
    ✓ · exportedlive · done
    ✓ Copied
    shipped · ready to shipsuccess
Pro tips

Author Markdown that renders everywhere

GFM is the safe default

GitHub-Flavored Markdown is the de-facto baseline (tables, task lists, strikethrough). CommonMark is stricter but ubiquitous as a fallback.

Soft-break behaviour varies

A single newline is a space in CommonMark, a <br> in GFM. Toggle soft breaks when source matters.

Escape inside code fences

Backticks inside fenced blocks need a longer fence — three becomes four. Use ~~~ if your content has many backticks.

Anchors are slugified

GitHub lowercases, strips punctuation, and joins with hyphens. Duplicate headings get -1, -2 suffixes.

Tables need a header row

The dash row sets alignment (:---, :-:, ---:). Use Table Aligner for diff-friendly columns.

Front matter is YAML

Triple-dash blocks at the top of files are parsed by static-site generators. Use the Front-Matter Validator to catch syntax errors.

Use Cases

Why pre-fill discussions

Better signal, less moderator effort.

Q&A signal

Force askers to share environment + reproduction. Render path uses marked with GFM extensions enabled (tables, task lists, strikethrough, autolinks), so what you preview matches what GitHub publishes bit-for-bit. Soft-break behaviour is configurable for chat-style vs prose Markdown.

GFM-compliant

Idea funneling

Standardise feature requests with the same shape. Pairs cleanly with the Markdown Cheatsheet for syntax you can't quite remember — callout blocks, footnotes, definition lists. Output stays diff-friendly so style-only changes don't drown out real edits in PRs.

GitHub-perfect

Show and tell

Community shows off projects with consistent links + demos. Cross-platform safe: anchors, code fences, and tables behave identically on GitHub, GitLab, Bitbucket, and Gitea. Heading-anchor slugs follow GitHub's lowercase-and-hyphenate rules so deep links survive a docs migration.

diff-friendly

Polls

Lightweight polls via task-list checkboxes. No server roundtrip — perfect for proprietary content you can't paste into a public tool. The full marked + GFM bundle ships with the page, so it works offline once loaded.

render-stable

Onboarding

Auto-add 'first-discussion' label via templates. Front matter (YAML / TOML / JSON) passes through unchanged so static-site pipelines (Jekyll, Hugo, Astro, Eleventy) read it correctly. Pair with the Front-Matter Validator to catch syntax errors before deploy.

cross-platform

Triage

Consistent layout makes triage 10x faster. Output is reproducible: identical input always produces identical Markdown, so doc-generation scripts can rely on it for snapshot tests and embedded into release workflows.

SEO-friendly
FAQ

Frequently asked questions

.github/DISCUSSION_TEMPLATE/[slug].md, where slug is the category slug (q-a, ideas, show-and-tell, polls).
Title sets the placeholder; labels are applied automatically when the discussion is created.
You can match any custom slug — the file name needs to match exactly.
Not supported by GitHub today — one file per category.
No. Template is built locally.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!