Skip to content
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

Integration Docs Next Steps #3677

Merged
merged 28 commits into from
Jun 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
cc55b31
sitemap readme skeleton + first sections
Jutanium Jun 16, 2022
05db64c
Revert "sitemap readme skeleton + first sections"
Jutanium Jun 16, 2022
5fa43e9
sitemap readme skeleton + first sections
Jutanium Jun 16, 2022
a19667f
remove canonicalURL option from sitemap
Jutanium Jun 16, 2022
2d28492
add customPages option to readme
Jutanium Jun 16, 2022
dc08a2c
sitemap examples
Jutanium Jun 16, 2022
512d981
partytown
Jutanium Jun 17, 2022
6ddb4b3
deno run command
Jutanium Jun 21, 2022
bfc3413
reference deno example
Jutanium Jun 21, 2022
1b3018c
node readme
Jutanium Jun 21, 2022
46bca54
netlify & vercel readmes
Jutanium Jun 22, 2022
b52cc36
note that telemetry is installed
Jutanium Jun 22, 2022
95aa662
telemetry is *enabled*, not installed
Jutanium Jun 22, 2022
6f3267b
Update packages/integrations/vercel/README.md
Jutanium Jun 23, 2022
127665e
Update packages/integrations/vercel/README.md
Jutanium Jun 24, 2022
6fd03b6
readme -> README
Jutanium Jun 29, 2022
d5c00d3
Update packages/integrations/deno/readme.md
Jutanium Jun 29, 2022
6afea36
Update packages/integrations/deno/readme.md
Jutanium Jun 29, 2022
163e806
qualify they
Jutanium Jun 29, 2022
c572c70
Merge branch 'integration-docs' of https://github.com/withastro/astro…
Jutanium Jun 29, 2022
a44e692
Update packages/integrations/sitemap/README.md
Jutanium Jun 29, 2022
1ed9f43
new netlify and sitemap options; resolve canonicalURL removal conflict
Jutanium Jun 29, 2022
c5a3413
new netlify and sitemap options; resolve canonicalURL removal conflict
Jutanium Jun 29, 2022
e74dae7
Merge branch 'main' into integration-docs
Jutanium Jun 29, 2022
7661291
Uppercase README names
delucis Jun 29, 2022
fd9cb9d
Update packages/integrations/partytown/README.md
Jutanium Jun 29, 2022
4edf920
imports -> import typo
Jutanium Jun 29, 2022
077baaa
update changeset
Jutanium Jun 29, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .changeset/yellow-cameras-ring.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
'@astrojs/deno': patch
'@astrojs/netlify': patch
'@astrojs/node': patch
'@astrojs/partytown': patch
'@astrojs/sitemap': patch
'@astrojs/vercel': patch
'@astrojs/telemetry': patch
---

Update READMEs
139 changes: 139 additions & 0 deletions packages/integrations/deno/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# @astrojs/deno 🦖

This adapter allows Astro to deploy your SSR site to Deno targets.

