summaryrefslogtreecommitdiff
path: root/packages/integrations/mdx/src/utils.ts
diff options
context:
space:
mode:
authorGravatar Ben Holmes <hey@bholmes.dev> 2022-07-20 10:56:32 -0400
committerGravatar GitHub <noreply@github.com> 2022-07-20 10:56:32 -0400
commit61fec63044e1585348e8405bee6fdf4dec635efa (patch)
tree9fc1cf62ef49c7f2cec92315e6bd45d7c8542227 /packages/integrations/mdx/src/utils.ts
parenteaf187f2c40493abec28113c742ef392c812d0e2 (diff)
downloadastro-61fec63044e1585348e8405bee6fdf4dec635efa.tar.gz
astro-61fec63044e1585348e8405bee6fdf4dec635efa.tar.zst
astro-61fec63044e1585348e8405bee6fdf4dec635efa.zip
[MDX] Include `url` in glob result (#3981)
* deps: add es-module-lexer * feat: inject url export on mdx files * fix: apply url transform in prod * test: page urls with overrides * fix: revert test skips * chore: changeset * fix: add newline before export
Diffstat (limited to 'packages/integrations/mdx/src/utils.ts')
-rw-r--r--packages/integrations/mdx/src/utils.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/integrations/mdx/src/utils.ts b/packages/integrations/mdx/src/utils.ts
new file mode 100644
index 000000000..1091e8511
--- /dev/null
+++ b/packages/integrations/mdx/src/utils.ts
@@ -0,0 +1,21 @@
+import type { AstroConfig } from 'astro';
+
+function appendForwardSlash(path: string) {
+ return path.endsWith('/') ? path : path + '/';
+}
+
+/** @see 'vite-plugin-utils' for source */
+export function getFileInfo(id: string, config: AstroConfig) {
+ const sitePathname = appendForwardSlash(
+ config.site ? new URL(config.base, config.site).pathname : config.base
+ );
+
+ const fileId = id.split('?')[0];
+ let fileUrl = fileId.includes('/pages/')
+ ? fileId.replace(/^.*?\/pages\//, sitePathname).replace(/(\/index)?\.mdx$/, '')
+ : undefined;
+ if (fileUrl && config.trailingSlash === 'always') {
+ fileUrl = appendForwardSlash(fileUrl);
+ }
+ return { fileId, fileUrl };
+}