92 lines
2.4 KiB
Markdown
92 lines
2.4 KiB
Markdown
|
---
|
||
|
title: "Netlify"
|
||
|
description: "Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers."
|
||
|
lead: "Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers."
|
||
|
date: 2020-09-21T15:58:12+02:00
|
||
|
lastmod: 2020-09-21T15:58:12+02:00
|
||
|
draft: false
|
||
|
images: []
|
||
|
menu:
|
||
|
docs:
|
||
|
parent: "core-hyas"
|
||
|
weight: 260
|
||
|
toc: true
|
||
|
---
|
||
|
|
||
|
```bash
|
||
|
.
|
||
|
├── assets/
|
||
|
│ └── lambda/
|
||
|
├── layouts/
|
||
|
│ ├── index.headers
|
||
|
│ └── index.redirects
|
||
|
└── netlify.toml
|
||
|
```
|
||
|
|
||
|
See also the Hugo Docs: [Host on Netlify](https://gohugo.io/hosting-and-deployment/hosting-on-netlify/).
|
||
|
|
||
|
## Functions
|
||
|
|
||
|
Functions in `./assets/lambda/` are compiled on build to `./functions/`.
|
||
|
|
||
|
See also the Netlify docs: [Functions overview](https://docs.netlify.com/functions/overview/)
|
||
|
|
||
|
## Redirects
|
||
|
|
||
|
`./layouts/index.redirects` is converted on build to `./public/_redirects`.
|
||
|
|
||
|
```bash
|
||
|
{{ range $pages := .Site.Pages -}}
|
||
|
{{ range .Aliases -}}
|
||
|
{{ . }} {{ $pages.RelPermalink -}}
|
||
|
{{ end -}}
|
||
|
{{ end -}}
|
||
|
```
|
||
|
|
||
|
See also the Netlify docs: [Redirects and rewrites](https://docs.netlify.com/routing/redirects/)
|
||
|
|
||
|
## Headers
|
||
|
|
||
|
`./layouts/index.headers` is converted on build to `./public/_headers`.
|
||
|
|
||
|
```bash
|
||
|
/*
|
||
|
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
|
||
|
X-Content-Type-Options: nosniff
|
||
|
X-XSS-Protection: 1; mode=block
|
||
|
Content-Security-Policy: default-src 'none'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'
|
||
|
X-Frame-Options: SAMEORIGIN
|
||
|
Referrer-Policy: strict-origin
|
||
|
Feature-Policy: geolocation 'self'
|
||
|
Cache-Control: public, max-age=31536000
|
||
|
```
|
||
|
|
||
|
See also the Netlify docs: [Custom headers](https://docs.netlify.com/routing/headers/)
|
||
|
|
||
|
## Build and deploy
|
||
|
|
||
|
`./netlify.toml`:
|
||
|
|
||
|
```toml
|
||
|
[build]
|
||
|
publish = "public"
|
||
|
functions = "functions"
|
||
|
|
||
|
[build.environment]
|
||
|
HUGO_VERSION = "0.74.3"
|
||
|
NODE_VERSION = "13.11.0"
|
||
|
NPM_VERSION = "6.13.7"
|
||
|
YARN_VERSION = "1.22.4"
|
||
|
|
||
|
[context.production]
|
||
|
command = "hugo -b $URL --gc --minify && npm run build:functions"
|
||
|
|
||
|
[context.deploy-preview]
|
||
|
command = "hugo -b $DEPLOY_PRIME_URL --gc --minify"
|
||
|
|
||
|
[context.branch-deploy]
|
||
|
command = "hugo -b $DEPLOY_PRIME_URL --gc --minify"
|
||
|
```
|
||
|
|
||
|
See also the Netlify docs: [File-based configuration](https://docs.netlify.com/configure-builds/file-based-configuration/)
|