\n\n \n\n### Desired behavior\n\nShiki should be initialized once and reused for subsequent highlight calls.\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\nLoad a large vitepress project with any code in it\n\n### Logs and Error Messages\n\nvitepress-openapi.client.es.js:62532 [Shiki] 590 instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call `highlighter.dispose()` to release unused instances.\n\n### Other Information\n\n_No response_",[3171],{"name":3172,"color":3173},"needs reproduction","ffffff",278,"enzonotario","vitepress-openapi","open","Shiki instance not being reused","2025-09-11T11:47:16Z","https://github.com/enzonotario/vitepress-openapi/issues/278",0.846579,{"description":3183,"labels":3184,"number":3188,"owner":3175,"repository":3176,"state":3189,"title":3190,"updated_at":3191,"url":3192,"score":3193},"### What would you like?\r\n\r\nList of tags underneath the title\r\n\r\n### Why is this needed?\r\n\r\nWould be handy with tags pages, if one doesn't show tags in the sidebar (without `itemsByTags`)\r\n\r\n### How could it be implemented?\r\n\r\nI use following workaround\r\n\r\n```vue\r\n\u003COAOperation :operationId=\"operationId\" :isDark=\"isDark\" >\r\n \u003Ctemplate #description=\"description\">\r\n \u003Cdiv>\r\n \u003CBadge type=\"info\" v-for=\"tag in operation.tags\">\r\n \u003C!-- hardocde prefix, tell me if you know better way -->\r\n \u003Ca :href=\"`/tags/${tag}`\">{{ tag }}\u003C/a>\r\n \u003C/Badge>\r\n \u003C/div>\r\n \u003C/template>\r\n\u003C/OAOperation>\r\n```\r\n\r\nBut would be nice to have\r\n\r\n```ts\r\nuseTheme({\r\n operation: {\r\n slots: ['tags']\r\n }\r\n})\r\n```\r\n\r\n### Other information\r\n\r\nRelated: it would be nice to have more compact representation of endpoints lists for tags pages. For now I use\r\n\r\n```ts\r\nimport { useTheme } from 'vitepress-openapi'\r\nuseTheme({\r\n operation: {\r\n slots: [\r\n 'header',\r\n 'path',\r\n 'description',\r\n ],\r\n cols: 2,\r\n },\r\n})\r\n```\r\n\r\nWhich looks a bit strange",[3185],{"name":3186,"color":3187},"enhancement","a2eeef",120,"closed","Add tags slot","2024-12-02T03:07:06Z","https://github.com/enzonotario/vitepress-openapi/issues/120",0.79399765,{"description":3195,"labels":3196,"number":3200,"owner":3175,"repository":3176,"state":3189,"title":3201,"updated_at":3202,"url":3203,"score":3204},"### What would you like?\n\nHow can I create my own custom components to implement my own needs?\n\n### Why is this needed?\n\n_No response_\n\n### How could it be implemented?\n\n_No response_\n\n### Other information\n\n_No response_",[3197],{"name":3198,"color":3199},"question","d876e3",229,"How can I custom the render component","2025-05-31T22:29:15Z","https://github.com/enzonotario/vitepress-openapi/issues/229",0.7995628,{"description":3206,"labels":3207,"number":3209,"owner":3175,"repository":3176,"state":3189,"title":3210,"updated_at":3211,"url":3212,"score":3213},"### What would you like?\n\nI'd love it if there was an easy to use component that allowed displaying a link that looked like the nice fancy sidebars\n\nThis should be documented\n\n\n\nI'd like to be able to use this anywhere in text\n\n### Why is this needed?\n\n_No response_\n\n### How could it be implemented?\n\n_No response_\n\n### Other information\n\n_No response_",[3208],{"name":3186,"color":3187},222,"Reusable component for linking to specs / api pages","2025-06-30T01:23:53Z","https://github.com/enzonotario/vitepress-openapi/issues/222",0.8225954,{"description":3215,"labels":3216,"number":3217,"owner":3175,"repository":3176,"state":3189,"title":3218,"updated_at":3219,"url":3220,"score":3221},"### Current behavior\n\nIn OpenAPI you can create a nullable object with:\n```yaml\ntype: [object, 'null']\nproperties:\n example:\n type: string\n```\n\nCurrently, vitepress-openapi will not display the properties correctly.\n\n### Desired behavior\n\nIf the object is nullable, it should still list all properties of nullable object and not just `object | null`\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\n```json\n{\n \"openapi\": \"3.1.0\",\n \"info\": {\n \"title\": \"Nullable objects\"\n },\n \"servers\": [\n {\n \"url\": \"https://whatever.com\",\n \"description\": \"Mock Server\"\n }\n ],\n \"paths\": {\n \"/nullable\": {\n \"get\": {\n \"tags\": [\n \"Nullable\"\n ],\n \"summary\": \"Get nullable object\",\n \"description\": \"Yayy\",\n \"operationId\": \"getNullableObject\",\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"a\": {\n \"type\": [\n \"object\",\n \"null\"\n ],\n \"properties\": {\n \"a\": {\n \"type\": \"number\"\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n },\n \"tags\": [],\n \"externalDocs\": {}\n}\n```\n\n\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\n_No response_",[],206,"\"nullable\" objects","2025-04-24T01:25:01Z","https://github.com/enzonotario/vitepress-openapi/issues/206",0.83248925,{"description":3223,"labels":3224,"number":3229,"owner":3175,"repository":3176,"state":3189,"title":3230,"updated_at":3231,"url":3232,"score":3233},"Hey there! First of all, thank you so much for such a cool enhancement to VitePress.\n\nI'm currently using the `By Operation` method of displaying OAS content, i.e. grouping the specific endpoint pages under the tags in the sidebar.\n\nIs it possible to make the categories/groupings collapsed by default, or introduce the collapsing mechanism from VitePress altogether? Something akin to `collapsed: true` [for the VitePress sidebar groups](https://vitepress.dev/reference/default-theme-sidebar#collapsible-sidebar-groups).\n\nHere's a grouping that I would like collapsed, to help visualize this issue:\n\n",[3225,3228],{"name":3226,"color":3227},"documentation","0075ca",{"name":3198,"color":3199},195,"Collapsible operation grouping in the sidebar","2025-04-08T21:55:25Z","https://github.com/enzonotario/vitepress-openapi/issues/195",0.83325297,{"description":3235,"labels":3236,"number":3237,"owner":3175,"repository":3176,"state":3189,"title":3238,"updated_at":3239,"url":3240,"score":3241},"### Current behavior\n\nHello,guys\n\nWhen i use that example about the Pages By operation\n\n```md\n---\naside: false\noutline: false\ntitle: vitepress-openapi\n---\n\n\u003Cscript setup lang=\"ts\">\nimport { useRoute } from 'vitepress'\n\nconst route = useRoute()\n\nconst operationId = route.data.params.operationId\n\u003C/script>\n\n\u003COAOperation :operationId=\"operationId\" />\n\n```\n\n```js\nimport { usePaths } from 'vitepress-openapi'\nimport spec from '../../public/test.json' with {type: 'json'}\n\nexport default {\n paths() {\n return usePaths({ spec })\n .getPathsByVerbs()\n .map(({ operationId, summary }) => {\n return {\n params: {\n operationId,\n pageTitle: `${summary} - vitepress-openapi`,\n },\n }\n })\n },\n}\n```\n\nThe terminal show this error,but i dont understand what it mean\n\n\n\nThe terminal guide me the links https://cn.vite.dev/guide/troubleshooting which is show The CJS build of Vite's Node API is deprecated and will be removed in Vite 6. \n\nHope u give the answer thank u so much\n\n\n### Desired behavior\n\n_No response_\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\n\n\n### Logs and Error Messages\n\n\n\n### Other Information\n\n_No response_",[],212,"Pages by Operation Example dose not work","2025-04-30T22:18:57Z","https://github.com/enzonotario/vitepress-openapi/issues/212",0.8338061,{"description":3243,"labels":3244,"number":3245,"owner":3175,"repository":3176,"state":3189,"title":3246,"updated_at":3247,"url":3248,"score":3249},"Hi! It took me some time to figure out how to prevent vitepress-openapi styles from leaking into `.vp-raw` (`:::raw`) blocks. Consider adding an example to the documentation:\n\n```js\n// docs/postcss.config.mjs\n\nimport { postcssIsolateStyles } from 'vitepress';\n\nexport default {\n plugins: [\n // Make `::: raw` sections be isolated from vitepress-openapi plugin styles\n postcssIsolateStyles({\n includeFiles: [ /vitepress-openapi\\.css/ ], // ← NOT `vitepress-openapi/dist/style.css` (!)\n }),\n ],\n};\n```\n\nThank you for your work!",[],251,"Mention style isolation in documentation","2025-07-05T14:22:04Z","https://github.com/enzonotario/vitepress-openapi/issues/251",0.8362807,{"description":3251,"labels":3252,"number":3254,"owner":3175,"repository":3176,"state":3189,"title":3255,"updated_at":3256,"url":3257,"score":3258},"Follow on to https://github.com/enzonotario/vitepress-theme-openapi/issues/10\r\n\r\nIt would be great to allow trying out requests that have a body required.\r\n\r\nProbably a first version of this would just provide a single text input box for the whole \"body\" to be provided.\r\n\r\nUsers could then easily copy and paste the example (probably json) body, and modify it",[3253],{"name":3186,"color":3187},42,"Support body for \"try it out\"","2024-09-24T05:03:33Z","https://github.com/enzonotario/vitepress-openapi/issues/42",0.8365917,{"description":3260,"labels":3261,"number":3265,"owner":3175,"repository":3176,"state":3189,"title":3266,"updated_at":3267,"url":3268,"score":3269},"### Current behavior\n\nOn some route, the schema view is empty even though the json view is not\n\n### Desired behavior\n\nI expect the schema view to always represent the type\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\n```\r\ngit clone https://github.com/wighawag/fuzd.git\r\ncd fuzd\r\ngit checkout feat/vitepress-openapi\r\npnpm i\r\npnpm docs:dev\r\n# navigate to http://localhost:5173/api/post-api-scheduling-scheduleExecution.html\r\n# click on Schema view for Request Body, see it is empty\r\n```\r\n\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\n_No response_",[3262],{"name":3263,"color":3264},"bug","d73a4a",110,"Schema view empty even though json view is not","2024-11-30T14:09:26Z","https://github.com/enzonotario/vitepress-openapi/issues/110",0.83851093,["Reactive",3271],{},["Set"],["ShallowReactive",3274],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fTVhjUK3Zj1OXV8aXRqHq0_7RR3-V7SvwBxNCG_Q9iig":-1},"/enzonotario/vitepress-openapi/178"]