aboutsummaryrefslogtreecommitdiff
path: root/packages/markdown/component/test/fixtures/astro-markdown-plugins/add-classes.mjs
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2022-07-20 16:45:05 -0400
committerGravatar GitHub <noreply@github.com> 2022-07-20 16:45:05 -0400
commitbccd88f0ebe1fbf383c0cee4b27a4c24c72dea72 (patch)
tree6ba2a85c65fac8ee0fd7d99c4c7f1b715789d76d /packages/markdown/component/test/fixtures/astro-markdown-plugins/add-classes.mjs
parentd13afad272bd558efadbc64de29f307bd58d8de1 (diff)
downloadastro-bccd88f0ebe1fbf383c0cee4b27a4c24c72dea72.tar.gz
astro-bccd88f0ebe1fbf383c0cee4b27a4c24c72dea72.tar.zst
astro-bccd88f0ebe1fbf383c0cee4b27a4c24c72dea72.zip
Move the Markdown component to its own package (#3986)
* Move the Markdown component to its own package * Update the examples * Updated lockfile * Use is:raw * Add a main field * Update the formatting of the readme * Rename to @astrojs/markdown-component
Diffstat (limited to 'packages/markdown/component/test/fixtures/astro-markdown-plugins/add-classes.mjs')
-rw-r--r--packages/markdown/component/test/fixtures/astro-markdown-plugins/add-classes.mjs18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/markdown/component/test/fixtures/astro-markdown-plugins/add-classes.mjs b/packages/markdown/component/test/fixtures/astro-markdown-plugins/add-classes.mjs
new file mode 100644
index 000000000..39acabd52
--- /dev/null
+++ b/packages/markdown/component/test/fixtures/astro-markdown-plugins/add-classes.mjs
@@ -0,0 +1,18 @@
+import { selectAll } from 'hast-util-select';
+
+export default (additions) => {
+ const adders = Object.entries(additions).map(adder);
+ return (node) => adders.forEach((a) => a(node));
+};
+
+const adder = ([selector, className]) => {
+ const writer = write(className);
+ return (node) => selectAll(selector, node).forEach(writer);
+};
+
+const write =
+ (className) =>
+ ({ properties }) => {
+ if (!properties.className) properties.className = className;
+ else properties.className += ` ${className}`;
+ };