diff --git a/docs/.vitepress/theme/components/MLayout.vue b/docs/.vitepress/theme/components/MLayout.vue index 52fc1104b..8074122ce 100644 --- a/docs/.vitepress/theme/components/MLayout.vue +++ b/docs/.vitepress/theme/components/MLayout.vue @@ -2,6 +2,9 @@ import { useData } from 'vitepress' import DefaultTheme from 'vitepress/theme' import { nextTick, provide } from 'vue' +import Giscus from '@giscus/vue' + +import { useFormatPath } from '../composables' import MNavVisitor from './MNavVisitor.vue' import MDocFooter from './MDocFooter.vue' @@ -9,6 +12,7 @@ import MAsideSponsors from './MAsideSponsors.vue' const { Layout } = DefaultTheme const { isDark } = useData() +const formatPath = useFormatPath() const enableTransitions = () => 'startViewTransition' in document && @@ -55,6 +59,26 @@ provide('toggle-appearance', async ({ clientX: x, clientY: y }: MouseEvent) => { + @@ -63,3 +87,16 @@ provide('toggle-appearance', async ({ clientX: x, clientY: y }: MouseEvent) => { + + diff --git a/package.json b/package.json index fbbf0091a..8db9ee010 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "devDependencies": { "@femm/prettier": "^1.1.0", "@femm/verify-commit": "^1.0.1", + "@giscus/vue": "^2.3.0", "@mdit-vue/shared": "^0.12.1", "@octokit/rest": "^19.0.13", "@types/fs-extra": "^11.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f5a815ca3..fa9cccf29 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,9 @@ devDependencies: '@femm/verify-commit': specifier: ^1.0.1 version: 1.0.1 + '@giscus/vue': + specifier: ^2.3.0 + version: 2.3.0(vue@3.3.4) '@mdit-vue/shared': specifier: ^0.12.1 version: 0.12.1 @@ -466,10 +469,29 @@ packages: terminal-link: 3.0.0 dev: true + /@giscus/vue@2.3.0(vue@3.3.4): + resolution: {integrity: sha512-ZZ1ZRqRwoHEfYpepSozU4HKjvCQ/4PjVt6P391/c0F4ly1i57OUup2h6Pd+l7dUnh9j7fbqUp6CfFk5+99S3Jw==} + peerDependencies: + vue: '>=3.2.0' + dependencies: + giscus: 1.3.0 + vue: 3.3.4 + dev: true + /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true + /@lit-labs/ssr-dom-shim@1.1.1: + resolution: {integrity: sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==} + dev: true + + /@lit/reactive-element@1.6.3: + resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} + dependencies: + '@lit-labs/ssr-dom-shim': 1.1.1 + dev: true + /@mdit-vue/shared@0.12.1: resolution: {integrity: sha512-bXgd0KThe4jC2leCFDFsyrudXIckvTwV4WnQK/rRMrXq0/BAuVdSNdIv1LGCWZxD5+oDyPyEPd0lalTIFwqsmg==} dependencies: @@ -638,6 +660,10 @@ packages: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} dev: true + /@types/trusted-types@2.0.4: + resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==} + dev: true + /@types/web-bluetooth@0.0.17: resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} dev: true @@ -1058,6 +1084,12 @@ packages: engines: {node: '>=10'} dev: true + /giscus@1.3.0: + resolution: {integrity: sha512-A3tVLgSmpnh2sX9uGjo9MbzmTTEJirSyFUPRvkipvy37y9rhxUYDoh9kO37QVrP7Sc7QuJ+gihB6apkO0yDyTw==} + dependencies: + lit: 2.8.0 + dev: true + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1192,6 +1224,28 @@ packages: wrap-ansi: 8.1.0 dev: true + /lit-element@3.3.3: + resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} + dependencies: + '@lit-labs/ssr-dom-shim': 1.1.1 + '@lit/reactive-element': 1.6.3 + lit-html: 2.8.0 + dev: true + + /lit-html@2.8.0: + resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} + dependencies: + '@types/trusted-types': 2.0.4 + dev: true + + /lit@2.8.0: + resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} + dependencies: + '@lit/reactive-element': 1.6.3 + lit-element: 3.3.3 + lit-html: 2.8.0 + dev: true + /log-update@5.0.1: resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}