Matthew Phillips
e33fc9bc46
Load configs with Vite when loading with Proload fails ( #4112 )
...
* 4078 breaking test
* Use Vite for loading the config
* Try it
* Fallback to loading with Vite only when needed
* Remove console.error
* Remove extra console.log
* Add a changeset
* Use middlewareMode
2022-08-02 08:08:28 -04:00
Ben Holmes
40ef43a59b
[MDX] Add getHeadings
+ generate anchor links ( #4095 )
...
* deps: mdx github-slugger
* feat: add getHeadings via rehype plugin
* chore: stray console.log
* test: getHeadings w/ & w/0 JSX expressions
* docs: add generated exports
* refactor: pass headings using vfile.data
* deps: vfile
* test: heading anchor IDs
* docs: add collect-headings to default rehype plugins
* chore: changeset
* deps: estree-util-value-to-estree
* refactor: inject getHeadings export the right way!
* deps: switch to acorn
* refactor: just use acorn
* docs: `getHeadings` info structuring
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* docs: clarify `url` example
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* fix: move slugger inside plugin call
* refactor: cleanup code reassignment
* chore: lint
* deps: mdast-util-mdx, test utils
* refactor: add jsToTreeNode util
* feat: expose utils for lib authors
* test: rehype plugins w/ and w/o extends
* test: fixture
* refactor: remove utils from package exports
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2022-08-01 17:23:56 -04:00
Ben Holmes
1743fe140e
feat: support layout
in MDX frontmatter ( #4088 )
...
* deps: add gray-matter
* feat: support layout frontmatter property
* test: frontmatter, content prop
* docs: update layout recommendation
* deps: fix lockfile
* chore: changeset
* fix: inherit rollup plugin transform
* fix: avoid parsing frontmatter on custom parsers
* fix: match YAML err handling from md
* docs: absolute url to docs
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* chore: formatting
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2022-07-29 11:22:57 -04:00
Matthew Phillips
6120a71e54
Ensure file and url are always present in MDX for Astro.glob ( #4076 )
2022-07-28 10:58:44 -04:00
Ben Holmes
3b8a744524
[MDX] Add Prism and Shiki support ( #4002 )
...
* deps: add rehype-prism, shiki, rehype-pretty-code
* wip: apply rehype plugins depending on config
* wip: cherry-pick jsx-runtime fix?
* deps: rehype-pretty-code -> shiki-twoslash, add rehype-raw
* wip: add jsx-runtime fix
* feat: get shiki working!
* deps: add @astrojs/prism, prismjs, unist-util-visit
* feat: add prism support
* example: add small syntax highlight demo to with-mdx
* deps: remove rehype-prism
* chore: remove unused async
* chore: add .test.js to all mdx tests
* test: shiki, shikiConfig, prism
* fix: remove "is:raw" from prism output
* docs: add syntax highlighting section
* chore: add changeset
* nit: "Shiki config" -> Shiki config
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Revert "wip: add jsx-runtime fix"
This reverts commit 07f4528f44
.
* docs: link to integration README from example
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2022-07-21 16:43:58 -04:00
Ben Holmes
b2b367c969
[MDX] Support YAML frontmatter ( #3995 )
...
* chore: remove old comment
* deps: add remark-frontmatter
* deps: add remark-mdx-frontmatter
* fix: handle null or undefined frontmatter key
* feat: configure frontmatter plugins with defaults
* test: frontmatter and custom frontmatter name
* docs: add frontmatterOptions config
* docs: add "variables" and "frontmatter" docs
* chore: excessible -> accessible
* chore: changeset
* chore: remove bad mdx comment
2022-07-20 21:34:21 -04:00
Ben Holmes
19433eb4a4
[MDX] Support remark and rehype plugins, with defaults ( #3977 )
...
* feaet: allow remark and rehype plugin config
* deps: add remark-gfm, remark-smartypants
* feat: add gfm and smartypants by default
* test: add GFM and remark plugin tests
* feat: preserve default plugins with "extends"
* docs: add remarkPlugins
* docs: add rehypePlugins
* chore: changeset
* fix: remove skip from mdx tests
* chore: dup hyperlink flavor text
* chore: authGen -> autoGen
* nit: markdown -> Markdown
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* nit: markdown -> Markdown 1
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* nit: markdown -> Markdown 2
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* nit: markdown -> Markdown 3
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* nit: markdown -> Markdown 4
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-07-20 14:14:23 -04:00
Ben Holmes
61fec63044
[MDX] Include url
in glob result ( #3981 )
...
* deps: add es-module-lexer
* feat: inject url export on mdx files
* fix: apply url transform in prod
* test: page urls with overrides
* fix: revert test skips
* chore: changeset
* fix: add newline before export
2022-07-20 10:56:32 -04:00
Nate Moore
032ad1c047
MDX support ( #3706 )
...
* feat: first pass at MDX support
* fix: move built-in JSX renderer to come first
* chore: remove jsx example
* chore: update lockfile
* chore: cleanup example
* fix: missing deps
* refactor: move component render logic to `renderPage`
* chore: update HMR script
* chore: update MDX example
* refactor: prefer unshit
* refactor: remove TODO comment
* fix: remove duplicate identifier
* refactor: cleanup mdx entrypoint
* fix: better html handling
* fix: add tsconfig to mdx package
* chore: update lockfile
* fix: do not sort plugins unless mdx is enabled
* chore: update compiler
* fix(hmr): maybe render head for non-Astro pages
* fix: set initial pageExtensions
* refactor: cleanup addPageExtension
* refactor: remove addPageExtensions from types
* refactor: expose HookParameters type
* fix: only default to astro for MDX
* test: pick up jsx support in test fixtures
* refactor: simplify mdx entrypoint
* test: add basic MDX tests
* test(e2e): add mdx + framework tests
* chore: update lockfile
* test(e2e): fix preact mdx e2e test
* fix(mdx): disable .md support
* test(e2e): fix vue-component test missing mdx
* test(e2e): fix solid component needing import
* fix: allow `client:only="solid"` as an alias to `solid-js`
* chore: move to with-mdx example
* chore: update MDX readme
* chore: update example readme
* chore: bump astro version
* chore: update lockfile
* Update mod.d.ts
* feat: support `export const components` in MDX pages
* chore: update mdx example
* fix: update jsx-runtime with better slot support
* refactor: remove object style support
* chore: cleanup package exports
* chore: add todo comment
* refactor: improve isPage function, move to utils
* refactor: dry up manual HMR updates
* chore: add dev tests for MDX
* chore: prefer set to array
* chore: add changesets
* fix(hmr): flip public/private route
Co-authored-by: Nate Moore <nate@astro.build>
2022-06-30 13:09:09 -05:00