\n\n\u003Cimg width=\"567\" height=\"319\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/d6990d7e-9beb-4a54-9db4-3c1d980b0882\" />\n\n### Expected behavior\n\nThe variables in title are replaced\n\n### System Info\n\n```Text\nSystem:\n OS: macOS 15.5\n CPU: (8) arm64 Apple M2\n Memory: 61.34 MB / 16.00 GB\n Shell: 5.9 - /bin/zsh\n Binaries:\n Node: 22.14.0 - ~/.nvm/versions/node/v22.14.0/bin/node\n npm: 10.9.2 - ~/.nvm/versions/node/v22.14.0/bin/npm\n pnpm: 10.14.0 - /opt/homebrew/bin/pnpm\n bun: 1.2.19 - ~/.bun/bin/bun\n Browsers:\n Chrome: 139.0.7258.68\n Edge: 113.0.1774.57\n Safari: 18.5\n npmPackages:\n vitepress: 2.0.0-alpha.10 => 2.0.0-alpha.10\n```\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [x] Check if you're on the [latest VitePress version](https://github.com/vuejs/vitepress/releases/latest).\n- [x] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [x] Read the [docs](https://vitepress.dev).\n- [x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[3151],{"name":3152,"color":3153},"bug: pending triage","e99695",4907,"vuejs","vitepress","open","The variable in the page title is not replaced under dynamic routing","2025-08-12T23:37:56Z","https://github.com/vuejs/vitepress/issues/4907",0.7641983,{"description":3163,"labels":3164,"number":3168,"owner":3155,"repository":3156,"state":3157,"title":3169,"updated_at":3170,"url":3171,"score":3172},"### Is your feature request related to a problem? Please describe.\n\nI'm using dynamic routes in my project and would love to use a param from the frontmatter, for example, to set the description value. Unfortunately, when I try to do so, I get an invalid value in the generated HTML element:\r\n\r\n```md\r\n---\r\neditLink: false\r\ndescription: {{ $params.description }}\r\n---\r\n```\r\n\r\nThe value generated:\r\n\r\n```html\r\n\u003Cmeta name=\"description\" content=\"[object Object]\">\r\n```\n\n### Describe the solution you'd like\n\nI'd love to be able to interpolate content from params in the frontmatter YAML.\n\n### Describe alternatives you've considered\n\nI couldn't find any workable alernative\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.dev).\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/main/.github/contributing.md).\n- [X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.",[3165],{"name":3166,"color":3167},"stale","ededed",3758,"Support using dynamic routes params in the frontmatter","2024-07-17T14:36:16Z","https://github.com/vuejs/vitepress/issues/3758",0.769541,{"description":3174,"labels":3175,"number":3180,"owner":3155,"repository":3156,"state":3157,"title":3181,"updated_at":3182,"url":3183,"score":3184},"refer #2879\r\n",[3176,3179],{"name":3177,"color":3178},"theme","0754FB",{"name":3166,"color":3167},2881,"an option to auto-collapse sidebar group + scroll sidebar item into view","2025-03-02T18:10:58Z","https://github.com/vuejs/vitepress/issues/2881",0.77083445,{"description":3186,"labels":3187,"number":3188,"owner":3155,"repository":3156,"state":3189,"title":3190,"updated_at":3191,"url":3192,"score":3193},"### Is your feature request related to a problem? Please describe.\n\n原因看代码就很清楚了,version 是从包的 package.json 取的,这样我就不用每次发布后修改了\r\n\r\n```bash\r\nyarn add @to-g-modules/filter-form@{{ version }}\r\n```\n\n### Describe the solution you'd like\n\n```bash\r\nyarn add @to-g-modules/filter-form@{{ version }}\r\n```\n\n### Describe alternatives you've considered\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.dev).\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/main/.github/contributing.md).\n- [X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.",[],2087,"closed","Can template variables be used in code boxes?","2023-03-23T00:04:24Z","https://github.com/vuejs/vitepress/issues/2087",0.70866954,{"description":3195,"labels":3196,"number":3198,"owner":3155,"repository":3156,"state":3189,"title":3199,"updated_at":3200,"url":3201,"score":3202},"### Describe the bug\n\nI'd like to be able to create dynamic links, something like:\r\n\r\n```vue\r\n// docs/index.md\r\n\r\n\u003Cscript setup>\r\n const link = './openapi/my-cool-endpoint';\r\n\u003C/script>\r\n\r\n[Hey, check this out]({{ link }})\r\n```\r\n\r\nThis code isn't rendered as a link but as text instead:\r\n\r\n```html\r\n\u003Cp>[Hey, check this out](./openapi/my-cool-endpoint)\u003C/p>\r\n```\n\n### Reproduction\n\nAdd a link inside a markdown file and use an interpolated string as the link target.\n\n### Expected behavior\n\nA link is generated with the interpolated string a the target.\n\n### System Info\n\n```shell\nSystem:\r\n OS: macOS 13.3.1\r\n CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz\r\n Memory: 198.78 MB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 16.14.2 - ~/.nvm/versions/node/v16.14.2/bin/node\r\n npm: 8.19.3 - ~/.nvm/versions/node/v16.14.2/bin/npm\r\n Browsers:\r\n Brave Browser: 110.1.48.171\r\n Chrome: 112.0.5615.137\r\n Firefox: 112.0.1\r\n Safari: 16.4\r\n npmPackages:\r\n vitepress: 1.0.0-alpha.74 => 1.0.0-alpha.74\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.dev).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[3197],{"name":3152,"color":3153},2304,"Markdown links don't work with interpolated / variable strings","2023-05-05T00:04:12Z","https://github.com/vuejs/vitepress/issues/2304",0.718222,{"description":3204,"labels":3205,"number":3206,"owner":3155,"repository":3156,"state":3189,"title":3207,"updated_at":3208,"url":3209,"score":3210},"### Is your feature request related to a problem? Please describe.\r\n\r\nI'd like to implement a download button for code snippets, which downloads the file that was imported as a code snippet. This new button would be a a download button that downloads the code snippet directly, rather than just copying to clipboard. It would live alongside the existing copy button.\r\n\r\n### Describe the solution you'd like\r\n\r\nSome way to customize the `prewrapper` plugin as needed. Perhaps by disabling it completely in the `markdown-it` settings so that I can add my own custom prewrapper plugin that doesn't conflict with the existing one. \r\n\r\nOr perhaps a better option is to make the code snippet feature of the markdown-it config output a Vue component called `\u003CCodeSnippet>` or similar, which can then be defined in the theme itself. This way users can define their own SFC for the code snippet, in order to add new features, customize styling, etc.\r\n\r\nEither way I'd like to have some way to decouple the core functionality of importing a code block and highlighting it, from the functionality for decorating that code block with a surrounding wrapper element.\r\n\r\n### Describe alternatives you've considered\r\n\r\nImplementing my own custom component from scratch for displaying code snippets. This seems challenging though as I will have to reimplement snippets, highlighting, and importing snippets from files on disk. I would ideally like to build on top of the existing functionality, by wrapping the existing shiki highlighted, imported code block in my own custom component which provides the copy button, a download button, and any other buttons that I may wish to add.\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\r\n- [X] Read the [docs](https://vitepress.dev).\r\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/main/.github/contributing.md).\r\n- [X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.",[],2129,"Download button for code snippets","2023-04-01T00:04:20Z","https://github.com/vuejs/vitepress/issues/2129",0.7410228,{"description":3212,"labels":3213,"number":3217,"owner":3155,"repository":3156,"state":3189,"title":3218,"updated_at":3219,"url":3220,"score":3221},"### Discussed in https://github.com/vuejs/vitepress/discussions/527\r\n\r\n\u003Cdiv type='discussions-op-text'>\r\n\r\n\u003Csup>Originally posted by **WebMechanic** February 11, 2022\u003C/sup>\r\nHello,\r\n\r\nI have a fresh install of VitePress to document our new Style Guide and wanted to use the [Import Code Snippets](https://vitepress.vuejs.org/guide/markdown.html#import-code-snippets) feature for .js, .css and .html fragments, but the file(s) are not included. I tried all sorts of pathnames with/without the `base`, relative, absolute, all to no avail.\r\nEverything else works like a charme.\r\n\r\nThe project is a simple Vite Vue project. I then installed VitePress with yarn. \r\nIt resides in `src/_docs/.vitepress`.\r\n\r\nHere's the config file\r\n```js\r\nimport {defineConfig} from 'vitepress'\r\nexport default defineConfig({\r\n base: '/src/_docs/',\r\n title: \"The Style Guide\",\r\n markdown: {\r\n lineNumbers: false,\r\n toc: {includeLevel: [1, 2]},\r\n }\r\n}\r\n```\r\n\u003C/div>\r\n\r\nIt's not clear to me, if this requires some special care for Prism. Configuration seems very different fro what I can find on Lea Verou's site.\r\n",[3214],{"name":3215,"color":3216},"invalid","ffffff",530,"\"Import Code Snippets\" not working","2023-01-21T16:04:03Z","https://github.com/vuejs/vitepress/issues/530",0.7510934,{"description":3223,"labels":3224,"number":3228,"owner":3155,"repository":3156,"state":3189,"title":3229,"updated_at":3230,"url":3231,"score":3232},"### Is your feature request related to a problem? Please describe.\r\n\r\nLooks like currently markdown inclusion does not support region snippet like code snippet.\r\n\r\n### Describe the solution you'd like\r\n\r\nFile1.md\r\n```md\r\n\u003C!--@include: /common/file.md#snippet{2,3} -->\r\n```\r\n\r\nsnippet.md\r\n```md\r\n\u003C!-- #region snippet -->\r\n## snippet\r\n\r\n\u003CCustomComponent>\r\nCustom content\r\n\u003C/CustomComponent>\r\n\u003C!-- #endregion snippet -->\r\n```\r\n\r\n### Describe alternatives you've considered\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\r\n- [X] Read the [docs](https://vitepress.dev).\r\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/main/.github/contributing.md).\r\n- [X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.",[3225],{"name":3226,"color":3227},"build","377ba8",3949,"Why not support markdown region snippets?","2024-07-10T04:41:55Z","https://github.com/vuejs/vitepress/issues/3949",0.75184363,{"description":3234,"labels":3235,"number":3236,"owner":3155,"repository":3156,"state":3189,"title":3237,"updated_at":3238,"url":3239,"score":3240},"### Is your feature request related to a problem? Please describe.\n\nIt will be great to add copy to clipboard button in code snippets for longer code snippets where dragging requires window scroll\n\n### Describe the solution you'd like\n\nAdd copy to clipboard button in default theme\n\n### Describe alternatives you've considered\n\nNone\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/coc)\n- [X] Read the [docs](https://vitepress.vuejs.org/).\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/master/.github/contributing.md).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[],473,"Copy to clipboard button in code snippets","2023-01-21T14:35:55Z","https://github.com/vuejs/vitepress/issues/473",0.7584447,{"description":3242,"labels":3243,"number":3246,"owner":3155,"repository":3156,"state":3189,"title":3247,"updated_at":3248,"url":3249,"score":3250},"### Describe the bug\n\n```js\r\n//cofing.js\r\nexport default {\r\n head: [\r\n ['script', { src: 'https://unpkg.com/lodash@4.17.21/lodash.js' }],\r\n ],\r\n\r\n}\r\n\r\n```\r\n\r\nLodash namespace will not be found in the page\n\n### Reproduction\n\nThe reason is that the script is dynamically added to the page. When the lodash namespace is used in the page, the script of lodash has not been loaded\n\n### Expected behavior\n\nIt is hoped that the script loading is not dynamically loaded into the head, but directly put into the head through compilation to maintain the browser's original loading method (synchronous)\r\n\r\n### hope \r\n```html\r\n\r\n\u003Chead>\r\n \u003Cscript src=\"https://unpkg.com/lodash@4.17.21/lodash.js\">\u003C/script>\r\n\u003C/head>\r\n\r\n````\r\n\r\n### instead of\r\n```js\r\n let script = document.createElement('script');\r\n ...\r\n document.head.appendChild(script)\r\n\r\n```\n\n### System Info\n\n```shell\n_ is undefined\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.vuejs.org).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[3244,3245],{"name":3226,"color":3227},{"name":3166,"color":3167},1110,"About config head Dynamically add script problems","2023-09-25T00:04:29Z","https://github.com/vuejs/vitepress/issues/1110",0.75890744,["Reactive",3252],{},["Set"],["ShallowReactive",3255],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$faH8jBgrQttyoR7dg26z2Irb2yQ8q-oi-rbE7z9Id1co":-1},"/vuejs/vitepress/471"]