# Using Vue in Markdown In VitePress, each Markdown file is compiled into HTML and then processed as a [Vue Single-File Component](https://vuejs.org/guide/scaling-up/sfc.html). This means you can use any Vue features inside the Markdown, including dynamic templating, using Vue components, or arbitrary in-page Vue component logic by adding a ` ## Markdown Content The count is: {{ count }} ``` ::: warning Avoid ` ``` ## Using Teleports VitePress currently has SSG support for teleports to body only. For other targets, you can wrap them inside the built-in `` component or inject the teleport markup into the correct location in your final page HTML through [`postRender` hook](../reference/site-config#postrender). ::: details <<< @/components/ModalDemo.vue ::: ```md
// ...
``` ## VS Code IntelliSense Support Vue provides IntelliSense support out of the box via the [Vue - Official VS Code plugin](https://marketplace.visualstudio.com/items?itemName=Vue.volar). However, to enable it for `.md` files, you need to make some adjustments to the configuration files. 1. Add `.md` pattern to the `include` and `vueCompilerOptions.vitePressExtensions` options in the tsconfig/jsconfig file: ::: code-group ```json [tsconfig.json] { "include": [ "docs/**/*.ts", "docs/**/*.vue", "docs/**/*.md", ], "vueCompilerOptions": { "vitePressExtensions": [".md"], }, } ``` ::: 2. Add `markdown` to the `vue.server.includeLanguages` option in the VS Code setting: ::: code-group ```json [.vscode/settings.json] { "vue.server.includeLanguages": ["vue", "markdown"] } ``` :::