summaryrefslogtreecommitdiff
path: root/packages/integrations/mdx/test
diff options
context:
space:
mode:
authorGravatar Ben Holmes <hey@bholmes.dev> 2023-01-03 16:31:19 -0500
committerGravatar GitHub <noreply@github.com> 2023-01-03 16:31:19 -0500
commite2019be6ffa46fa33d92cfd346f9ecbe51bb7144 (patch)
tree413c13945ae992c26111e78314a567f5c0136c67 /packages/integrations/mdx/test
parent16c7d0bfd49d2b9bfae45385f506bcd642f9444a (diff)
downloadastro-e2019be6ffa46fa33d92cfd346f9ecbe51bb7144.tar.gz
astro-e2019be6ffa46fa33d92cfd346f9ecbe51bb7144.tar.zst
astro-e2019be6ffa46fa33d92cfd346f9ecbe51bb7144.zip
Change frontmatter injection ordering (#5687)
* feat: make user frontmatter accessible in md * test: new frontmatter injection * refactor: move injection utils to remark pkg * fix: add dist/internal to remark exports * feat: update frontmater injection in mdx * tests: new mdx injection * chore: changeset * chore: simplify frontmatter destructuring * fix: remove old _internal references * refactor: injectedFrontmatter -> remarkPluginFrontmatter * docs: add content collections change * chore: changeset heading levels
Diffstat (limited to 'packages/integrations/mdx/test')
-rw-r--r--packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs4
-rw-r--r--packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs7
-rw-r--r--packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx1
-rw-r--r--packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx1
-rw-r--r--packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/with-overrides.mdx7
-rw-r--r--packages/integrations/mdx/test/mdx-frontmatter-injection.test.js11
6 files changed, 15 insertions, 16 deletions
diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs
index fc15686c2..5335fac87 100644
--- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs
+++ b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs
@@ -1,12 +1,12 @@
import { defineConfig } from 'astro/config';
import mdx from '@astrojs/mdx';
-import { rehypeReadingTime, remarkTitle } from './src/markdown-plugins.mjs';
+import { rehypeReadingTime, remarkDescription, remarkTitle } from './src/markdown-plugins.mjs';
// https://astro.build/config
export default defineConfig({
site: 'https://astro.build/',
integrations: [mdx({
- remarkPlugins: [remarkTitle],
+ remarkPlugins: [remarkTitle, remarkDescription],
rehypePlugins: [rehypeReadingTime],
})],
});
diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs
index c0d5f7b2e..35b415787 100644
--- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs
+++ b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs
@@ -18,3 +18,10 @@ export function remarkTitle() {
});
};
}
+
+export function remarkDescription() {
+ return function (tree, vfile) {
+ const { frontmatter } = vfile.data.astro;
+ frontmatter.description = `Processed by remarkDescription plugin: ${frontmatter.description}`
+ };
+}
diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx
index 1092099f0..0d96d95b9 100644
--- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx
+++ b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx
@@ -1,5 +1,6 @@
---
layout: '../layouts/Base.astro'
+description: Page 1 description
---
# Page 1
diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx
index c82eb97c2..fe6a8286b 100644
--- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx
+++ b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx
@@ -1,5 +1,6 @@
---
layout: '../layouts/Base.astro'
+description: Page 2 description
---
# Page 2
diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/with-overrides.mdx b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/with-overrides.mdx
deleted file mode 100644
index 4e11c1c37..000000000
--- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/with-overrides.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: 'Overridden title'
-injectedReadingTime:
- text: '1000 min read'
----
-
-# Working!
diff --git a/packages/integrations/mdx/test/mdx-frontmatter-injection.test.js b/packages/integrations/mdx/test/mdx-frontmatter-injection.test.js
index 780f7252c..8f598b78e 100644
--- a/packages/integrations/mdx/test/mdx-frontmatter-injection.test.js
+++ b/packages/integrations/mdx/test/mdx-frontmatter-injection.test.js
@@ -33,14 +33,11 @@ describe('MDX frontmatter injection', () => {
}
});
- it('overrides injected frontmatter with user frontmatter', async () => {
+ it('allow user frontmatter mutation', async () => {
const frontmatterByPage = JSON.parse(await fixture.readFile('/glob.json'));
- const readingTimes = frontmatterByPage.map(
- (frontmatter = {}) => frontmatter.injectedReadingTime?.text
- );
- const titles = frontmatterByPage.map((frontmatter = {}) => frontmatter.title);
- expect(titles).to.contain('Overridden title');
- expect(readingTimes).to.contain('1000 min read');
+ const descriptions = frontmatterByPage.map((frontmatter = {}) => frontmatter.description);
+ expect(descriptions).to.contain('Processed by remarkDescription plugin: Page 1 description');
+ expect(descriptions).to.contain('Processed by remarkDescription plugin: Page 2 description');
});
it('passes injected frontmatter to layouts', async () => {