Render Gotchas

By the Syncfusion DevTutorials team · Last updated

Look up what you see, find the cause and the fix: headings, lists, links, code, tables, escaping, frontmatter errors and agent-file problems, each linked to its lesson.

What you will learn

  • Diagnose a Markdown rendering or agent-file problem from its symptom

Render Gotchas

Look up what you see, find the cause, apply the fix. Each section links to the lesson that explains it. The boxes show the most common problems broken first and fixed second, so you can compare them.

The Ten Most Common

Ten gotchas, broken then fixed

#Not a heading
# A heading

Line one
Line two, joined to line one

Line one\
Line two, on its own line

- Install
 - Node 20 (not nested)
- Install
  - Node 20 (nested)

[broken link] (docs/refunds.md)
[working link](docs/refunds.md)

Call refund*order*total
Call `refund*order*total`

The API returns List<string>
The API returns `List<string>`

Fixed refund rounding.
---

![](refund-flow.svg)
![Refund flow: request, check, approve](/markdown-assets/refund-flow.svg)

Open the Rendered tab and read it from the top. Each broken line is followed by its fix. The --- under "Fixed refund rounding." turned it into a heading: leave a blank line above a divider.

Explore the Edge Cases

The explorer below holds over 70 tricky snippets. Pick one to see how CommonMark, GitHub (GFM) and a docs site each render it. Snippets marked as different are the ones that change between renderers.

Headings and Paragraphs

What you seeCauseFixLesson
#Title shows with the #no space after ## TitleHeadings
Lines run together into one paragrapha single line break does not start a new lineblank line between paragraphsHeadings
An address prints on one lineno hard line breakend each line with \Headings
A line break vanished after savingthe editor removed two trailing spacesuse \ insteadHeadings
A sentence became a big heading--- right under itblank line above ---Headings
A section is missing from the page menuit is a bold line, not a headinguse ##Headings
** text ** shows the starsspaces just inside the stars**text**Headings
A heading link stopped workingthe heading was renamedupdate the #anchor linksLinks

Lists

What you seeCauseFixLesson
Inner items are not nestednot indented to the text above2 spaces under - , 3 under 1. Lists
One list shows as severalthe bullet mark changedone mark everywhereLists
Numbering restarts, or "1" twicean unindented paragraph ended the listindent it under the stepLists
A code block breaks the listthe fence is not indentedindent it to the step's textLists
A sentence starting with a year became a list2023. looks like a list number2023\.Lists
[ ] shows as texttask lists are GFM-onlya GFM renderer, or wordsLists

Links and Images

What you seeCauseFixLesson
[text] (path) as plain texta space between ] and (remove itLinks
The whole link shows as texta space inside the pathno spaces in names; or < > or %20Links
[text][label] shows as textthe label has no matching definitionmatch label and definitionLinks
An address is not clickablebare addresses link only in GFMwrap it in < >Flavors
A screen reader says nothing for an imageempty alt textdescribe the pictureLinks
An image is hugeMarkdown has no sizean HTML img with widthLinks

Code

What you seeCauseFixLesson
The rest of the page is one grey code boxa code block was never closedadd the closing fenceCode
A paragraph shows as codeit starts with four spacesremove the leading spacesCode
An example fence closes the outer blockboth use three backticksfour backticks outsideCode
No colours in the codeno language hint```bash, ```json …Code
A copied command fails with $: command not foundthe $ prompt was copiedremove the promptCode

Tables

What you seeCauseFixLesson
A paragraph full of pipesno divider row, or no GFMadd |---|; or use a listTables
A cell's text vanishedmore cells than the headermatch the headerTables
A cell split in twoa | inside itwrite `\`Tables
A row ends earlya line break inside a cellone line per row; <br> if neededTables
[!WARNING] shows as textalerts are a platform extension> **Warning:** as a fallbackFlavors

Escaping and HTML

What you seeCauseFixLesson
Part of a formula went italicstars touching wordsbackticks, or \*Escaping
A type name or placeholder vanishedtext in angle brackets is read as HTMLbackticksEscaping
A sentence became a list or quoteit starts with +, -, > or 1.escape the first characterEscaping
Markdown inside <details> is raw textno blank line after the HTML tagblank lines around the MarkdownEscaping
An agent obeys an invisible rulethe rule is in an HTML commentdelete it, or write it as a lineEscaping
A docs page fails to buildMDX reads { or < as codebackticksFlavors

Frontmatter Error Messages

These are the messages YAML parsers print, with what they usually mean.

MessageUsual causeFix
Nested mappings are not allowed in compact mappingsa value contains : put the value in quotes
Tabs are not allowed as indentationa tab in the indentuse spaces
Unresolved aliasa value starts with * or &put it in quotes
Plain value cannot start with reserved character @a value starts with @put it in quotes
Map keys must be uniquea key appears twicedelete one
No error, but a title is cut off # started a commentput it in quotes
No error, but 1.10 became 1.1it was read as a numberput it in quotes
A divider and a heading at the top of the pagethe renderer does not read frontmatter, or it is not on line 1move it to line 1; use a tool that reads it

A frontmatter error to read

---
title: Refunds: the rules
owner: support-team
---

# Refunds

Open the Outline tab to see the message and its line number. Then quote the title.

Agent Files

What you seeCauseFixLesson
The agent follows some rules and misses othersAGENTS.md is long and vaguekeep only what the code cannot sayAGENTS.md
The agent runs the wrong test commandno exact commandsa ## Commands sectionAGENTS.md
Claude Code ignores AGENTS.mda CLAUDE.md exists without the import@AGENTS.md in CLAUDE.mdAGENTS.md
A skill is never usedvague description, or no "when"what it does, when, and when notSkills
A skill is used for the wrong tasksdescription too broadspecific words and "Do not use for …"Skills
A skill or subagent does not appear at allbroken frontmatter, or a missing fieldquote values; add name and descriptionSkills
The agent built something nobody asked forno goal or non-goals in the specwrite bothSpecs
A chatbot cannot find an answer that is in the docsvague headings, or sections that need the pagename topics; make sections stand aloneLLM docs
A customer email shows ** and ##Markdown pasted into plain textremove the marksCleaning