summaryrefslogtreecommitdiff
path: root/packages/markdown/remark/src
diff options
context:
space:
mode:
authorGravatar Ben Holmes <hey@bholmes.dev> 2023-01-06 09:26:02 -0500
committerGravatar GitHub <noreply@github.com> 2023-01-06 09:26:02 -0500
commit93e633922c2e449df3bb2357b3683af1d3c0e07b (patch)
tree5a81cd3e18653bef795a9bb8c8e993416fb48e42 /packages/markdown/remark/src
parent04bf679a5d509197aa3b7587e511588f652e886e (diff)
downloadastro-93e633922c2e449df3bb2357b3683af1d3c0e07b.tar.gz
astro-93e633922c2e449df3bb2357b3683af1d3c0e07b.tar.zst
astro-93e633922c2e449df3bb2357b3683af1d3c0e07b.zip
Add SmartyPants flag (#5769)
* feat: add smartypants flag * test: smartypants in markdown and mdx * docs: Smartypants -> SmartyPants * chore: changeset * chore: update changeset with 1.0 -> 2.0 in mind * chore: bump to minor change
Diffstat (limited to 'packages/markdown/remark/src')
-rw-r--r--packages/markdown/remark/src/index.ts7
-rw-r--r--packages/markdown/remark/src/types.ts1
2 files changed, 8 insertions, 0 deletions
diff --git a/packages/markdown/remark/src/index.ts b/packages/markdown/remark/src/index.ts
index fc134ee46..ec25870de 100644
--- a/packages/markdown/remark/src/index.ts
+++ b/packages/markdown/remark/src/index.ts
@@ -24,6 +24,7 @@ import remarkUnwrap from './remark-unwrap.js';
import rehypeRaw from 'rehype-raw';
import rehypeStringify from 'rehype-stringify';
import remarkGfm from 'remark-gfm';
+import remarkSmartypants from 'remark-smartypants';
import markdown from 'remark-parse';
import markdownToHtml from 'remark-rehype';
import { unified } from 'unified';
@@ -43,6 +44,7 @@ export const markdownConfigDefaults: Omit<Required<AstroMarkdownOptions>, 'draft
rehypePlugins: [],
remarkRehype: {},
gfm: true,
+ smartypants: true,
};
/** Shared utility for rendering markdown */
@@ -58,6 +60,7 @@ export async function renderMarkdown(
rehypePlugins = markdownConfigDefaults.rehypePlugins,
remarkRehype = markdownConfigDefaults.remarkRehype,
gfm = markdownConfigDefaults.gfm,
+ smartypants = markdownConfigDefaults.smartypants,
isAstroFlavoredMd = false,
isExperimentalContentCollections = false,
contentDir,
@@ -75,6 +78,10 @@ export async function renderMarkdown(
parser.use(remarkGfm);
}
+ if (smartypants) {
+ parser.use(remarkSmartypants);
+ }
+
const loadedRemarkPlugins = await Promise.all(loadPlugins(remarkPlugins));
const loadedRehypePlugins = await Promise.all(loadPlugins(rehypePlugins));
diff --git a/packages/markdown/remark/src/types.ts b/packages/markdown/remark/src/types.ts
index ccab542e9..d5133aaf0 100644
--- a/packages/markdown/remark/src/types.ts
+++ b/packages/markdown/remark/src/types.ts
@@ -48,6 +48,7 @@ export interface AstroMarkdownOptions {
rehypePlugins?: RehypePlugins;
remarkRehype?: RemarkRehype;
gfm?: boolean;
+ smartypants?: boolean;
}
export interface MarkdownRenderingOptions extends AstroMarkdownOptions {