`)\r\n\r\nI'm currently working on migrating and documenting the excellent Spectre CSS docs and am using Vitepress.\r\n\r\nI'm developing an ejected and modified default theme which has already come some way to solving this problem:\r\n\r\n- [original](https://picturepan2.github.io/spectre/components/menu.html) (custom app)\r\n- [migrated](https://spectre-org.github.io/spectre-docs/docs/components/menu.html) (VitePress with modified default theme)\r\n - note the `vp-doc` formatting which is all Spectre CSS\r\n - some fixed, and some not-yet fixed clashes of general class names\r\n\r\nFor reference to the use case (documenting a 3rd-party framework) here is the raw markdown page:\r\n\r\n- https://raw.githubusercontent.com/spectre-org/spectre-docs/main/docs/components/menu.md\r\n\r\nNote that:\r\n\r\n- Spectre CSS (or any other 3rd-party CSS framework) is now able to be simply \"dropped in\"\r\n- there is no pollution between VitePress and the 3rd-party framework\r\n- VitePress' default components remain fully-styled and work as they were before\r\n- `vp-doc` content can be safely used to demo any 3rd party HTML elements and classes\r\n\r\nI think I know enough to fix the problems in my modified theme and either:\r\n\r\n- publish a new \"neutral\" theme\r\n- port the changes to the default theme (ideal outcome)\r\n\r\nThere's actually not that much work; it's:\r\n\r\n- renaming the general component classes\r\n- moving some `vp-doc` classes to other locations\r\n- creating an additional unstyled entrypoint such as `without-formatting`\r\n\r\n### Describe alternatives you've considered\r\n\r\nPublishing the modified theme standalone, but then of course it would not benefit from ongoing updates.\r\n\r\n### Additional context\r\n\r\nI am proposing a PR in the coming weeks to integrate these updates.\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.",[2867],{"name":2868,"color":2869},"stale","ededed",3021,"vuejs","vitepress","open","Make the default theme compatible with 3rd-party CSS frameworks","2023-11-06T14:43:58Z","https://github.com/vuejs/vitepress/issues/3021",0.71046257,{"description":2879,"labels":2880,"number":2884,"owner":2871,"repository":2872,"state":2885,"title":2886,"updated_at":2887,"url":2888,"score":2889},"### Is your feature request related to a problem? Please describe.\n\nI am rendering components in `.vp-doc` and my component's h2 gets style of VitePress which I don't want.\n\n### Describe the solution you'd like\n\nAdd class `not-vp-doc` to omit applying styles\n\n### Describe alternatives you've considered\n\nnone\n\n### Additional context\n\nI checked the source and found that all styles are written in CSS and it isn't quick to apply the `:not()` selector because there's list of `vp-doc` class usage and I might break something in hurry.\r\n\r\nI am in hurry hence creating this issue instead of PR.\r\n\r\nWill the team going to use SCSS in favor or refactor?\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] 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.",[2881],{"name":2882,"color":2883},"duplicate","cfd3d7",808,"closed","Allow excluding styles for tags like h2 in `vp-doc`","2023-01-21T14:34:01Z","https://github.com/vuejs/vitepress/issues/808",0.6351301,{"description":2891,"labels":2892,"number":2896,"owner":2871,"repository":2872,"state":2885,"title":2897,"updated_at":2898,"url":2899,"score":2900},"### Describe the bug\r\n\r\nMy vue component contains table element(ant-design-vue table), when I use it in doc file, table style is overwrited by vp-doc class and looks strange(and with some other built-in style like vp-doc th).Can this be removed?Otherwise I should manually overwrite again.\r\n\r\n\r\n\r\n### Reproduction\r\n\r\n[stackblitz](https://stackblitz.com/edit/vite-bjmwuo?file=docs%2F.vitepress%2Ftheme%2Findex.ts)\r\n\r\n### Expected behavior\r\n\r\nconfig to remove vp-doc table style\r\n\r\n### System Info\r\n\r\n```Text\r\n\"vitepress\": \"^1.0.0-rc.39\"\r\nSystem macOS 14.2.1 (23C71)\r\nBrowser Chrome 120.x\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Check if you're on the [latest VitePress version](https://github.com/vuejs/vitepress/releases/latest).\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] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[2893],{"name":2894,"color":2895},"need more info","bdbefc",3523,"How to remove .vp-doc table style","2024-02-09T00:04:26Z","https://github.com/vuejs/vitepress/issues/3523",0.6475986,{"description":2902,"labels":2903,"number":2905,"owner":2871,"repository":2872,"state":2885,"title":2906,"updated_at":2907,"url":2908,"score":2909},"### Describe the bug\n\nWhen I customize a link component and introduce it into vitepress, the `vp-doc` class generates a style override on my custom style, causing my style to not display properly:\r\n\r\nI've tried `vp-raw` for style isolation, but it still doesn't display my custom styles properly\r\n\r\nI don't know how to solve this style override problem, which has been bothering me for a long time\n\n### Reproduction\n\nThis is my custom link component:\r\n```tsx\r\nimport { defineComponent, PropType, ref } from \"vue\";\r\nimport \"uno.css\";\r\n\r\nexport type IType = 'default' | 'primary' | 'success' | 'warning' | 'danger'| 'info'\r\nexport type IColor = 'black' | 'blue' | 'green' | 'yellow'| 'red' | 'gray'\r\nexport const props = {\r\n type: {\r\n type: String as PropType\u003CIType>,\r\n default: \"default\",\r\n },\r\n color: {\r\n type: String as PropType\u003CIColor>,\r\n default: \"black\",\r\n },\r\n plain: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n href: {\r\n type: String,\r\n required: true,\r\n },\r\n} as const;\r\n\r\nexport default defineComponent({\r\n name: \"CLink\",\r\n props,\r\n setup(props, { slots }) {\r\n return () => (\r\n \u003Ca\r\n class={`\r\n text-${props.plain ? props.color + \"-500\" : \"white\"}\r\n hover:text-${props.color}-400\r\n cursor-pointer\r\n text-lg\r\n hover:text-white\r\n transition duration-300 ease-in-out transform hover:scale-105\r\n mx-1\r\n decoration-none\r\n `}\r\n href={props.href} \r\n >\r\n {slots.default ? slots.default() : 'Link'}\r\n \u003C/a>\r\n ); \r\n },\r\n});\r\n```\r\n\r\nHere's my demo code from the documentation:\r\n```vue\r\n\u003Cdiv class=\"vp-raw\">\r\n \u003CCLink href=\"#\" class=\"primary\" color=\"blue\">Primary Link\u003C/CLink>\r\n \u003CCLink href=\"#\" type=\"success\" color=\"green\">Success Link\u003C/CLink>\r\n \u003CCLink href=\"#\" type=\"warning\" color=\"yellow\">Warning Link\u003C/CLink>\r\n \u003CCLink href=\"#\" type=\"danger\" color=\"red\">Danger Link\u003C/CLink>\r\n \u003CCLink href=\"#\" type=\"info\" color=\"gray\">Info Link\u003C/CLink>\r\n\u003C/div>\r\n```\r\n\r\n\r\n\n\n### Expected behavior\n\nI want to be able to display the style of my components properly, in fact I can be sure that the `vp-doc` generated style override, I delete this class by manipulating the DOM and then the style can be displayed normally, but this will make the other functions of vitepress failure, I want to be able to display the style of the component without affecting vitepress\n\n### System Info\n\n```shell\n{\r\n \"name\": \"catisol-ui\",\r\n \"version\": \"0.9.1\",\r\n \"description\": \"\",\r\n \"main\": \"index.js\",\r\n \"scripts\": {\r\n \"test\": \"vitest\",\r\n \"build\": \"vite build\",\r\n \"dev\": \"vite\",\r\n \"docs:dev\": \"vitepress dev docs\",\r\n \"docs:build\": \"vitepress build docs\",\r\n \"docs:serve\": \"vitepress serve docs\"\r\n },\r\n \"keywords\": [],\r\n \"author\": \"\",\r\n \"license\": \"ISC\",\r\n \"devDependencies\": {\r\n \"@iconify-json/ic\": \"1.1.4\",\r\n \"@vitejs/plugin-vue\": \"3.0.3\",\r\n \"@vitejs/plugin-vue-jsx\": \"2.0.0\",\r\n \"@vue/test-utils\": \"2.0.2\",\r\n \"happy-dom\": \"6.0.4\",\r\n \"postcss\": \"^8.4.21\",\r\n \"postcss-prefix-selector\": \"^1.16.0\",\r\n \"unocss\": \"0.45.6\",\r\n \"vite\": \"3.0.7\",\r\n \"vitepress\": \"v1.0.0-alpha.31\",\r\n \"vitest\": \"0.21.1\"\r\n },\r\n \"maintainers\": [\r\n \"isolcat\"\r\n ],\r\n \"dependencies\": {\r\n \"@unocss/vite\": \"^0.45.13\",\r\n \"vue\": \"3.2.37\"\r\n }\r\n}\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.",[2904],{"name":2894,"color":2895},1777,"vp-raw cannot isolate style conflicts generated by v-doc classes","2023-01-21T14:16:44Z","https://github.com/vuejs/vitepress/issues/1777",0.66893387,{"description":2911,"labels":2912,"number":2913,"owner":2871,"repository":2872,"state":2885,"title":2914,"updated_at":2915,"url":2916,"score":2917},"### Is your feature request related to a problem? Please describe.\r\n\r\nI use Vitepress to document my component library. Sometimes, the style of the components is \"overridden\" by the Vitepress CSS, or just applied.\r\n\r\nFor example, with a component using a `\u003Ctable />` HTMLElement (https://maz-ui.com/components/maz-table), the VitePress CSS is applied to my component and changes its style. **I don't want it.** \r\n\r\n[See CSS file here](https://github.com/vuejs/vitepress/blob/df8753bd927c2b57b9188fb292c1429e9c3c8ab6/src/client/theme-default/styles/components/vp-doc.css#L176)\r\n\r\n```css\r\n.vp-doc table {\r\n display: block;\r\n border-collapse: collapse;\r\n margin: 20px 0;\r\n overflow-x: auto;\r\n}\r\n\r\n.vp-doc tr {\r\n background-color: var(--vp-c-bg);\r\n border-top: 1px solid var(--vp-c-divider);\r\n transition: background-color 0.5s;\r\n}\r\n\r\n.vp-doc tr:nth-child(2n) {\r\n background-color: var(--vp-c-bg-soft);\r\n}\r\n\r\n.vp-doc th,\r\n.vp-doc td {\r\n border: 1px solid var(--vp-c-divider);\r\n padding: 8px 16px;\r\n}\r\n\r\n.vp-doc th {\r\n text-align: left;\r\n font-size: 14px;\r\n font-weight: 600;\r\n color: var(--vp-c-text-2);\r\n background-color: var(--vp-c-bg-soft);\r\n}\r\n\r\n.vp-doc td {\r\n font-size: 14px;\r\n}\r\n```\r\n\r\n### Describe the solution you'd like\r\n\r\nI don't want the style to be applied to selected elements.\r\n\r\n### Describe alternatives you've considered\r\n\r\nAs the [tailwindcss-typography](https://github.com/tailwindlabs/tailwindcss-typography) library suggests [here](https://github.com/tailwindlabs/tailwindcss-typography?tab=readme-ov-file#advanced-topics) with the class `not-prose`. \r\n\r\nI propose to add a class like `no-vp-style` or something else to not apply CSS to the HTML element where the class is set and other DOM inside.\r\n\r\n```md\r\n## Documentation\r\n\r\n\u003CMazTable class=\"no-vp-style\" />\r\n```\r\n\r\nWith a CSS rule like : \r\n\r\n```css\r\n.vp-doc table:not(:where([class~='no-vp-style'], [class~='no-vp-style'] *)) {\r\n ...\r\n}\r\n```\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.",[],3652,"Add CSS class to disable vitepress CSS to avoid conflicts and override","2024-03-21T00:04:41Z","https://github.com/vuejs/vitepress/issues/3652",0.6864001,{"description":2919,"labels":2920,"number":2927,"owner":2871,"repository":2872,"state":2885,"title":2928,"updated_at":2929,"url":2930,"score":2931},"### Is your feature request related to a problem? Please describe.\n\nFind myself wanting to use VPButton and VPSponsors on a few places throughout my site. Right now, I exported them through a patch, but would great if they were exported by default.\n\n### Describe the solution you'd like\n\nVPButton and VPSponsors exported.\n\n### Describe alternatives you've considered\n\nCurrently use the following patch:\r\n\r\n```diff\r\ndiff --git a/dist/client/theme-default/without-fonts.js b/dist/client/theme-default/without-fonts.js\r\nindex 2b760aa398b7ac1881551ab146d7d308ef2277a3..a2940ca0b99b7673d8914e4bf332f57c588e8f46 100644\r\n--- a/dist/client/theme-default/without-fonts.js\r\n+++ b/dist/client/theme-default/without-fonts.js\r\n@@ -11,10 +11,12 @@ import Layout from './Layout.vue';\r\n // Note: if we add more optional components here, i.e. components that are not\r\n // used in the theme by default unless the user imports them, make sure to update\r\n // the `lazyDefaultThemeComponentsRE` regex in src/node/build/bundle.ts.\r\n+export { default as VPButton } from './components/VPButton.vue';\r\n export { default as VPHomeHero } from './components/VPHomeHero.vue';\r\n export { default as VPHomeFeatures } from './components/VPHomeFeatures.vue';\r\n export { default as VPHomeSponsors } from './components/VPHomeSponsors.vue';\r\n export { default as VPDocAsideSponsors } from './components/VPDocAsideSponsors.vue';\r\n+export { default as VPSponsors } from './components/VPSponsors.vue';\r\n export { default as VPTeamPage } from './components/VPTeamPage.vue';\r\n export { default as VPTeamPageTitle } from './components/VPTeamPageTitle.vue';\r\n export { default as VPTeamPageSection } from './components/VPTeamPageSection.vue';\r\ndiff --git a/theme.d.ts b/theme.d.ts\r\nindex 4b1076b5fbda893eb6f4a5df6a40c15d1bb379ba..177f5a6aa9602e0eeae954137bcce1ac0080ddef 100644\r\n--- a/theme.d.ts\r\n+++ b/theme.d.ts\r\n@@ -3,10 +3,12 @@ import type { DefineComponent } from 'vue'\r\n import { EnhanceAppContext } from './dist/client/index.js'\r\n \r\n // TODO: add props for these\r\n+export const VPButton: DefineComponent\r\n export const VPHomeHero: DefineComponent\r\n export const VPHomeFeatures: DefineComponent\r\n export const VPHomeSponsors: DefineComponent\r\n export const VPDocAsideSponsors: DefineComponent\r\n+export const VPSponsors: DefineComponent\r\n export const VPTeamPage: DefineComponent\r\n export const VPTeamPageTitle: DefineComponent\r\n export const VPTeamPageSection: DefineComponent\r\n```\n\n### Additional context\n\nHappy to open a PR for this!\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.",[2921,2924],{"name":2922,"color":2923},"theme","0754FB",{"name":2925,"color":2926},"contribution welcome","11E4B8",2765,"Export VPButton + VPSponsors","2023-08-23T00:04:06Z","https://github.com/vuejs/vitepress/issues/2765",0.6934706,{"description":2933,"labels":2934,"number":2935,"owner":2871,"repository":2872,"state":2885,"title":2936,"updated_at":2937,"url":2938,"score":2939},"\u003C!--\r\nNOTE:\r\nVitePress is still WIP, and it is not compatible with VuePress.\r\nPlease do not open issue about default theme missing features or something doesn't work like VuePress.\r\n-->\r\n\r\n**Describe the bug**\r\nWhen using a custom theme, importing composables like `useRoute` from `\"vitepress\"` in the Layout component also imports the styles for the default theme.\r\n\r\n**To Reproduce**\r\n\r\n1. Follow the [Getting Started guide](https://vitepress.vuejs.org/guide/getting-started.html) to create a new site\r\n2. Create `docs/.vitepress/theme/Layout.vue` with the following contents:\r\n\r\n```vue\r\n\u003Ctemplate>\r\n \u003CContent />\r\n\u003C/template>\r\n\r\n\u003Cscript setup>\r\n// import { useRoute } from \"vitepress\";\r\n// const route = useRoute();\r\n\u003C/script>\r\n```\r\n\r\n3. Create `docs/.vitepress/theme/index.js` with the following contents:\r\n\r\n```js\r\nimport Layout from \"./Layout.vue\";\r\n\r\nexport default {\r\n Layout,\r\n};\r\n```\r\n\r\n4. Run `yarn docs:dev` and open http://localhost:3000. Note the heading doesn't have any styles applied to it:\r\n\r\n\r\n\r\n5. Uncomment the lines in the `\u003Cscript setup>` section in `docs/.vitepress/theme/Layout.vue`. Note the heading now has the default styles applied to it, even though we only imported `useRoute`:\r\n\r\n\r\n\r\n**Expected behavior**\r\nThe heading should remain unstyled since we aren't explicitly importing any styles.\r\n\r\n**System Info**\r\n- vitepress version: v0.9.2\r\n- vite version: v1.0.0-rc.13\r\n- Node version: v12.20.0\r\n- OS version: macOS Catalina 10.15.7\r\n\r\n**Additional context**\r\nI had a quick look at the Vitepress code and it looks like the problem might be to do with this line: https://github.com/vuejs/vitepress/blob/309aa7a8d0e7ab08c1c9db258c74709a66b295cb/src/client/app/exports.ts#L29\r\n\r\nAdding the following to `docs/.vitepress/config.js`:\r\n\r\n```javascript\r\nmodule.exports = {\r\n alias: {\r\n \"/@default-theme/index\": \"/@theme/empty.js\",\r\n },\r\n};\r\n```\r\n\r\n...and creating an empty file `docs/.vitepress/theme/empty.js` prevents the default styles being applied.\r\n",[],182,"Importing default composables also imports default theme's styles","2023-01-21T16:23:59Z","https://github.com/vuejs/vitepress/issues/182",0.70035017,{"description":2941,"labels":2942,"number":2946,"owner":2871,"repository":2872,"state":2885,"title":2947,"updated_at":2948,"url":2949,"score":2950},"I am looking into porting the using vue in Markdown from vuepress: \r\nhttps://vuepress.vuejs.org/guide/using-vue.html\r\n\r\nIf I understand correctly, vitepress doesn't want to auto register components by convention as Vuepress does. Is this the case? I actually liked this feature, but I understand that vitepress wants to keep the moving parts as small as possible.\r\n\r\nWhat is the recommended way to register the components? I see that in vue-router-next docs they are registered globally inside `enhanceApp`: https://github.com/vuejs/vue-router-next/search?q=HomeSponsors.\r\nSame as with this comment: https://github.com/vuejs/vitepress/issues/92#issuecomment-724645482\r\n\r\nShould we document this way in the docs?\r\n\r\nSome thoughts about this. It would be great that users that want to use the default theme as is, do not need to learn straight away about enhanceApp to be able to use a vue component in their markdown.\r\n\r\nIf auto registering by convention in a folder like `.vitepress/components` is not an option, could we import them directly in the markdown?\r\n\r\n```markdown\r\n# Docs\r\n\r\nThis is a .md using a custom component\r\n\r\n\u003CCustomComponent />\r\n\r\n## More docs\r\n\r\n...\r\n\r\n\u003Cscript setup>\r\n import CustomComponent from '../components/CustomComponent.vue'\r\n\u003C/script>\r\n```\r\n\r\nScript & style hoisting is working in vitepress: https://vuepress.vuejs.org/guide/using-vue.html#script-style-hoisting, but I tried this example to import a Component and it is not at this point.\r\n",[2943],{"name":2944,"color":2945},"docs","0075ca",157,"Recommended way to use Custom Vue components in .md","2023-01-21T16:04:10Z","https://github.com/vuejs/vitepress/issues/157",0.7008263,{"description":2952,"labels":2953,"number":2955,"owner":2871,"repository":2872,"state":2885,"title":2956,"updated_at":2957,"url":2958,"score":2959},"### Is your feature request related to a problem? Please describe.\n\nRight now it’s not possible to change the text in the prev/next links that are displayed at the bottom of pages with the default theme.\r\n\u003Cimg width=\"378\" alt=\"Screenshot 2022-07-01 at 23 45 56\" src=\"https://user-images.githubusercontent.com/18370980/176971436-a1d5d9d3-2cb2-4088-a94d-69307d0b20a7.png\">\r\n \r\nThis is not very elegant when you’re working with non-English docs :)\n\n### Describe the solution you'd like\n\nI guess a `themeConfig.docFooter.[prev|next]` option, or something similar, would do the trick.\n\n### Describe alternatives you've considered\n\nOne option would be building a custom theme that extends the default one and overriding [VPDocFooter.vue](https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/components/VPDocFooter.vue), but imo this feature could also benefit a lot of users of the default theme.\n\n### Additional context\n\nThanks for being awesome!\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] 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.",[2954],{"name":2922,"color":2923},893,"Make it possible to change the \"Previous page\" and \"Next page\" labels in the default theme","2023-01-21T14:32:49Z","https://github.com/vuejs/vitepress/issues/893",0.7021652,{"description":2961,"labels":2962,"number":2964,"owner":2871,"repository":2872,"state":2885,"title":2965,"updated_at":2966,"url":2967,"score":2968},"### Is your feature request related to a problem? Please describe.\r\n\r\nIt can be difficult to gather some \"necessary\" information when using a fully custom theme. This is normally not much of an issue, but I have found a few issues with the default behavior when using a custom theme. \r\n\r\n1. Codeblocks render in a strange way, and it's not very straightforward on how to edit the default behavior. \r\n\r\nFor example, I frequently make a basic example like so:\r\n```\r\n\\```bash\r\npnpm add bootstrap bootstrap-vue-next @bootstrap-vue-next/nuxt -D\r\n\\```\r\n```\r\n\r\nThe code highlighting works well, but I end up getting some weird extra business:\r\n\r\n\r\nIn addition to this, 'code-groups' give undesirable behavior: \r\n\r\n```\r\n::: code-group\r\n\r\n\\```bash [PNPM]\r\npnpm add bootstrap bootstrap-vue-next\r\n\r\npnpm add unplugin-vue-components -D\r\n\\```\r\n\r\n\\```bash [YARN]\r\nyarn add bootstrap bootstrap-vue-next\r\n\r\nyarn add unplugin-vue-components -D\r\n\\```\r\n\r\n\\```bash [NPM]\r\nnpm i bootstrap bootstrap-vue-next\r\n\r\nnpm i unplugin-vue-components -D\r\n\\```\r\n\r\n:::\r\n```\r\n\r\n\r\n\r\nIn this specific instance, I solved it by simply not using the default code-group and instead just using my already existing custom component \r\n\r\n```vue\r\n\u003Cb-tabs v-model=\"codePreference\">\r\n \u003Cb-tab title=\"PNPM\">\r\n\r\n\\```bash\r\npnpm add bootstrap bootstrap-vue-next\r\n\\```\r\n\r\n \u003C/b-tab>\r\n \u003Cb-tab title=\"YARN\">\r\n```\r\netc etc.\r\n\r\nHowever, each of these instances still render\r\n\r\nAbove them, which is undesirable\r\n\r\n2. Links, \r\n\r\nThe default behavior of links is \"fine\", however, it would be nice if I could convert all links in markdown to use a component of my choosing. Specifically, I already have a \"BLink\" component that I could use.\r\n\r\nIn addition to this, a nice ease of use that I would enjoy is the auto creation of perma links. This one also goes together with the next section. Simply using `## Some header`, it would be nice if it auto created subsequent links for each instance... However, it doesn't. Which, perhaps most people wouldn't benefit from that behavior. This goes with Table of contents as I'm not exactly sure how a toc would be generated without these items existing... Perhaps you need to make each of these things manually? But if that's the case, how do custom themes like the default theme do it? There has to be a way if the default theme accomplishes this behavior.\r\n\r\n3. Table of contents\r\n\r\nNow, I haven't used the table of contents list, but I imagine that this one will be somewhat difficult as there's little information on it's usage. It's only shown usage is `[[toc]]`. But this doesn't really give much. Say for example if you wanted to put the toc into a layout vue component. It doesn't say anything about that.\r\n\r\n4. Custom containers\r\n\r\nNow, a simple solution to using a \"custom container\" is to use your own component. However, I'm wondering if there is another way to fulfill this syntax:\r\n\r\n::: info\r\nFoo!\r\n:::\r\n\r\nAnd simply have it use a component of your choosing. \r\n\r\n### Describe the solution you'd like\r\n\r\nPerhaps some more information on the \"Using a Custom Theme\" section could be useful. Most of the issue I find here revolve around the \"Markdown Extensions\" usage. It's clear that extensions are available whether or not you decide to use a custom theme, so it makes it difficult to understand how to overwrite some of those behaviors. \r\n\r\n### Describe alternatives you've considered\r\n\r\nHonestly, I'm not sure of the best alternatives in any of these situations. In some cases, I can simply use my builtin components and forgo the extensions. \r\n\r\n### Additional context\r\n\r\nIt seems that some of this information is upstream in the markdown-it library. But this I am unsure about. But in addition to this, there is the `theme/index.ts` file, which proposes to export a weakly typed object. Perhaps there could be a strongly typed function for this that would provide some info\r\n\r\nI have found no reference to this being strongly typed though.\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.",[2963],{"name":2868,"color":2869},2368,"Docs: more information when using a custom theme","2023-08-25T19:31:40Z","https://github.com/vuejs/vitepress/issues/2368",0.7053377,["Reactive",2970],{},["Set"],["ShallowReactive",2973],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$frhbJliefUf5n-_xhYzkaoLupfHxhSrTZy_VHiXkUi4c":-1},"/vuejs/vitepress/4731"]