diff --git a/.changeset/soft-sheep-glow.md b/.changeset/soft-sheep-glow.md
new file mode 100644
index 000000000000..90b26828a350
--- /dev/null
+++ b/.changeset/soft-sheep-glow.md
@@ -0,0 +1,18 @@
+---
+'@astrojs/alpinejs': patch
+'@astrojs/lit': patch
+'@astrojs/markdoc': patch
+'@astrojs/mdx': patch
+'@astrojs/node': patch
+'@astrojs/partytown': patch
+'@astrojs/preact': patch
+'@astrojs/react': patch
+'@astrojs/sitemap': patch
+'@astrojs/solid-js': patch
+'@astrojs/svelte': patch
+'@astrojs/tailwind': patch
+'@astrojs/vercel': patch
+'@astrojs/vue': patch
+---
+
+Updates README
diff --git a/packages/integrations/alpinejs/README.md b/packages/integrations/alpinejs/README.md
index 38732b501ded..78f0a8ba145f 100644
--- a/packages/integrations/alpinejs/README.md
+++ b/packages/integrations/alpinejs/README.md
@@ -2,109 +2,37 @@
This **[Astro integration][astro-integration]** adds [Alpine.js](https://alpinejs.dev/) to your project so that you can use Alpine.js anywhere on your page.
-- [Installation](#installation)
-- [Usage](#usage)
-- [Configuration](#configuration)
-- [Examples](#examples)
-- [Troubleshooting](#troubleshooting)
-- [Contributing](#contributing)
-- [Changelog](#changelog)
+## Documentation
-## Installation
+Read the [`@astrojs/alpinejs` docs][docs]
-### Quick Install
+## Support
-The `astro add` command-line tool automates the installation for you. Run one of the following commands in a new terminal window. (If you aren't sure which package manager you're using, run the first command.) Then, follow the prompts, and type "y" in the terminal (meaning "yes") for each one.
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-```sh
-# Using NPM
-npx astro add alpinejs
-# Using Yarn
-yarn astro add alpinejs
-# Using PNPM
-pnpm astro add alpinejs
-```
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-If you run into any issues, [feel free to report them to us on GitHub](https://github.com/withastro/astro/issues) and try the manual installation steps below.
+- Submit bug reports and feature requests as [GitHub issues][issues].
-### Manual Install
-
-First, install the `@astrojs/alpinejs` package using your package manager. If you're using npm or aren't sure, run this in the terminal:
-
-```sh
-npm install @astrojs/alpinejs
-```
-
-Most package managers will install associated peer dependencies as well. However, if you see a "Cannot find package 'alpinejs'" (or similar) warning when you start up Astro, you'll need to manually install Alpine.js yourself:
-
-```sh
-npm install alpinejs @types/alpinejs
-```
-
-Then, apply this integration to your `astro.config.*` file using the `integrations` property:
-
-```diff lang="js" "alpine()"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
-+ import alpine from '@astrojs/alpinejs';
-
- export default defineConfig({
- // ...
- integrations: [alpine()],
- // ^^^^^^^^
- });
-```
-
-## Usage
-
-Once the integration is installed, you can use [Alpine.js](https://alpinejs.dev/) directives and syntax inside any Astro component. The Alpine.js script is automatically added and enabled on every page of your website.
-
-Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-
-## Limitations
-
-The Alpine.js integration does not give you control over how the script is loaded or initialized. If you require this control, consider [installing and using Alpine.js manually](https://alpinejs.dev/essentials/installation). Astro supports all officially documented Alpine.js manual setup instructions, using `
-```
-
-## Configuration
-
-The Alpine.js integration does not support any custom configuration at this time.
-
-## Examples
-
-- The [Astro Alpine.js example](https://github.com/withastro/astro/tree/latest/examples/framework-alpine) shows how to use Alpine.js in an Astro project.
-
-## Troubleshooting
-
-For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help!
+## Contributing
-You can also check our [Astro Integration Documentation][astro-integration] for more on integrations.
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
-## Contributing
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
-This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!
+## License
-## Changelog
+MIT
-See [CHANGELOG.md](CHANGELOG.md) for a history of changes to this integration.
+Copyright (c) 2023–present [Astro][astro]
-[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
-[astro-ui-frameworks]: https://docs.astro.build/en/core-concepts/framework-components/#using-framework-components
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/integrations-guide/alpinejs/
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
\ No newline at end of file
diff --git a/packages/integrations/lit/README.md b/packages/integrations/lit/README.md
index 70f15e0a39e8..062f684ae235 100644
--- a/packages/integrations/lit/README.md
+++ b/packages/integrations/lit/README.md
@@ -2,156 +2,37 @@
This **[Astro integration][astro-integration]** enables server-side rendering and client-side hydration for your [Lit](https://lit.dev/) custom elements.
-## Installation
+## Documentation
-There are two ways to add integrations to your project. Let's try the most convenient option first!
+Read the [`@astrojs/lit` docs][docs]
-### `astro add` command
+## Support
-Astro includes a CLI tool for adding first party integrations: `astro add`. This command will:
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-1. (Optionally) Install all necessary dependencies and peer dependencies
-2. (Also optionally) Update your `astro.config.*` file to apply this integration
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-To install `@astrojs/lit`, run the following from your project directory and follow the prompts:
+- Submit bug reports and feature requests as [GitHub issues][issues].
-```sh
-# Using NPM
-npx astro add lit
-# Using Yarn
-yarn astro add lit
-# Using PNPM
-pnpm astro add lit
-```
-
-If you run into any issues, [feel free to report them to us on GitHub](https://github.com/withastro/astro/issues) and try the manual installation steps below.
-
-### Install dependencies manually
-
-First, install the `@astrojs/lit` integration like so:
-
-```sh
-npm install @astrojs/lit
-```
-
-Most package managers will install associated peer dependencies as well. Still, if you see a "Cannot find package 'lit'" (or similar) warning when you start up Astro, you'll need to install `lit` and `@webcomponents/template-shadowroot`:
-
-```sh
-npm install lit @webcomponents/template-shadowroot
-```
-
-Now, apply this integration to your `astro.config.*` file using the `integrations` property:
-
-```diff lang="js" "lit()"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
-+ import lit from '@astrojs/lit';
-
- export default defineConfig({
- // ...
- integrations: [lit()],
- // ^^^^^
- });
-```
-
-## Getting started
-
-To use your first Lit component in Astro, head to our [UI framework documentation][astro-ui-frameworks]. This explains:
-
-- 📦 how framework components are loaded,
-- 💧 client-side hydration options, and
-- 🤝 opportunities to mix and nest frameworks together
-
-Writing and importing a Lit component in Astro looks like this:
-
-```js
-// src/components/my-element.js
-import { LitElement, html } from 'lit';
-
-export class MyElement extends LitElement {
- render() {
- return html`
Hello world! From my-element
`;
- }
-}
-
-customElements.define('my-element', MyElement);
-```
-
-Now, the component is ready to be imported via the Astro frontmatter:
-
-```astro
----
-// src/pages/index.astro
-import { MyElement } from '../components/my-element.js';
----
-
-
-```
-
-> Note that Lit requires browser globals such as `HTMLElement` and `customElements` to be present. For this reason the Lit renderer shims the server with these globals so Lit can run. You _might_ run into libraries that work incorrectly because of this.
-
-### Polyfills & Hydration
-
-The renderer automatically handles adding appropriate polyfills for support in browsers that don't have Declarative Shadow DOM. The polyfill is about _1.5kB_. If the browser does support Declarative Shadow DOM then less than 250 bytes are loaded (to feature detect support).
-
-Hydration is also handled automatically. You can use the same hydration directives such as `client:load`, `client:idle` and `client:visible` as you can with other libraries that Astro supports.
-
-```astro
----
-import { MyElement } from '../components/my-element.js';
----
-
-
-```
-
-The above will only load the element's JavaScript when the user has scrolled it into view. Since it is server rendered they will not see any jank; it will load and hydrate transparently.
-
-## Troubleshooting
-
-For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help!
-
-You can also check our [Astro Integration Documentation][astro-integration] for more on integrations.
-
-Common issues are listed below:
-
-### Browser globals
-
-The Lit integration's SSR works by adding a few browser global properties to the global environment. Some of the properties it adds includes `window`, `document`, and `location`.
-
-These globals _can_ interfere with other libraries that might use the existence of these variables to detect that they are running in the browser, when they are actually running in the server. This can cause bugs with these libraries.
-
-Because of this, the Lit integration might not be compatible with these types of libraries. One thing that can help is changing the order of integrations when Lit is interfering with other integrations:
-
-```diff lang="js"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
- import vue from '@astrojs/vue';
- import lit from '@astrojs/lit';
-
- export default defineConfig({
-- integrations: [vue(), lit()]
-+ integrations: [lit(), vue()]
- });
-```
-
-The correct order might be different depending on the underlying cause of the problem. This is not guaranteed to fix every issue however, and some libraries cannot be used if you are using the Lit integration because of this.
-
-### Strict package managers
-
-When using a [strict package manager](https://pnpm.io/pnpm-vs-npm#npms-flat-tree) like `pnpm`, you may get an error such as `ReferenceError: module is not defined` when running your site. To fix this, hoist Lit dependencies with an `.npmrc` file:
+## Contributing
-```ini
-# .npmrc
-public-hoist-pattern[]=*lit*
-```
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
-### Limitations
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
-The Lit integration is powered by `@lit-labs/ssr` which has some limitations. See their [limitations documentation](https://www.npmjs.com/package/@lit-labs/ssr#user-content-notes-and-limitations) to learn more.
+## License
-## Contributing
+MIT
-This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!
+Copyright (c) 2023–present [Astro][astro]
-[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
-[astro-ui-frameworks]: https://docs.astro.build/en/core-concepts/framework-components/#using-framework-components
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/integrations-guide/lit/
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
\ No newline at end of file
diff --git a/packages/integrations/markdoc/README.md b/packages/integrations/markdoc/README.md
index fd32b8f971c1..fb961625c087 100644
--- a/packages/integrations/markdoc/README.md
+++ b/packages/integrations/markdoc/README.md
@@ -2,517 +2,37 @@
This **[Astro integration][astro-integration]** enables the usage of [Markdoc](https://markdoc.dev/) to create components, pages, and content collection entries.
-- [Why Markdoc?](#why-markdoc)
-- [Installation](#installation)
-- [Usage](#usage)
-- [Configuration](#configuration)
-- [Examples](#examples)
-- [Troubleshooting](#troubleshooting)
-- [Contributing](#contributing)
-- [Changelog](#changelog)
+## Documentation
-## Why Markdoc?
+Read the [`@astrojs/markdoc` docs][docs]
-Markdoc allows you to enhance your Markdown with [Astro components][astro-components]. If you have existing content authored in Markdoc, this integration allows you to bring those files to your Astro project using content collections.
+## Support
-## Installation
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-### Quick Install
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-The `astro add` command-line tool automates the installation for you. Run one of the following commands in a new terminal window. (If you aren't sure which package manager you're using, run the first command.) Then, follow the prompts, and type "y" in the terminal (meaning "yes") for each one.
+- Submit bug reports and feature requests as [GitHub issues][issues].
-```sh
-# Using NPM
-npx astro add markdoc
-# Using Yarn
-yarn astro add markdoc
-# Using PNPM
-pnpm astro add markdoc
-```
-
-If you run into any issues, [feel free to report them to us on GitHub](https://github.com/withastro/astro/issues) and try the manual installation steps below.
-
-### Manual Install
-
-First, install the `@astrojs/markdoc` package using your package manager. If you're using npm or aren't sure, run this in the terminal:
-
-```sh
-npm install @astrojs/markdoc
-```
-
-Then, apply this integration to your `astro.config.*` file using the `integrations` property:
-
-```diff lang="js" "markdoc()"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
-+ import markdoc from '@astrojs/markdoc';
- export default defineConfig({
- // ...
- integrations: [markdoc()],
- // ^^^^^^^^^
- });
-```
-
-### Editor Integration
-
-[VS Code](https://code.visualstudio.com/) supports Markdown by default. However, for Markdoc editor support, you may wish to add the following setting in your VSCode config. This ensures authoring Markdoc files provides a Markdown-like editor experience.
-
-```json title=".vscode/settings.json"
-{
- "files.associations": {
- "*.mdoc": "markdown"
- }
-}
-```
-
-## Usage
-
-Markdoc files can only be used within content collections. Add entries to any content collection using the `.mdoc` extension:
-
-```sh
-src/content/docs/
- why-markdoc.mdoc
- quick-start.mdoc
-```
-
-Then, query your collection using the [Content Collection APIs](https://docs.astro.build/en/guides/content-collections/#querying-collections):
-
-```astro
----
-import { getEntryBySlug } from 'astro:content';
-
-const entry = await getEntryBySlug('docs', 'why-markdoc');
-const { Content } = await entry.render();
----
-
-
-
{entry.data.title}
-
-
-```
-
-📚 See the [Astro Content Collection docs][astro-content-collections] for more information.
-
-## Markdoc config
-
-`@astrojs/markdoc` offers configuration options to use all of Markdoc's features and connect UI components to your content.
-
-### Use Astro components as Markdoc tags
-
-You can configure [Markdoc tags][markdoc-tags] that map to `.astro` components. You can add a new tag by creating a `markdoc.config.mjs|ts` file at the root of your project and configuring the `tag` attribute.
-
-This example renders an `Aside` component, and allows a `type` prop to be passed as a string:
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig, component } from '@astrojs/markdoc/config';
-
-export default defineMarkdocConfig({
- tags: {
- aside: {
- render: component('./src/components/Aside.astro'),
- attributes: {
- // Markdoc requires type defs for each attribute.
- // These should mirror the `Props` type of the component
- // you are rendering.
- // See Markdoc's documentation on defining attributes
- // https://markdoc.dev/docs/attributes#defining-attributes
- type: { type: String },
- },
- },
- },
-});
-```
-
-This component can now be used in your Markdoc files with the `{% aside %}` tag. Children will be passed to your component's default slot:
-
-```md
-# Welcome to Markdoc 👋
-
-{% aside type="tip" %}
-
-Use tags like this fancy "aside" to add some _flair_ to your docs.
-
-{% /aside %}
-```
-
-### Use Astro components from npm packages and TypeScript files
-
-You may need to use Astro components exposed as named exports from TypeScript or JavaScript files. This is common when using npm packages and design systems.
-
-You can pass the import name as the second argument to the `component()` function:
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig, component } from '@astrojs/markdoc/config';
-
-export default defineMarkdocConfig({
- tags: {
- tabs: {
- render: component('@astrojs/starlight/components', 'Tabs'),
- },
- },
-});
-```
-
-This generates the following import statement internally:
-
-```ts
-import { Tabs } from '@astrojs/starlight/components';
-```
-
-### Custom headings
-
-`@astrojs/markdoc` automatically adds anchor links to your headings, and [generates a list of `headings` via the content collections API](https://docs.astro.build/en/guides/content-collections/#rendering-content-to-html). To further customize how headings are rendered, you can apply an Astro component [as a Markdoc node][markdoc-nodes].
-
-This example renders a `Heading.astro` component using the `render` property:
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig, nodes, component } from '@astrojs/markdoc/config';
-
-export default defineMarkdocConfig({
- nodes: {
- heading: {
- ...nodes.heading, // Preserve default anchor link generation
- render: component('./src/components/Heading.astro'),
- },
- },
-});
-```
-
-All Markdown headings will render the `Heading.astro` component and pass the following `attributes` as component props:
-
-- `level: number` The heading level 1 - 6
-- `id: string` An `id` generated from the heading's text contents. This corresponds to the `slug` generated by the [content `render()` function](https://docs.astro.build/en/guides/content-collections/#rendering-content-to-html).
-
-For example, the heading `### Level 3 heading!` will pass `level: 3` and `id: 'level-3-heading'` as component props.
-
-### Syntax highlighting
-
-`@astrojs/markdoc` provides [Shiki](https://github.com/shikijs/shiki) and [Prism](https://github.com/PrismJS) extensions to highlight your code blocks.
-
-#### Shiki
-
-Apply the `shiki()` extension to your Markdoc config using the `extends` property. You can optionally pass a shiki configuration object:
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig } from '@astrojs/markdoc/config';
-import shiki from '@astrojs/markdoc/shiki';
-
-export default defineMarkdocConfig({
- extends: [
- shiki({
- // Choose from Shiki's built-in themes (or add your own)
- // Default: 'github-dark'
- // https://github.com/shikijs/shiki/blob/main/docs/themes.md
- theme: 'dracula',
- // Enable word wrap to prevent horizontal scrolling
- // Default: false
- wrap: true,
- // Pass custom languages
- // Note: Shiki has countless langs built-in, including `.astro`!
- // https://github.com/shikijs/shiki/blob/main/docs/languages.md
- langs: [],
- }),
- ],
-});
-```
-
-#### Prism
-
-Apply the `prism()` extension to your Markdoc config using the `extends` property.
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig } from '@astrojs/markdoc/config';
-import prism from '@astrojs/markdoc/prism';
-
-export default defineMarkdocConfig({
- extends: [prism()],
-});
-```
-
-📚 To learn about configuring Prism stylesheets, [see our syntax highlighting guide](https://docs.astro.build/en/guides/markdown-content/#prism-configuration).
-
-### Set the root HTML element
-
-Markdoc wraps documents with an `` tag by default. This can be changed from the `document` Markdoc node. This accepts an HTML element name or `null` if you prefer to remove the wrapper element:
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig, nodes } from '@astrojs/markdoc/config';
-
-export default defineMarkdocConfig({
- nodes: {
- document: {
- ...nodes.document, // Apply defaults for other options
- render: null, // default 'article'
- },
- },
-});
-```
-
-### Custom Markdoc nodes / elements
-
-You may want to render standard Markdown elements, such as paragraphs and bolded text, as Astro components. For this, you can configure a [Markdoc node][markdoc-nodes]. If a given node receives attributes, they will be available as component props.
-
-This example renders blockquotes with a custom `Quote.astro` component:
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig, nodes, component } from '@astrojs/markdoc/config';
-
-export default defineMarkdocConfig({
- nodes: {
- blockquote: {
- ...nodes.blockquote, // Apply Markdoc's defaults for other options
- render: component('./src/components/Quote.astro'),
- },
- },
-});
-```
-
-📚 [Find all of Markdoc's built-in nodes and node attributes on their documentation.](https://markdoc.dev/docs/nodes#built-in-nodes)
-
-### Use client-side UI components
-
-Tags and nodes are restricted to `.astro` files. To embed client-side UI components in Markdoc, [use a wrapper `.astro` component that renders a framework component](https://docs.astro.build/en/core-concepts/framework-components/#nesting-framework-components) with your desired `client:` directive.
-
-This example wraps a React `Aside.tsx` component with a `ClientAside.astro` component:
-
-```astro
----
-// src/components/ClientAside.astro
-import Aside from './Aside';
----
-
-
-```
-
-This Astro component can now be passed to the `render` prop for any [tag][markdoc-tags] or [node][markdoc-nodes] in your config:
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig, component } from '@astrojs/markdoc/config';
-
-export default defineMarkdocConfig({
- tags: {
- aside: {
- render: component('./src/components/ClientAside.astro'),
- attributes: {
- type: { type: String },
- },
- },
- },
-});
-```
-
-### Markdoc config
-
-The `markdoc.config.mjs|ts` file accepts [all Markdoc configuration options](https://markdoc.dev/docs/config), including [tags](https://markdoc.dev/docs/tags) and [functions](https://markdoc.dev/docs/functions).
-
-You can pass these options from the default export in your `markdoc.config.mjs|ts` file:
-
-```js
-// markdoc.config.mjs
-import { defineMarkdocConfig } from '@astrojs/markdoc/config';
-
-export default defineMarkdocConfig({
- functions: {
- getCountryEmoji: {
- transform(parameters) {
- const [country] = Object.values(parameters);
- const countryToEmojiMap = {
- japan: '🇯🇵',
- spain: '🇪🇸',
- france: '🇫🇷',
- };
- return countryToEmojiMap[country] ?? '🏳';
- },
- },
- },
-});
-```
-
-Now, you can call this function from any Markdoc content entry:
-
-```md
-¡Hola {% getCountryEmoji("spain") %}!
-```
-
-📚 [See the Markdoc documentation](https://markdoc.dev/docs/functions#creating-a-custom-function) for more on using variables or functions in your content.
-
-### Markdoc Language Server
-
-If you are using VS Code, there is an official [Markdoc language extension](https://marketplace.visualstudio.com/items?itemName=Stripe.markdoc-language-support) that includes syntax highlighting and autocomplete for configured tags. [See the language server on GitHub](https://github.com/markdoc/language-server.git) for more information.
-
-To set up the extension, create a `markdoc.config.json` file into the project root with following content:
-
-```json
-[
- {
- "id": "my-site",
- "path": "src/content",
- "schema": {
- "path": "markdoc.config.mjs",
- "type": "esm",
- "property": "default",
- "watch": true
- }
- }
-]
-```
-
-The `schema` property contains all information to configure the language server for Astro content collections. It accepts following properties:
-
-- `path`: The path to the configuration file.
-- `type`: The type of module your configuration file uses (`esm` allows `import` syntax).
-- `property`: The exported property name that contains the configuration object.
-- `watch`: Tell the server to watch for changes in the configuration.
-
-The top-level `path` property tells the server where content is located. Since Markdoc is specific to content collections, you can use `src/content`.
-
-### Pass Markdoc variables
-
-You may need to pass [variables][markdoc-variables] to your content. This is useful when passing SSR parameters like A/B tests.
-
-Variables can be passed as props via the `Content` component:
-
-```astro
----
-import { getEntryBySlug } from 'astro:content';
-
-const entry = await getEntryBySlug('docs', 'why-markdoc');
-const { Content } = await entry.render();
----
-
-
-
-```
-
-Now, `abTestGroup` is available as a variable in `docs/why-markdoc.mdoc`:
-
-```md
-{% if $abTestGroup === 'image-optimization-lover' %}
-
-Let me tell you about image optimization...
-
-{% /if %}
-```
-
-To make a variable global to all Markdoc files, you can use the `variables` attribute from your `markdoc.config.mjs|ts`:
-
-```js
-import { defineMarkdocConfig } from '@astrojs/markdoc/config';
-
-export default defineMarkdocConfig({
- variables: {
- environment: process.env.IS_PROD ? 'prod' : 'dev',
- },
-});
-```
-
-### Access frontmatter from your Markdoc content
-
-To access frontmatter, you can pass the entry `data` property [as a variable](#pass-markdoc-variables) where you render your content:
-
-```astro
----
-import { getEntry } from 'astro:content';
-
-const entry = await getEntry('docs', 'why-markdoc');
-const { Content } = await entry.render();
----
-
-
-```
-
-This can now be accessed as `$frontmatter` in your Markdoc.
-
-## Integration config options
-
-The Astro Markdoc integration handles configuring Markdoc options and capabilities that are not available through the `markdoc.config.js` file.
-
-### `allowHTML`
-
-Enables writing HTML markup alongside Markdoc tags and nodes.
-
-By default, Markdoc will not recognize HTML markup as semantic content.
-
-To achieve a more Markdown-like experience, where HTML elements can be included alongside your content, set `allowHTML:true` as a `markdoc` integration option. This will enable HTML parsing in Markdoc markup.
-
-```diff lang="js" "allowHTML: true"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
- import markdoc from '@astrojs/markdoc';
-
- export default defineConfig({
- // ...
-+ integrations: [markdoc({ allowHTML: true })],
- // ^^^^^^^^^^^^^^^
- });
-```
-
-> **Warning**
-> When `allowHTML` is enabled, HTML markup inside Markdoc documents will be rendered as actual HTML elements (including `
-+
-```
-
-If you open the "Network" tab from [your browser's dev tools](https://developer.chrome.com/docs/devtools/open/), you should see the `partytown` proxy intercepting this request.
-
-## Configuration
-
-To configure this integration, pass a 'config' object to the `partytown()` function call in `astro.config.mjs`.
-
-```js
-// astro.config.mjs
-// ...
-export default defineConfig({
- integrations: [
- partytown({
- config: {
- // options go here
- },
- }),
- ],
-});
-```
-
-This mirrors the [Partytown config object](https://partytown.builder.io/configuration).
-
-### config.debug
-
-Partytown ships with a `debug` mode; enable or disable it by passing `true` or `false` to `config.debug`. If [`debug` mode](https://partytown.builder.io/debugging) is enabled, it will output detailed logs to the browser console.
-
-If this option isn't set, `debug` mode will be on by default in [dev](https://docs.astro.build/en/reference/cli-reference/#astro-dev) or [preview](https://docs.astro.build/en/reference/cli-reference/#astro-preview) mode.
-
-```js
-// astro.config.mjs
-export default defineConfig({
- integrations: [
- partytown({
- // Example: Disable debug mode.
- config: { debug: false },
- }),
- ],
-});
-```
-
-### config.forward
-
-Third-party scripts typically add variables to the `window` object so that you can communicate with them throughout your site. But when a script is loaded in a web-worker, it doesn't have access to that global `window` object.
-
-To solve this, Partytown can "patch" variables to the global window object and forward them to the appropriate script.
-
-You can specify which variables to forward with the `config.forward` option. [Read more in Partytown's documentation.](https://partytown.builder.io/forwarding-events)
-
-```js
-// astro.config.mjs
-export default defineConfig({
- integrations: [
- partytown({
- // Example: Add dataLayer.push as a forwarding-event.
- config: {
- forward: ['dataLayer.push'],
- },
- }),
- ],
-});
-```
-
-## Examples
-
-- [Browse projects with Astro Partytown on GitHub](https://github.com/search?q=%22%40astrojs%2Fpartytown%22+path%3A**%2Fpackage.json&type=code) for more examples!
-
-## Troubleshooting
-
-- If you're getting a `Failed to fetch` error, make sure you're not using any browser extensions that are blocking the script.
-
-For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help!
+## Contributing
-You can also check our [Astro Integration Documentation][astro-integration] for more on integrations.
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
-## Contributing
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
-This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!
+## License
-## Changelog
+MIT
-See [CHANGELOG.md](CHANGELOG.md) for a history of changes to this integration.
+Copyright (c) 2023–present [Astro][astro]
-[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/integrations-guide/partytown/
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
\ No newline at end of file
diff --git a/packages/integrations/preact/README.md b/packages/integrations/preact/README.md
index ff708bd5ee67..3ae21ead102c 100644
--- a/packages/integrations/preact/README.md
+++ b/packages/integrations/preact/README.md
@@ -2,174 +2,37 @@
This **[Astro integration][astro-integration]** enables server-side rendering and client-side hydration for your [Preact](https://preactjs.com/) components.
-- [Why Preact?](#why-preact)
-- [Installation](#installation)
-- [Usage](#usage)
-- [Configuration](#configuration)
-- [Examples](#examples)
-- [Troubleshooting](#troubleshooting)
-- [Contributing](#contributing)
-- [Changelog](#changelog)
+## Documentation
-## Why Preact?
+Read the [`@astrojs/preact` docs][docs]
-Preact is a library that lets you build interactive UI components for the web. If you want to build interactive features on your site using JavaScript, you may prefer using its component format instead of using browser APIs directly.
+## Support
-Preact is also a great choice if you have previously used React. Preact provides the same API as React, but in a much smaller 3kB package. It even supports rendering many React components using the `compat` configuration option (see below).
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-**Want to learn more about Preact before using this integration?**
-Check out [“Learn Preact in 10 minutes”](https://preactjs.com/tutorial), an interactive tutorial on their website.
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-## Installation
+- Submit bug reports and feature requests as [GitHub issues][issues].
-### Quick Install
-
-The `astro add` command-line tool automates the installation for you. Run one of the following commands in a new terminal window. (If you aren't sure which package manager you're using, run the first command.) Then, follow the prompts, and type "y" in the terminal (meaning "yes") for each one.
-
-```sh
-# Using NPM
-npx astro add preact
-# Using Yarn
-yarn astro add preact
-# Using PNPM
-pnpm astro add preact
-```
-
-If you run into any issues, [feel free to report them to us on GitHub](https://github.com/withastro/astro/issues) and try the manual installation steps below.
-
-### Manual Install
-
-First, install the `@astrojs/preact` package using your package manager. If you're using npm or aren't sure, run this in the terminal:
-
-```sh
-npm install @astrojs/preact
-```
-
-Most package managers will install associated peer dependencies as well. Still, if you see a "Cannot find package 'preact'" (or similar) warning when you start up Astro, you'll need to install Preact:
-
-```sh
-npm install preact
-```
-
-Then, apply this integration to your `astro.config.*` file using the `integrations` property:
-
-```diff lang="js" "preact()"
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-+ import preact from '@astrojs/preact';
-
-export default defineConfig({
- // ...
- integrations: [preact()],
- // ^^^^^^^^
-});
-```
-
-## Usage
-
-To use your first Preact component in Astro, head to our [UI framework documentation][astro-ui-frameworks]. You'll explore:
-
-- 📦 how framework components are loaded,
-- 💧 client-side hydration options, and
-- 🤝 opportunities to mix and nest frameworks together
-
-Also check our [Astro Integration Documentation][astro-integration] for more on integrations.
-
-## Configuration
-
-The Astro Preact integration handles how Preact components are rendered and it has its own options. Change these in the `astro.config.mjs` file which is where your project's integration settings live.
-
-For basic usage, you do not need to configure the Preact integration.
-
-### compat
-
-You can enable `preact/compat`, Preact’s compatibility layer for rendering React components without needing to install or ship React’s larger libraries to your users’ web browsers.
-
-To do so, pass an object to the Preact integration and set `compat: true`.
-
-```js "compat: true"
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import preact from '@astrojs/preact';
-
-export default defineConfig({
- integrations: [preact({ compat: true })],
- // ^^^^^^^^^^^^
-});
-```
-
-With the `compat` option enabled, the Preact integration will render React components as well as Preact components in your project and also allow you to import React components inside Preact components. Read more in [“Switching to Preact (from React)”](https://preactjs.com/guide/v10/switching-to-preact) on the Preact website.
-
-When importing React component libraries, in order to swap out the `react` and `react-dom` dependencies as `preact/compat`, you can use [`overrides`](https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides) to do so.
-
-```json title="package.json"
-{
- "overrides": {
- "react": "npm:@preact/compat@latest",
- "react-dom": "npm:@preact/compat@latest"
- }
-}
-```
-
-Check out the [`pnpm` overrides](https://pnpm.io/package_json#pnpmoverrides) and [`yarn` resolutions](https://yarnpkg.com/configuration/manifest#resolutions) docs for their respective overrides features.
-
-> **Note**
-> Currently, the `compat` option only works for React libraries that export code as ESM. If an error happens during build-time, try adding the library to `vite.ssr.noExternal: ['the-react-library']` in your `astro.config.mjs` file.
-
-## Options
-
-### Combining multiple JSX frameworks
-
-When you are using multiple JSX frameworks (React, Preact, Solid) in the same project, Astro needs to determine which JSX framework-specific transformations should be used for each of your components. If you have only added one JSX framework integration to your project, no extra configuration is needed.
-
-Use the `include` (required) and `exclude` (optional) configuration options to specify which files belong to which framework. Provide an array of files and/or folders to `include` for each framework you are using. Wildcards may be used to include multiple file paths.
-
-We recommend placing common framework components in the same folder (e.g. `/components/react/` and `/components/solid/`) to make specifying your includes easier, but this is not required:
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import preact from '@astrojs/preact';
-import react from '@astrojs/react';
-import svelte from '@astrojs/svelte';
-import vue from '@astrojs/vue';
-import solid from '@astrojs/solid-js';
-
-export default defineConfig({
- // Enable many frameworks to support all different kinds of components.
- // No `include` is needed if you are only using a single JSX framework!
- integrations: [
- preact({
- include: ['**/preact/*'],
- }),
- react({
- include: ['**/react/*'],
- }),
- solid({
- include: ['**/solid/*'],
- }),
- ],
-});
-```
-
-## Examples
-
-- The [Astro Preact example](https://github.com/withastro/astro/tree/latest/examples/framework-preact) shows how to use an interactive Preact component in an Astro project.
-- The [Astro Nanostores example](https://github.com/withastro/astro/tree/latest/examples/with-nanostores) shows how to share state between different components — and even different frameworks! — in an Astro project.
-
-## Troubleshooting
-
-For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help!
+## Contributing
-You can also check our [Astro Integration Documentation][astro-integration] for more on integrations.
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
-## Contributing
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
-This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!
+## License
-## Changelog
+MIT
-See [CHANGELOG.md](CHANGELOG.md) for a history of changes to this integration.
+Copyright (c) 2023–present [Astro][astro]
-[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
-[astro-ui-frameworks]: https://docs.astro.build/en/core-concepts/framework-components/#using-framework-components
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/integrations-guide/preact/
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
\ No newline at end of file
diff --git a/packages/integrations/react/README.md b/packages/integrations/react/README.md
index d9a3b473c736..c901ef875f13 100644
--- a/packages/integrations/react/README.md
+++ b/packages/integrations/react/README.md
@@ -2,149 +2,37 @@
This **[Astro integration][astro-integration]** enables server-side rendering and client-side hydration for your [React](https://react.dev/) components.
-## Installation
+## Documentation
-There are two ways to add integrations to your project. Let's try the most convenient option first!
+Read the [`@astrojs/react` docs][docs]
-### `astro add` command
+## Support
-Astro includes a CLI tool for adding first party integrations: `astro add`. This command will:
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-1. (Optionally) Install all necessary dependencies and peer dependencies
-2. (Also optionally) Update your `astro.config.*` file to apply this integration
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-To install `@astrojs/react`, run the following from your project directory and follow the prompts:
+- Submit bug reports and feature requests as [GitHub issues][issues].
-```sh
-# Using NPM
-npx astro add react
-# Using Yarn
-yarn astro add react
-# Using PNPM
-pnpm astro add react
-```
-
-If you run into any issues, [feel free to report them to us on GitHub](https://github.com/withastro/astro/issues) and try the manual installation steps below.
-
-### Install dependencies manually
-
-First, install the `@astrojs/react` integration like so:
-
-```sh
-npm install @astrojs/react
-```
-
-Most package managers will install associated peer dependencies as well. Still, if you see a "Cannot find package 'react'" (or similar) warning when you start up Astro, you'll need to install `react` and `react-dom`:
-
-```sh
-npm install react react-dom
-```
-
-Now, apply this integration to your `astro.config.*` file using the `integrations` property:
-
-```diff lang="js" "react()"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
-+ import react from '@astrojs/react';
-
- export default defineConfig({
- // ...
- integrations: [react()],
- // ^^^^^^^
- });
-```
-
-## Getting started
-
-To use your first React component in Astro, head to our [UI framework documentation][astro-ui-frameworks]. You'll explore:
-
-- 📦 how framework components are loaded,
-- 💧 client-side hydration options, and
-- 🤝 opportunities to mix and nest frameworks together
-
-## Options
-
-### Combining multiple JSX frameworks
-
-When you are using multiple JSX frameworks (React, Preact, Solid) in the same project, Astro needs to determine which JSX framework-specific transformations should be used for each of your components. If you have only added one JSX framework integration to your project, no extra configuration is needed.
-
-Use the `include` (required) and `exclude` (optional) configuration options to specify which files belong to which framework. Provide an array of files and/or folders to `include` for each framework you are using. Wildcards may be used to include multiple file paths.
-
-We recommend placing common framework components in the same folder (e.g. `/components/react/` and `/components/solid/`) to make specifying your includes easier, but this is not required:
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import preact from '@astrojs/preact';
-import react from '@astrojs/react';
-import svelte from '@astrojs/svelte';
-import vue from '@astrojs/vue';
-import solid from '@astrojs/solid-js';
-
-export default defineConfig({
- // Enable many frameworks to support all different kinds of components.
- // No `include` is needed if you are only using a single JSX framework!
- integrations: [
- preact({
- include: ['**/preact/*'],
- }),
- react({
- include: ['**/react/*'],
- }),
- solid({
- include: ['**/solid/*'],
- }),
- ],
-});
-```
-
-### Children parsing
-
-Children passed into a React component from an Astro component are parsed as plain strings, not React nodes.
-
-For example, the `` below will only receive a single child element:
-
-```astro
----
-import ReactComponent from './ReactComponent';
----
-
-
-
one
-
two
-
-```
-
-If you are using a library that _expects_ more than one child element to be passed, for example so that it can slot certain elements in different places, you might find this to be a blocker.
-
-You can set the experimental flag `experimentalReactChildren` to tell Astro to always pass children to React as React vnodes. There is some runtime cost to this, but it can help with compatibility.
-
-You can enable this option in the configuration for the React integration:
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import react from '@astrojs/react';
-
-export default defineConfig({
- // ...
- integrations: [
- react({
- experimentalReactChildren: true,
- }),
- ],
-});
-```
+## Contributing
-## Troubleshooting
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
-For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help!
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
-You can also check our [Astro Integration Documentation][astro-integration] for more on integrations.
+## License
-## Contributing
+MIT
-This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!
+Copyright (c) 2023–present [Astro][astro]
-[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
-[astro-ui-frameworks]: https://docs.astro.build/en/core-concepts/framework-components/#using-framework-components
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/integrations-guide/react/
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
\ No newline at end of file
diff --git a/packages/integrations/sitemap/README.md b/packages/integrations/sitemap/README.md
index 6272feaa75e2..ecfe242dd3ce 100644
--- a/packages/integrations/sitemap/README.md
+++ b/packages/integrations/sitemap/README.md
@@ -2,358 +2,37 @@
This **[Astro integration][astro-integration]** generates a sitemap based on your pages when you build your Astro project.
-- [Why Astro Sitemap](#why-astro-sitemap)
-- [Installation](#installation)
-- [Usage](#usage)
-- [Configuration](#configuration)
-- [Examples](#examples)
-- [Troubleshooting](#troubleshooting)
-- [Contributing](#contributing)
-- [Changelog](#changelog)
+## Documentation
-## Why Astro Sitemap
+Read the [`@astrojs/sitemap` docs][docs]
-A Sitemap is an XML file that outlines all of the pages, videos, and files on your site. Search engines like Google read this file to crawl your site more efficiently. [See Google's own advice on sitemaps](https://developers.google.com/search/docs/advanced/sitemaps/overview) to learn more.
+## Support
-A sitemap file is recommended for large multi-page sites. If you don't use a sitemap, most search engines will still be able to list your site's pages, but a sitemap is a great way to ensure that your site is as search engine friendly as possible.
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-With Astro Sitemap, you don't have to worry about creating this XML file yourself: the Astro Sitemap integration will crawl your statically-generated routes and create the sitemap file, including [dynamic routes](https://docs.astro.build/en/core-concepts/routing/#dynamic-routes) like `[...slug]` or `src/pages/[lang]/[version]/info.astro` generated by `getStaticPaths()`.
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-This integration cannot generate sitemap entries for dynamic routes in [SSR mode](https://docs.astro.build/en/guides/server-side-rendering/).
+- Submit bug reports and feature requests as [GitHub issues][issues].
-## Installation
-
-### Quick Install
-
-The `astro add` command-line tool automates the installation for you. Run one of the following commands in a new terminal window. (If you aren't sure which package manager you're using, run the first command.) Then, follow the prompts, and type "y" in the terminal (meaning "yes") for each one.
-
-```sh
-# Using NPM
-npx astro add sitemap
-# Using Yarn
-yarn astro add sitemap
-# Using PNPM
-pnpm astro add sitemap
-```
-
-If you run into any issues, [feel free to report them to us on GitHub](https://github.com/withastro/astro/issues) and try the manual installation steps below.
-
-### Manual Install
-
-First, install the `@astrojs/sitemap` package using your package manager. If you're using npm or aren't sure, run this in the terminal:
-
-```sh
-npm install @astrojs/sitemap
-```
-
-Then, apply this integration to your `astro.config.*` file using the `integrations` property:
-
-```diff lang="js" "sitemap()"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
-+ import sitemap from '@astrojs/sitemap';
-
- export default defineConfig({
- // ...
- integrations: [sitemap()],
- // ^^^^^^^^^
- });
-```
-
-## Usage
-
-`@astrojs/sitemap` requires a deployment / site URL for generation. Add your site's URL under your `astro.config.*` using the `site` property. This must begin with `http:` or `https:`.
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import sitemap from '@astrojs/sitemap';
-
-export default defineConfig({
- // ...
- site: 'https://stargazers.club',
- integrations: [sitemap()],
-});
-```
-
-Note that unlike other configuration options, `site` is set in the root `defineConfig` object, rather than inside the `sitemap()` call.
-
-Now, [build your site for production](https://docs.astro.build/en/reference/cli-reference/#astro-build) via the `astro build` command. You will find both `sitemap-index.xml` and `sitemap-0.xml` in the `dist/` folder (or your custom [output directory](https://docs.astro.build/en/reference/configuration-reference/#outdir) if set).
-
-> **Warning**
-> If you forget to add a `site`, you'll get a friendly warning when you build, and the `sitemap-index.xml` file won't be generated.
-
-After verifying that the sitemaps are built, you can add them to your site's `` and the `robots.txt` file for crawlers to pick up.
-
-```diff lang="html"
-
-
-+
-
-```
-
-```diff
- # public/robots.txt
- User-agent: *
- Allow: /
-
-+ Sitemap: https:///sitemap-index.xml
-```
-
-### Example of generated files for a two-page website
-
-```xml title="sitemap-index.xml"
-
-
-
- https://stargazers.club/sitemap-0.xml
-
-
-```
-
-```xml title="sitemap-0.xml"
-
-
-
- https://stargazers.club/
-
-
- https://stargazers.club/second-page/
-
-
-```
-
-## Configuration
-
-To configure this integration, pass an object to the `sitemap()` function call in `astro.config.mjs`.
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import sitemap from '@astrojs/sitemap';
-
-export default defineConfig({
- integrations: [
- sitemap({
- // configuration options
- }),
- ],
-});
-```
-
-### filter
-
-All pages are included in your sitemap by default. By adding a custom `filter` function, you can filter included pages by URL.
-
-```js
-// astro.config.mjs
-// ...
-sitemap({
- filter: (page) => page !== 'https://stargazers.club/secret-vip-lounge/',
-});
-```
-
-The function will be called for every page on your site. The `page` function parameter is the full URL of the page currently under considering, including your `site` domain. Return `true` to include the page in your sitemap, and `false` to leave it out.
-
-To filter multiple pages, add arguments with target URLs.
-
-```js
-// astro.config.mjs
-// ...
-sitemap({
- filter: (page) =>
- page !== 'https://stargazers.club/secret-vip-lounge-1/' &&
- page !== 'https://stargazers.club/secret-vip-lounge-2/' &&
- page !== 'https://stargazers.club/secret-vip-lounge-3/' &&
- page !== 'https://stargazers.club/secret-vip-lounge-4/',
-});
-```
-
-### customPages
-
-In some cases, a page might be part of your deployed site but not part of your Astro project. If you'd like to include a page in your sitemap that _isn't_ created by Astro, you can use this option.
-
-```js
-// astro.config.mjs
-// ...
-sitemap({
- customPages: ['https://stargazers.club/external-page', 'https://stargazers.club/external-page2'],
-});
-```
-
-### entryLimit
-
-The maximum number entries per sitemap file. The default value is 45000. A sitemap index and multiple sitemaps are created if you have more entries. See this [explanation of splitting up a large sitemap](https://developers.google.com/search/docs/advanced/sitemaps/large-sitemaps).
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import sitemap from '@astrojs/sitemap';
-
-export default defineConfig({
- site: 'https://stargazers.club',
- integrations: [
- sitemap({
- entryLimit: 10000,
- }),
- ],
-});
-```
-
-### changefreq, lastmod, and priority
-
-These options correspond to the ``, ``, and `` tags in the [Sitemap XML specification.](https://www.sitemaps.org/protocol.html)
-
-Note that `changefreq` and `priority` are ignored by Google.
-
-> **Note**
-> Due to limitations of Astro's [Integration API](https://docs.astro.build/en/reference/integrations-reference/), this integration can't analyze a given page's source code. This configuration option can set `changefreq`, `lastmod` and `priority` on a _site-wide_ basis; see the next option **serialize** for how you can set these values on a per-page basis.
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import sitemap from '@astrojs/sitemap';
-
-export default defineConfig({
- site: 'https://stargazers.club',
- integrations: [
- sitemap({
- changefreq: 'weekly',
- priority: 0.7,
- lastmod: new Date('2022-02-24'),
- }),
- ],
-});
-```
-
-### serialize
-
-A function called for each sitemap entry just before writing to a disk. This function can be asynchronous.
-
-It receives as its parameter a `SitemapItem` object that can have these properties:
-
-- `url` (absolute page URL). This is the only property that is guaranteed to be on `SitemapItem`.
-- `changefreq`
-- `lastmod` (ISO formatted date, `String` type)
-- `priority`
-- `links`.
-
-This `links` property contains a `LinkItem` list of alternate pages including a parent page.
-
-The `LinkItem` type has two fields: `url` (the fully-qualified URL for the version of this page for the specified language) and `lang` (a supported language code targeted by this version of the page).
-
-The `serialize` function should return `SitemapItem`, touched or not.
-
-The example below shows the ability to add sitemap specific properties individually.
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import sitemap from '@astrojs/sitemap';
-
-export default defineConfig({
- site: 'https://stargazers.club',
- integrations: [
- sitemap({
- serialize(item) {
- if (/exclude-from-sitemap/.test(item.url)) {
- return undefined;
- }
- if (/your-special-page/.test(item.url)) {
- item.changefreq = 'daily';
- item.lastmod = new Date();
- item.priority = 0.9;
- }
- return item;
- },
- }),
- ],
-});
-```
-
-### i18n
-
-To localize a sitemap, pass an object to this `i18n` option.
-
-This object has two required properties:
-
-- `defaultLocale`: `String`. Its value must exist as one of `locales` keys.
-- `locales`: `Record`, key/value - pairs. The key is used to look for a locale part in a page path. The value is a language attribute, only English alphabet and hyphen allowed.
-
-[Read more about language attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang).
-
-[Read more about localization](https://developers.google.com/search/docs/advanced/crawling/localized-versions#all-method-guidelines).
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import sitemap from '@astrojs/sitemap';
-
-export default defineConfig({
- site: 'https://stargazers.club',
- integrations: [
- sitemap({
- i18n: {
- defaultLocale: 'en', // All urls that don't contain `es` or `fr` after `https://stargazers.club/` will be treated as default locale, i.e. `en`
- locales: {
- en: 'en-US', // The `defaultLocale` value must present in `locales` keys
- es: 'es-ES',
- fr: 'fr-CA',
- },
- },
- }),
- ],
-});
-```
-
-The resulting sitemap looks like this:
-
-```xml
-...
-
- https://stargazers.club/
-
-
-
-
-
- https://stargazers.club/es/
-
-
-
-
-
- https://stargazers.club/fr/
-
-
-
-
-
- https://stargazers.club/es/second-page/
-
-
-
-
-...
-```
-
-## Examples
-
-- The official Astro website uses Astro Sitemap to generate [its sitemap](https://astro.build/sitemap-index.xml).
-- [Browse projects with Astro Sitemap on GitHub](https://github.com/search?q=%22%40astrojs%2Fsitemap%22+path%3Apackage.json&type=Code) for more examples!
-
-## Troubleshooting
-
-For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help!
+## Contributing
-You can also check our [Astro Integration Documentation][astro-integration] for more on integrations.
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
-## Contributing
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
-This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!
+## License
-## Changelog
+MIT
-See [CHANGELOG.md](CHANGELOG.md) for a history of changes to this integration.
+Copyright (c) 2023–present [Astro][astro]
-[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/integrations-guide/sitemap/
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
\ No newline at end of file
diff --git a/packages/integrations/solid/README.md b/packages/integrations/solid/README.md
index e82cd5e18f36..89b434a04ff0 100644
--- a/packages/integrations/solid/README.md
+++ b/packages/integrations/solid/README.md
@@ -2,111 +2,37 @@
This **[Astro integration][astro-integration]** enables server-side rendering and client-side hydration for your [SolidJS](https://www.solidjs.com/) components.
-## Installation
+## Documentation
-There are two ways to add integrations to your project. Let's try the most convenient option first!
+Read the [`@astrojs/solid-js` docs][docs]
-### `astro add` command
+## Support
-Astro includes a CLI tool for adding first party integrations: `astro add`. This command will:
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-1. (Optionally) Install all necessary dependencies and peer dependencies
-2. (Also optionally) Update your `astro.config.*` file to apply this integration
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-To install `@astrojs/solid-js`, run the following from your project directory and follow the prompts:
+- Submit bug reports and feature requests as [GitHub issues][issues].
-```sh
-# Using NPM
-npx astro add solid
-# Using Yarn
-yarn astro add solid
-# Using PNPM
-pnpm astro add solid
-```
-
-If you run into any issues, [feel free to report them to us on GitHub](https://github.com/withastro/astro/issues) and try the manual installation steps below.
-
-### Install dependencies manually
-
-First, install the `@astrojs/solid-js` integration like so:
-
-```sh
-npm install @astrojs/solid-js
-```
-
-Most package managers will install associated peer dependencies as well. Still, if you see a "Cannot find package 'solid-js'" (or similar) warning when you start up Astro, you'll need to install SolidJS:
-
-```sh
-npm install solid-js
-```
-
-Now, apply this integration to your `astro.config.*` file using the `integrations` property:
-
-```diff lang="js" "solid()"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
-+ import solid from '@astrojs/solid-js';
-
- export default defineConfig({
- // ...
- integrations: [solid()],
- // ^^^^^^^
- });
-```
-
-## Getting started
-
-To use your first SolidJS component in Astro, head to our [UI framework documentation][astro-ui-frameworks]. You'll explore:
-
-- 📦 how framework components are loaded,
-- 💧 client-side hydration options, and
-- 🤝 opportunities to mix and nest frameworks together
-
-## Options
-
-### Combining multiple JSX frameworks
-
-When you are using multiple JSX frameworks (React, Preact, Solid) in the same project, Astro needs to determine which JSX framework-specific transformations should be used for each of your components. If you have only added one JSX framework integration to your project, no extra configuration is needed.
-
-Use the `include` (required) and `exclude` (optional) configuration options to specify which files belong to which framework. Provide an array of files and/or folders to `include` for each framework you are using. Wildcards may be used to include multiple file paths.
-
-We recommend placing common framework components in the same folder (e.g. `/components/react/` and `/components/solid/`) to make specifying your includes easier, but this is not required:
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import preact from '@astrojs/preact';
-import react from '@astrojs/react';
-import svelte from '@astrojs/svelte';
-import vue from '@astrojs/vue';
-import solid from '@astrojs/solid-js';
-
-export default defineConfig({
- // Enable many frameworks to support all different kinds of components.
- // No `include` is needed if you are only using a single JSX framework!
- integrations: [
- preact({
- include: ['**/preact/*'],
- }),
- react({
- include: ['**/react/*'],
- }),
- solid({
- include: ['**/solid/*'],
- }),
- ],
-});
-```
+## Contributing
-## Troubleshooting
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
-For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help!
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
-You can also check our [Astro Integration Documentation][astro-integration] for more on integrations.
+## License
-## Contributing
+MIT
-This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!
+Copyright (c) 2023–present [Astro][astro]
-[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
-[astro-ui-frameworks]: https://docs.astro.build/en/core-concepts/framework-components/#using-framework-components
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/integrations-guide/solid-js/
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
\ No newline at end of file
diff --git a/packages/integrations/svelte/README.md b/packages/integrations/svelte/README.md
index 25513790bae7..0e71a3c35642 100644
--- a/packages/integrations/svelte/README.md
+++ b/packages/integrations/svelte/README.md
@@ -2,131 +2,37 @@
This **[Astro integration][astro-integration]** enables server-side rendering and client-side hydration for your [Svelte](https://svelte.dev/) components. It supports Svelte 3, 4, and 5 (experimental).
-## Installation
+## Documentation
-There are two ways to add integrations to your project. Let's try the most convenient option first!
+Read the [`@astrojs/svelte` docs][docs]
-### `astro add` command
+## Support
-Astro includes a CLI tool for adding first party integrations: `astro add`. This command will:
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-1. (Optionally) Install all necessary dependencies and peer dependencies
-2. (Also optionally) Update your `astro.config.*` file to apply this integration
+- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
-To install `@astrojs/svelte`, run the following from your project directory and follow the prompts:
-
-```sh
-# Using NPM
-npx astro add svelte
-# Using Yarn
-yarn astro add svelte
-# Using PNPM
-pnpm astro add svelte
-```
-
-If you run into any issues, [feel free to report them to us on GitHub](https://github.com/withastro/astro/issues) and try the manual installation steps below.
-
-### Install dependencies manually
-
-First, install the `@astrojs/svelte` integration like so:
-
-```sh
-npm install @astrojs/svelte
-```
-
-Most package managers will install associated peer dependencies as well. Still, if you see a "Cannot find package 'svelte'" (or similar) warning when you start up Astro, you'll need to install Svelte:
-
-```sh
-npm install svelte
-```
-
-Now, apply this integration to your `astro.config.*` file using the `integrations` property:
-
-```diff lang="js" "svelte()"
- // astro.config.mjs
- import { defineConfig } from 'astro/config';
-+ import svelte from '@astrojs/svelte';
-
- export default defineConfig({
- // ...
- integrations: [svelte()],
- // ^^^^^^^^
- });
-```
-
-## Getting started
-
-To use your first Svelte component in Astro, head to our [UI framework documentation][astro-ui-frameworks]. You'll explore:
-
-- 📦 how framework components are loaded,
-- 💧 client-side hydration options, and
-- 🤝 opportunities to mix and nest frameworks together
-
-## Troubleshooting
-
-For help, check out the `#support` channel on [Discord](https://astro.build/chat). Our friendly Support Squad members are here to help!
-
-You can also check our [Astro Integration Documentation][astro-integration] for more on integrations.
+- Submit bug reports and feature requests as [GitHub issues][issues].
## Contributing
-This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!
-
-[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
-[astro-ui-frameworks]: https://docs.astro.build/en/core-concepts/framework-components/#using-framework-components
-
-## Options
-
-This integration is powered by `@sveltejs/vite-plugin-svelte`. To customize the Svelte compiler, options can be provided to the integration. See the [`@sveltejs/vite-plugin-svelte` docs](https://github.com/sveltejs/vite-plugin-svelte/blob/HEAD/docs/config.md) for more details.
-
-### Default options
-
-This integration passes the following default options to the Svelte compiler:
-
-```js
-const defaultOptions = {
- emitCss: true,
- compilerOptions: { dev: isDev, hydratable: true },
- preprocess: vitePreprocess(),
-};
-```
-
-These `emitCss`, `compilerOptions.dev`, and `compilerOptions.hydratable` values are required to build properly for Astro and cannot be overridden.
-
-Providing your own `preprocess` options **will** override the [`vitePreprocess()`](https://github.com/sveltejs/vite-plugin-svelte/blob/HEAD/docs/preprocess.md) default. Make sure to enable the preprocessor flags needed for your project.
-
-You can set options either by passing them to the `svelte` integration in `astro.config.mjs` or in `svelte.config.js`. Either of these would override the default `preprocess` setting:
-
-```js
-// astro.config.mjs
-import { defineConfig } from 'astro/config';
-import svelte from '@astrojs/svelte';
-
-export default defineConfig({
- integrations: [svelte({ preprocess: [] })],
-});
-```
-
-```js
-// svelte.config.js
-export default {
- preprocess: [],
-};
-```
-
-## Intellisense for TypeScript
+This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
-**Added in:** `@astrojs/svelte@2.0.0`
+- [Contributor Manual][contributing]
+- [Code of Conduct][coc]
+- [Community Guide][community]
-If you're using a preprocessor like TypeScript or SCSS in your Svelte files, you can create a `svelte.config.js` file so that the Svelte IDE extension can correctly parse the Svelte files.
+## License
-```js
-// svelte.config.js
-import { vitePreprocess } from '@astrojs/svelte';
+MIT
-export default {
- preprocess: vitePreprocess(),
-};
-```
+Copyright (c) 2023–present [Astro][astro]
-This config file will be automatically added for you when you run `astro add svelte`.
+[astro]: https://astro.build/
+[docs]: https://docs.astro.build/en/guides/integrations-guide/svelte/
+[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
+[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
+[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
+[discord]: https://astro.build/chat/
+[issues]: https://github.com/withastro/astro/issues
+[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
\ No newline at end of file
diff --git a/packages/integrations/tailwind/README.md b/packages/integrations/tailwind/README.md
index 6cbfd7adab71..b85d143b127b 100644
--- a/packages/integrations/tailwind/README.md
+++ b/packages/integrations/tailwind/README.md
@@ -2,225 +2,37 @@
This **[Astro integration][astro-integration]** brings [Tailwind's](https://tailwindcss.com/) utility CSS classes to every `.astro` file and [framework component](https://docs.astro.build/en/core-concepts/framework-components/) in your project, along with support for the Tailwind configuration file.
-- [Why Tailwind](#why-tailwind)
-- [Installation](#installation)
-- [Usage](#usage)
-- [Configuration](#configuration)
-- [Examples](#examples)
-- [Troubleshooting](#troubleshooting)
-- [Contributing](#contributing)
-- [Changelog](#changelog)
+## Documentation
-## Why Tailwind?
+Read the [`@astrojs/tailwind` docs][docs]
-Tailwind lets you use utility classes instead of writing CSS. These utility classes are mostly one-to-one with a certain CSS property setting: for example, adding the `text-lg` to an element is equivalent to setting `font-size: 1.125rem` in CSS. You might find it easier to write and maintain your styles using these predefined utility classes!
+## Support
-If you don't like those predefined settings, you can [customize the Tailwind configuration file](https://tailwindcss.com/docs/configuration) to your project's design requirements. For example, if the "large text" in your design is actually `2rem`, you can [change the `lg` fontSize setting](https://tailwindcss.com/docs/font-size#customizing-your-theme) to `2rem`.
+- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
-Tailwind is also a great choice to add styles to React, Preact, or Solid components, which don't support a `