-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add useMDXComponents hook #440
Conversation
This pull request is automatically deployed with Now. |
dope. Looks like a good idea to me. |
also it looked like the snapshot tests needed to be updated |
Oh wasn't aware of that! Should I revert the changes of the |
There is an existing failing test in v1 (from me 🙀 😬). |
I'll go ahead and merge this as is and make an issue to remove MDXTag. Thank you! |
* Add useMDXComponents hook * Update snapshot
* Replace MDXTag with custom pragma (#401) * it works * commit to be removed: my-site-2 * remove mdxtag for layout * [remove this] more my-site examples * remove * merge-conflict * snapshots * Remove my-site-2 * Clean up create element code * Fix tests * Fix props handling, remove mdx pragma from JSX output * Update pragma implementation in loader and parcel plugin * Update runtime to properly provide components for mdx pragma * Allow for merging of components passed to context with a function (#411) If a function is passed to the theme provider it is invoked with the out context's components. This allows users to opt in to merging those components. Related #410 * feat: Convert withMDXComponents to use hooks (#417) * Update tests after rebase * Use remark-mdx in core as a syntactic extension to remark (#439) * Implement support for Some.Component style JSX blocks * Add failing test for string interpolation * Add failing test for js functions as props * Add failing test for js functions as props with returns * Make value parsing for JSX props more flexible * Don't lint fixtures file * Add nested object props fixture * Add another fixture for randomly placed brackets * Add link shortcut to fixture * Remove object props since it is a subset of js props * Begin implementing core remark-mdx usage * Replace MDXTag with custom pragma (#401) * it works * commit to be removed: my-site-2 * remove mdxtag for layout * [remove this] more my-site examples * remove * merge-conflict * snapshots * Remove my-site-2 * Clean up create element code * Fix tests * Fix props handling, remove mdx pragma from JSX output * Update pragma implementation in loader and parcel plugin * Update runtime to properly provide components for mdx pragma * Allow for merging of components passed to context with a function (#411) If a function is passed to the theme provider it is invoked with the out context's components. This allows users to opt in to merging those components. Related #410 * feat: Convert withMDXComponents to use hooks (#417) * Continue working on integrating remark-mdx * Ensure proper remark-mdx is used for workspaces * Add next publish script * v1.0.0-alpha.0 * Add useMDXComponents hook (#440) * Add useMDXComponents hook * Update snapshot * Automatically merge outer context for components in the provider (#441) * Automatically merge outer context for components in the provider Closes #410 * Fix failing test * Improve test name * Convert MDXContent to a function component (#427) * Convert MDXContent to a function component * Move Layout definition outside of component * Rename Layout to MDXLayout and don't initialize it if layout is not set * Fix snapshot * Fix rebase * Add more involved usage docs * Add nav for api doc * Move API docs to main advanced page * v1.0.0-alpha.1 * Fix inline comments (#456) Closes GH-450. * [WIP] Implement basic Vue support (#455) Implement basic Vue support * Ignore imports used in exports when parsing (#461) * v1.0.0-alpha.6 * Update docs/advanced/index.md Co-Authored-By: johno <[email protected]> * Use mdxType as prop name (#462) In some cases it might be desired to access the type prop. This namespaces it with mdx to become mdxType. This shouldn't clash with most components and allows wrapper to more easily inspect its children's type like you would with most React elements. * v1.0.0-alpha.7 * Mdx wrapper guide (#467) * Begin wrapper guides * Finish spiking out first pass of wrapper guide * Rename mdPlugins/hastPlugins to remarkPlugins/rehypePlugins (#468) Closes #465 * Remove trailing space from prop-less JSX tags (#477) * wrapper replacement (#479) * Fix remark-mdx readme title (#481) * v1.0.0-alpha.8 * Change wrapper default element to React.Fragment (#470) * Change wrapper default element to React.Fragment * Add test * Fix snapshot * v1.0.0-alpha.9 * Raw nodes should always be of type jsx (#484) * pass filename to babel transform if present (#485) * Fix test suite * v1.0.0-alpha.10 * Add wrapExport option for wrapping exported fn (#475) * v1.0.0-alpha.11 * Pull in proper remark-mdx version * Rename tag package to react, move create-element to new package (#487) * Update docs for new react package name (#490) * v1.0.0-alpha.12 * v1.0.0-alpha.13 * Add remove exports plugin (#488) * v1.0.0-alpha.14 * Fix missing loader dep (#491) * v1.0.0-alpha.15 * Fix missing 'create-element' file (#493) * v1.0.0-alpha.16 * Export mdx from main @mdx-js/react module (#495) * v1.0.0-alpha.17 * Move to babel v7 (#494) * Move to babel v7 * Add microbundle * V1 docs update (#498) * Add basic gatsby setup for docs * Remove x0 from root package * Add Head component * Update to latest rebass * Add docs layout component * Reorganize UI components in docs * Remove _app.js component from docs * Add basic styles, header, and pagination to docs * Add basic responsive menu styles to docs * Adjust styles in docs * Adjust getting started page * Update now config for new docs setup * Move to babel v7 (#494) * Move to babel v7 * Add microbundle * Fix loader test * Update live editor for v1, make docs a workspace * Refactor docs header and fix code editor styles * Use scoped styles in docs sidebar and pagination * Adjust edit link url * Add basic gatsby setup for docs * Remove x0 from root package * Add Head component * Update to latest rebass * Add docs layout component * Reorganize UI components in docs * Remove _app.js component from docs * Add basic styles, header, and pagination to docs * Add basic responsive menu styles to docs * Adjust styles in docs * Adjust getting started page * Update now config for new docs setup * Fix loader test * Update live editor for v1, make docs a workspace * Refactor docs header and fix code editor styles * Use scoped styles in docs sidebar and pagination * Adjust edit link url * Fix eslint ignore config * Implement banner, add migration guide
Some notable changes:
useMDXComponents
hookwithMDXComponents
withuseMDXComponents
. That will allow us to remove theMDXCreateElementInner
component to get a "flatter" tree.useMDXComponents
hook can either be an object or function. SoMDXTag
andMDXCreateElement
will work the same way asMDXProvider
. (we might not want this?)