\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_",[],278,"enzonotario","vitepress-openapi","open","Shiki instance not being reused","2025-07-20T22:19:25Z","https://github.com/enzonotario/vitepress-openapi/issues/278",0.846579,{"description":3027,"labels":3028,"number":3032,"owner":3019,"repository":3020,"state":3033,"title":3034,"updated_at":3035,"url":3036,"score":3037},"### 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",[3029],{"name":3030,"color":3031},"enhancement","a2eeef",120,"closed","Add tags slot","2024-12-02T03:07:06Z","https://github.com/enzonotario/vitepress-openapi/issues/120",0.79399765,{"description":3039,"labels":3040,"number":3044,"owner":3019,"repository":3020,"state":3033,"title":3045,"updated_at":3046,"url":3047,"score":3048},"### 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_",[3041],{"name":3042,"color":3043},"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":3050,"labels":3051,"number":3053,"owner":3019,"repository":3020,"state":3033,"title":3054,"updated_at":3055,"url":3056,"score":3057},"### 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_",[3052],{"name":3030,"color":3031},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":3059,"labels":3060,"number":3061,"owner":3019,"repository":3020,"state":3033,"title":3062,"updated_at":3063,"url":3064,"score":3065},"### 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":3067,"labels":3068,"number":3073,"owner":3019,"repository":3020,"state":3033,"title":3074,"updated_at":3075,"url":3076,"score":3077},"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",[3069,3072],{"name":3070,"color":3071},"documentation","0075ca",{"name":3042,"color":3043},195,"Collapsible operation grouping in the sidebar","2025-04-08T21:55:25Z","https://github.com/enzonotario/vitepress-openapi/issues/195",0.83325297,{"description":3079,"labels":3080,"number":3081,"owner":3019,"repository":3020,"state":3033,"title":3082,"updated_at":3083,"url":3084,"score":3085},"### 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":3087,"labels":3088,"number":3089,"owner":3019,"repository":3020,"state":3033,"title":3090,"updated_at":3091,"url":3092,"score":3093},"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":3095,"labels":3096,"number":3098,"owner":3019,"repository":3020,"state":3033,"title":3099,"updated_at":3100,"url":3101,"score":3102},"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",[3097],{"name":3030,"color":3031},42,"Support body for \"try it out\"","2024-09-24T05:03:33Z","https://github.com/enzonotario/vitepress-openapi/issues/42",0.8365917,{"description":3104,"labels":3105,"number":3109,"owner":3019,"repository":3020,"state":3033,"title":3110,"updated_at":3111,"url":3112,"score":3113},"### 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_",[3106],{"name":3107,"color":3108},"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",3115],{},["Set"],["ShallowReactive",3118],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fTVhjUK3Zj1OXV8aXRqHq0_7RR3-V7SvwBxNCG_Q9iig":-1},"/enzonotario/vitepress-openapi/178"]