# Syntax and support

Understand defaults, explicit configuration and capabilities supplied by your application.

## Default preset

| Content | Current behavior |
| --- | --- |
| Headings, paragraphs, emphasis, quotes, lists, links and images | Semantic rendering |
| GFM tables, tasks and strikethrough | Enabled by default |
| Reference links, footnotes and repeated notes | Late definitions update earlier content; note navigation is scoped to each reader |
| Math | KaTeX; the package CSS entry supplies its styles |
| Containers, definition lists, frontmatter and inline extras | Extended preset; frontmatter is displayed as a metadata code block |
| HTML | Escaped by default; explicit opt-in uses sanitization |
| Mermaid fences | In the default preset, closed fences render asynchronously after client mount; incomplete fences remain code |
| Incomplete syntax | Parsed as the received prefix; closing markers are never inserted into source |

`options: { preset: false }` retains core GFM and explicit extensions. Keep options stable during a session.
Replace the whole object when changing grammar to start a new parsing session.

## Try it

The [Playground](/en/playground) includes basics, late references and custom nodes.
[HTML examples](/en/guide/html) show nested layouts and native disclosures.
[Component replacement](/en/guide/components) changes presentation; [syntax extensions](/en/guide/extensions) define validated semantics.

Executing Vue expressions or arbitrary HTML scripts from Markdown and directly loading remark/rehype plugins are outside current support.

These are the default extensions. Math and Mermaid render after client mount; loading or syntax failures preserve source.

### reading/syntax.vue

````vue
<script setup lang="ts">
import { computed } from "vue";
import { QuireMarkdown } from "@quirekit/incremark/vue";
import type { ExampleLocale } from "../shared/types";
const props = withDefaults(defineProps<{ /** Tutorial language. */ locale?: ExampleLocale }>(), { locale: "zh-CN" });
const source = computed(() => [
  "---\ntitle: Markdown extensions\n---",
  props.locale === "zh-CN" ? "## 扩展语法" : "## Extended syntax",
  "H~2~O · x^2^ · ==highlight== · ++inserted++ · ~~deleted~~",
  props.locale === "zh-CN" ? "术语\n: 定义列表保留语义结构。" : "Term\n: Definition lists retain their semantic structure.",
  props.locale === "zh-CN" ? "::: note 提示\n容器中仍然可以使用 **Markdown**。\n:::" : "::: note Note\nContainers can contain **Markdown**.\n:::",
  "$$\nE = mc^2\n$$",
  "```mermaid\ngraph LR\n  Source --> Parser\n  Parser --> Reader\n```",
].join("\n\n"));
</script>
<template><section class="p-qk-surface" :aria-label="locale === 'zh-CN' ? '扩展语法预览' : 'Extended syntax preview'"><QuireMarkdown :content="source" :locale="locale" /></section></template>

````

### shared/types.ts

```ts
/** Example host language; independent of the documentation router. */
export type ExampleLocale = "zh-CN" | "en";

```
