-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathnetlify.toml
More file actions
138 lines (109 loc) · 3.08 KB
/
netlify.toml
File metadata and controls
138 lines (109 loc) · 3.08 KB
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Netlify Configuration for Solana MCP Server
# This configuration deploys the Jekyll documentation site and provides
# serverless function support for the MCP server API
[build]
# Build command for Jekyll site
command = "bundle install && bundle exec jekyll build"
# Output directory for built site
publish = "_site"
# Environment variables for build
[build.environment]
RUBY_VERSION = "3.2.0"
JEKYLL_ENV = "production"
# Build settings
[build.processing]
skip_processing = false
[build.processing.css]
bundle = true
minify = true
[build.processing.js]
bundle = true
minify = true
[build.processing.html]
pretty_urls = true
[build.processing.images]
compress = true
# Headers for security and caching
[[headers]]
for = "/*"
[headers.values]
X-Frame-Options = "DENY"
X-Content-Type-Options = "nosniff"
Referrer-Policy = "strict-origin-when-cross-origin"
Permissions-Policy = "geolocation=(), microphone=(), camera=()"
Content-Security-Policy = "default-src 'self'; script-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; img-src 'self' data: https:; font-src 'self' https://cdn.jsdelivr.net;"
[[headers]]
for = "/*.js"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
[[headers]]
for = "/*.css"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
[[headers]]
for = "/*.html"
[headers.values]
Cache-Control = "public, max-age=3600, must-revalidate"
# Redirects for clean URLs
[[redirects]]
from = "/docs"
to = "/docs/"
status = 301
force = true
[[redirects]]
from = "/api"
to = "/docs/api-reference/"
status = 301
[[redirects]]
from = "/deployment"
to = "/docs/deployment/"
status = 301
[[redirects]]
from = "/config"
to = "/docs/configuration/"
status = 301
[[redirects]]
from = "/examples"
to = "/docs/examples/"
status = 301
# Redirect for GitHub Pages compatibility
[[redirects]]
from = "/solana-mcp-server/*"
to = "/:splat"
status = 301
force = false
# 404 page
[[redirects]]
from = "/*"
to = "/404.html"
status = 404
# Plugin configuration
[[plugins]]
package = "@netlify/plugin-lighthouse"
[plugins.inputs]
# Performance audits
output_path = "reports/lighthouse.html"
# Context-specific settings
[context.production]
command = "bundle install && bundle exec jekyll build"
[context.production.environment]
JEKYLL_ENV = "production"
[context.deploy-preview]
command = "bundle install && bundle exec jekyll build --drafts --future"
[context.branch-deploy]
command = "bundle install && bundle exec jekyll build --drafts --future"
# Functions configuration (for future serverless API support)
[functions]
directory = "netlify/functions"
# Node.js runtime version
node_bundler = "esbuild"
# Dev server configuration
[dev]
command = "bundle exec jekyll serve --livereload --drafts"
framework = "#custom"
targetPort = 4000
publish = "_site"