- <strong>[Why Astro Deno](#why-astro-deno)</strong>
- <strong>[Installation](#installation)</strong>
- <strong>[Usage](#usage)</strong>
- <strong>[Configuration](#configuration)</strong>
- <strong>[Examples](#examples)</strong>
- <strong>[Troubleshooting](#troubleshooting)</strong>
- <strong>[Contributing](#contributing)</strong>
- <strong>[Changelog](#changelog)</strong>

## Why Astro Deno

If you're using Astro as a static site builder—its behavior out of the box—you don't need an adapter.

If you wish to [use server-side rendering (SSR)](https://docs.astro.build/en/guides/server-side-rendering/), Astro requires an adapter that matches your deployment runtime.

[Deno](https://deno.land/) is a runtime similar to Node, but with an API that's more similar to the browser's API. This adapter provides access to Deno's API and creates a script to run your project on a Deno server.

## Installation

First, install the `@astrojs/deno` package using your package manager. If you're using npm or aren't sure, run this in the terminal:
```sh
npm install @astrojs/deno
```

Then, install this adapter in your `astro.config.*` file using the `adapter` property:

__astro.config.mjs__

```js
import { defineConfig } from 'astro/config';
import deno from '@astrojs/deno';

export default defineConfig({
// ...
adapter: deno()
});
```

## Usage

After [performing a build](https://docs.astro.build/en/guides/deploy/#building-the-app) there will be a `dist/server/entry.mjs` module. You can start a server by importing this module in your Deno app:

```js
import './dist/entry.mjs';
```

See the `start` option below for how you can have more control over starting the Astro server.

You can also run the script directly using deno:
```
deno run --allow-net --allow-read --allow-env ./dist/server/entry.mjs
```


## Configuration

To configure this adapter, pass an object to the `deno()` function call in `astro.config.mjs`.

__astro.config.mjs__
```js
import { defineConfig } from 'astro/config';
import deno from '@astrojs/deno';

export default defineConfig({
adapter: deno({
//options go here
})
});
```

<details>
<summary><strong>start</strong></summary>

<br/>

This adapter automatically starts a server when it is imported. You can turn this off with the `start` option:

```js
import { defineConfig } from 'astro/config';
import deno from '@astrojs/deno';

export default defineConfig({
adapter: deno({
start: false
})
});
```

If you disable this, you need to write your own Deno web server. Import and call `handle` from the generated entry script to render requests:

```ts
import { serve } from "https://deno.land/[email protected]/http/server.ts";
import { handle } from './dist/entry.mjs';

serve((req: Request) => {
// Check the request, maybe do static file handling here.

return handle(req);
});
```
</details>

<details>
<summary><strong>port</strong> and <strong>hostname</strong></summary>

<br/>

You can set the port (default: `8085`) and hostname (default: `0.0.0.0`) for the deno server to use. If `start` is false, this has no effect; your own server must configure the port and hostname.

```js
import { defineConfig } from 'astro/config';
import deno from '@astrojs/deno';

export default defineConfig({
adapter: deno({
port: 8081,
hostname: 'myhost'
})
});
```
</details>

## Examples

The [Astro Deno](https://github.com/withastro/astro/tree/main/examples/deno) example includes a `preview:deno` command that runs the entry script directly. Run `npm run build` then `npm run preview:deno` to run the production deno server.

## Troubleshooting

## Contributing

This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!

## Changelog

[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
66 changes: 0 additions & 66 deletions packages/integrations/deno/readme.md

This file was deleted.

94 changes: 78 additions & 16 deletions packages/integrations/netlify/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,36 @@
# @astrojs/netlify

Deploy your server-side rendered (SSR) Astro app to [Netlify](https://www.netlify.com/).
This adapter allows Astro to deploy your SSR site to [Netlify](https://www.netlify.com/).

Use this adapter in your Astro configuration file, alongside a valid deployment URL:
- <strong>[Why Astro Netlify](#why-astro-netlify)</strong>
- <strong>[Installation](#installation)</strong>
- <strong>[Usage](#usage)</strong>
- <strong>[Configuration](#configuration)</strong>
- <strong>[Examples](#examples)</strong>
- <strong>[Troubleshooting](#troubleshooting)</strong>
- <strong>[Contributing](#contributing)</strong>
- <strong>[Changelog](#changelog)</strong>


## Why Astro Netlify

If you're using Astro as a static site builder—its behavior out of the box—you don't need an adapter.
delucis marked this conversation as resolved.
Show resolved Hide resolved

If you wish to [use server-side rendering (SSR)](https://docs.astro.build/en/guides/server-side-rendering/), Astro requires an adapter that matches your deployment runtime.

[Netlify](https://www.netlify.com/) is a deployment platform that allows you to host your site by connecting directly to your GitHub repository. This adapter enhances the Astro build process to prepare your project for deployment through Netlify.


## Installation

First, install the `@astrojs/netlify` package using your package manager. If you're using npm or aren't sure, run this in the terminal:
```sh
npm install @astrojs/netlify
```

Then, install this adapter in your `astro.config.*` file using the `adapter` property. Note: there are two different adapters, one for Netlify Functions and one for Edge Functions. See [Edge Functions](#edge-functions) below on importing the latter.

__astro.config.mjs__

```js
import { defineConfig } from 'astro/config';
Expand All @@ -13,15 +41,7 @@ export default defineConfig({
});
```

After you build your site the `netlify/` folder will contain [Netlify Functions](https://docs.netlify.com/functions/overview/) in the `netlify/functions/` folder.

Now you can deploy!

```shell
netlify deploy --build
```

## Edge Functions
### Edge Functions

Netlify has two serverless platforms, Netlify Functions and Netlify Edge Functions. With Edge Functions your code is distributed closer to your users, lowering latency. You can use Edge Functions by changing the import in your astro configuration file:

Expand All @@ -34,12 +54,31 @@ export default defineConfig({
adapter: netlify(),
});
```
## Usage

[Read the full deployment guide here.](https://docs.astro.build/en/guides/deploy/vercel)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to highlight these links a little more? Like this potentially?

Suggested change
[Read the full deployment guide here.](https://docs.astro.build/en/guides/deploy/vercel)
📚 **[Read the full deployment guide here.](https://docs.astro.build/en/guides/deploy/vercel)**


After [performing a build](https://docs.astro.build/en/guides/deploy/#building-the-app) the `netlify/` folder will contain [Netlify Functions](https://docs.netlify.com/functions/overview/) in the `netlify/functions/` folder.

Now you can deploy. Install the [Netlify CLI](https://docs.netlify.com/cli/get-started/) and run:

```shell
netlify deploy --build
```

The [Netlify Blog post on Astro](https://www.netlify.com/blog/how-to-deploy-astro/) and the [Netlify Documentation](https://docs.netlify.com/integrations/frameworks/astro/) provide more information on how to use this integration to deploy to Netlify.


## Configuration

### dist
To configure this adapter, pass an object to the `netlify()` function call in `astro.config.mjs` - there's only one possible configuration option:

We build to a `dist` directory at the base of your project. To change this, use the `dist` option:
<details>
Jutanium marked this conversation as resolved.
Show resolved Hide resolved
<summary><strong>dist</strong></summary>

<br/>

We build to the `dist` directory at the base of your project. To change this, use the `dist` option:

```js
import { defineConfig } from 'astro/config';
Expand All @@ -56,14 +95,19 @@ And then point to the dist in your `netlify.toml`:

```toml
[functions]
directory = "dist/functions"
directory = "dist/functions"
```

### binaryMediaTypes
</details>

<details>
<summary>
<strong>binaryMediaTypes</strong>
</summary>

> This option is only needed for the Functions adapter and is not needed for Edge Functions.

Netlify Functions sending binary data in the `body` need to be base64 encoded. The `@astrojs/netlify/functions` adapter handles this automatically based on the `Content-Type` header.
Netlify Functions requires binary data in the `body` to be base64 encoded. The `@astrojs/netlify/functions` adapter handles this automatically based on the `Content-Type` header.

We check for common mime types for audio, image, and video files. To include specific mime types that should be treated as binary data, include the `binaryMediaTypes` option with a list of binary mime types.

Expand All @@ -82,3 +126,21 @@ export function get() {
});
}
```
</details>

## Examples

- The [Astro Netlify Edge Starter](https://github.com/sarahetter/astro-netlify-edge-starter) provides an example and a guide in the README.

- [Browse Astro Netlify projects on GitHub](https://github.com/search?q=%22%40astrojs%2Fnetlify%22+filename%3Apackage.json&type=Code) for more examples!

## Troubleshooting

## Contributing

This package is maintained by Astro's Core team. You're welcome to submit an issue or PR!

## Changelog

[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/

Loading