diff options
Diffstat (limited to 'src/plugins/thirdPartyContentPlugin.ts')
-rw-r--r-- | src/plugins/thirdPartyContentPlugin.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/plugins/thirdPartyContentPlugin.ts b/src/plugins/thirdPartyContentPlugin.ts new file mode 100644 index 0000000..d2da4ab --- /dev/null +++ b/src/plugins/thirdPartyContentPlugin.ts | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2024 Kristóf Marussy <kristof@marussy.com> | ||
3 | * | ||
4 | * SPDX-License-Identifier: MIT | ||
5 | */ | ||
6 | |||
7 | import path from 'node:path'; | ||
8 | |||
9 | import type { LoadContext, Plugin } from '@docusaurus/types'; | ||
10 | |||
11 | export default function thirdPartyContentPlugin({ | ||
12 | siteDir, | ||
13 | }: LoadContext): Plugin { | ||
14 | const thirdPartyDir = path.join(siteDir, 'third-party'); | ||
15 | return { | ||
16 | name: 'marussy-third-party-content-plugin', | ||
17 | configureWebpack: () => ({ | ||
18 | mergeStrategy: { | ||
19 | 'resolve.alias.@site': 'replace', | ||
20 | }, | ||
21 | resolve: { | ||
22 | alias: { | ||
23 | '@site': [thirdPartyDir, siteDir], | ||
24 | }, | ||
25 | }, | ||
26 | }), | ||
27 | }; | ||
28 | } | ||