-
Notifications
You must be signed in to change notification settings - Fork 21
/
netlify.toml
110 lines (101 loc) · 3.36 KB
/
netlify.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
[build]
command = "npm run build"
functions = ".netlify/functions"
edge_functions = ".netlify/edge-functions"
[dev]
framework = "eleventy"
publish = "dist"
[[plugins]]
package = "netlify-plugin-cache-folder"
#[[plugins]]
# package = "./plugins/persist-static-directory"
[[redirects]]
from = "/notebook/20*/:slug"
to = "/notebook/:slug"
status = 301
force = true
[[redirects]]
from = "/articles/"
to = "/publications/#articles"
status = 301
force = true
[[redirects]]
from = "/books/"
to = "/publications/#books"
status = 301
force = true
[[redirects]]
from = "/events/"
to = "/speaking-engagements/"
status = 301
force = true
[[redirects]]
from = "/speaking-engagements/:year/:event/:file"
to = "https://github.com/aarongustafson/talks-and-workshops/raw/main/:year/:event/:file"
status = 301
force = true
[[redirects]]
from = "/*"
to = "/404.html?url=:splat"
status = 404
force = false
[[headers]]
for = "*"
[headers.values]
X-Content-Type-Options = "nosniff"
Cache-Control = "public"
[[headers]]
for = "/*.svgz"
[headers.values]
Content-Encoding = "gzip"
[[headers]]
for = "/*.html"
[headers.values]
Content-Security-Policy = "default-src *; script-src 'self' 'unsafe-inline' webmention.io platform.twitter.com syndication.twitter.com cdn.syndication.twimg.com *.vimeo.com *.vimeocdn.com *.codepen.io archive.org; style-src * 'unsafe-inline' *.vimeocdn.com; img-src * data: res.cloudinary.com syndication.twitter.com; connect-src 'self' *.imgur.com *.gravatar.com res.cloudinary.com webmention.io api.github.com *.twitter.com; child-src 'self' www.youtube.com *.twitter.com *.vimeo.com *.vimeocdn.com codepen.io *.slideshare.net *.msdn.com; upgrade-insecure-requests; block-all-mixed-content; frame-src 'self' *.aaron-gustafson.com *.noti.st codepen.io platform.twitter.com www.youtube-nocookie.com *.youtube.com *.slideshare.net *.vimeo.com; report-to default"
Report-To = "{'group':'default','max_age':31536000,'endpoints':[{'url':'https://aarongustafson.report-uri.com/a/d/g'}],'include_subdomains':true}"
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
Timing-Allow-Origin = "*"
Upgrade-Insecure-Requests = "1"
X-UA-Compatible = "ie=edge,chrome=1"
X-XSS-Protection = "1; mode=block"
Link = [
"</c/default.min.css>;as=style;rel=preload",
"</c/advanced.min.css>;as=style;rel=preload",
"</serviceworker.min.js>;as=script;rel=preload",
"</j/main.min.js>;as=script;rel=preload",
"</j/post.min.js>;as=script;rel=preload"
]
[[headers]]
for = "/*.css"
[headers.values]
Cache-Control = "max-age=604800"
[[headers]]
for = "/*.js"
[headers.values]
Cache-Control = "max-age=604800"
[[headers]]
for = "/serviceworker.min.js"
[headers.values]
Cache-Control = "max-age=0"
[[headers]]
for = "/*.json"
[headers.values]
X-Content-Type-Options = "nosniff"
Content-Type = "application/json; charset=utf-8"
[[headers]]
for = "/feeds/*.json"
[headers.values]
Access-Control-Allow-Origin = "*"
Access-Control-Allow-Methods = "GET,HEAD,OPTIONS,POST"
Access-Control-Allow-Headers = "Accept,X-Requested-With,Content-Type,Cache-Control,mode"
Cache-Control = "no-cache"
[functions."deploy-succeeded"]
included_files = ["_cache/*.*"]
[functions]
deno_import_map = "./.netlify/edge-functions/import_map.json"
[[edge_functions]]
path = "/api/latest-links"
function = "latest-links"
[[edge_functions]]
path = "/api/og-image"
function = "og-image"