diff options
author | 2022-08-25 17:21:56 -0400 | |
---|---|---|
committer | 2022-08-25 17:21:56 -0400 | |
commit | ac03218247763e4782824e220a384fd20ae6d769 (patch) | |
tree | 5ad7dcb402c8e7dc67b3a2f6b6695c5ed5465154 /packages/markdown/remark/src | |
parent | d4cd7a59fd38d411c442a818cfaab40f74106628 (diff) | |
download | astro-ac03218247763e4782824e220a384fd20ae6d769.tar.gz astro-ac03218247763e4782824e220a384fd20ae6d769.tar.zst astro-ac03218247763e4782824e220a384fd20ae6d769.zip |
[MD] `extendDefaultPlugins` to preserve default remark plugins (#4474)
* feat: add { extends } to markdown config
* test: remark plugins with extends
* deps: pnpm lock
* chore: changeset
* fix: remarkPlugins -> rehypePlugins
* docs: update markdown config reference
* Revert "feat: add { extends } to markdown config"
This reverts commit 5d050bbcf9a2c0d470cae79c4d0a954d489f4e8c.
* feat: new "extendDefaultPlugins" flag
* docs: update config
* nit: We -> Astro applies
* fix: backticks on `false`
* nit: Note -> REAL note
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* docs: note -> caution
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Diffstat (limited to 'packages/markdown/remark/src')
-rw-r--r-- | packages/markdown/remark/src/index.ts | 7 | ||||
-rw-r--r-- | packages/markdown/remark/src/types.ts | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/packages/markdown/remark/src/index.ts b/packages/markdown/remark/src/index.ts index da64a5459..c64bdac0e 100644 --- a/packages/markdown/remark/src/index.ts +++ b/packages/markdown/remark/src/index.ts @@ -39,6 +39,7 @@ export async function renderMarkdown( remarkPlugins = [], rehypePlugins = [], remarkRehype = {}, + extendDefaultPlugins = false, isAstroFlavoredMd = false, } = opts; const input = new VFile({ value: content, path: fileURL }); @@ -50,9 +51,9 @@ export async function renderMarkdown( .use(remarkInitializeAstroData) .use(isAstroFlavoredMd ? [remarkMdxish, remarkMarkAndUnravel, remarkUnwrap, remarkEscape] : []); - if (remarkPlugins.length === 0 && rehypePlugins.length === 0) { - remarkPlugins = [...DEFAULT_REMARK_PLUGINS]; - rehypePlugins = [...DEFAULT_REHYPE_PLUGINS]; + if (extendDefaultPlugins || (remarkPlugins.length === 0 && rehypePlugins.length === 0)) { + remarkPlugins = [...DEFAULT_REMARK_PLUGINS, ...remarkPlugins]; + rehypePlugins = [...DEFAULT_REHYPE_PLUGINS, ...rehypePlugins]; } const loadedRemarkPlugins = await Promise.all(loadPlugins(remarkPlugins)); diff --git a/packages/markdown/remark/src/types.ts b/packages/markdown/remark/src/types.ts index 9df11d414..5b40c9f9d 100644 --- a/packages/markdown/remark/src/types.ts +++ b/packages/markdown/remark/src/types.ts @@ -43,6 +43,7 @@ export interface AstroMarkdownOptions { remarkPlugins?: RemarkPlugins; rehypePlugins?: RehypePlugins; remarkRehype?: RemarkRehype; + extendDefaultPlugins?: boolean; } export interface MarkdownRenderingOptions extends AstroMarkdownOptions { |