Skip to content

Instantly share code, notes, and snippets.

@cynthiateeters
Created January 22, 2026 15:25
Show Gist options
  • Select an option

  • Save cynthiateeters/ade9da5a5796457a3385b460f3f227b5 to your computer and use it in GitHub Desktop.

Select an option

Save cynthiateeters/ade9da5a5796457a3385b460f3f227b5 to your computer and use it in GitHub Desktop.
Example SpecStory history file - HAP's Markdown learning session

Markdown learning (2026-01-20 14:30Z)

User (2026-01-20 14:30Z)

I need to know how to write markdown


Agent (model copilot/auto)

Here's a quick markdown reference:

Headings

# Heading 1

## Heading 2

### Heading 3

Emphasis

_italic_ or _italic_
**bold** or **bold**
**_bold italic_**

Lists

- Item 1
- Item 2
  - Nested item

1. First
2. Second
3. Third

Links & Images

[Link text](https://example.com)
![Alt text](image.png)

Code

`inline code`
code block

Tables

| Column 1 | Column 2 |
| -------- | -------- |
| Data 1   | Data 2   |

Other

> Blockquote
> --- (horizontal line)

For a complete guide, check the learn-markdown.md file in your workspace. What specific markdown topic do you need help with?


User (2026-01-20 14:38Z)

Writing markdown, I'm trying to make a bulleted list but it's showing up as one long paragraph. What am I doing wrong?


Agent (model copilot/auto)

I'd need to see your markdown code to diagnose the issue. Can you share the markdown you're working with?

Common causes for bulleted lists appearing as a paragraph:

  1. Missing blank line before the list — There should be a blank line between text and the start of the list
  2. Incorrect bullet format — Use - , * , or + (with a space after the bullet)
  3. Inconsistent indentation — All bullets at the same level should align
  4. No blank lines between items — Some markdown renderers require this for proper rendering

Share your code and I can pinpoint the exact problem.


User (2026-01-20 14:40Z)

Oh! Let me try that... it worked! Why does the blank line matter?


Agent (model copilot/auto)

The blank line signals to the Markdown parser that a new "block element" is starting.

Without it, Markdown treats everything as a continuation of the previous paragraph. The parser sees:

  • Your text
  • Then dashes that look like they could be part of the text

With a blank line, Markdown knows: "Previous section ended. Something new is starting." Then it recognizes the dashes as list markers.

It's one of those small syntax rules that makes a big difference!


User (2026-01-20 14:48Z)

What's the difference between bold and italic in Markdown? When should I use each one?


Agent (model copilot/auto)

Bold vs Italic in Markdown:

Bold (**text**or**text**)

  • Use for emphasis on important concepts, headings within text, or key terms
  • Example: "The main point is that..."

Italic (*text*or*text*)

  • Use for emphasis on titles, names, foreign words, or gentle emphasis
  • Example: "This is from the book The Pragmatic Programmer"

Bold and Italic (***text***)

  • Use when you need maximum emphasis
  • Example: "This is critically important"

General guideline: Bold for strong emphasis; italic for softer emphasis or stylistic purposes.


User (2026-01-20 14:50Z)

Can I use both at the same time?


Agent (model copilot/auto)

Yes! Use three asterisks for bold italic:

**_This is bold and italic_**

You can also nest them: bold with italic inside or *italic with bold inside*.


User (2026-01-20 14:58Z)

How do tables work in Markdown? I tried copying the example from learn-markdown.md but mine looks broken.


Agent (model copilot/auto)

Markdown tables use pipe characters (|) to create columns and dashes (-) to separate the header row from data rows.

Basic syntax:

| Header 1 | Header 2 | Header 3 |
| -------- | -------- | -------- |
| Data 1   | Data 2   | Data 3   |
| Data 4   | Data 5   | Data 6   |

Common issues that break tables:

  1. Missing pipes — Every row needs pipes at the start and end: | content |
  2. Uneven column counts — All rows must have the same number of columns
  3. Dashes too short — Use at least 3 dashes per column: |---|---|---|
  4. No blank line before table — Add a blank line before the table starts
  5. Spaces matter — Consistent spacing helps readability but isn't required

Alignment (optional):

| Left | Center | Right |
| :--- | :----: | ----: |
| Data |  Data  |  Data |
  • :--- = left-align
  • :---: = center-align
  • ---: = right-align

Can you share your table code? I can spot what's broken.


User (2026-01-20 15:05Z)

The second row with dashes - is that what makes the first row a header?


Agent (model copilot/auto)

Exactly right! The separator row (|---|---|) is what tells Markdown "the row above this is a header."

Without it, Markdown just sees text with pipe characters—it doesn't know you want a table at all.

Think of it as:

  • Row 1: Header content
  • Row 2: "This is a table!" signal
  • Row 3+: Data rows

That's why your table looked broken when the separator was missing. Good observation!


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment