Ghost/core/shared/config/overrides.json
Kukhyeon Heo 5715aa2155
Added .yaml format support in redirects configuration (#12187)
closes #11085

- Ghost has been using YAML format for other configurations (e.g. routes). The plan is to move to this format for all user-edited settings files. By default JSON format is still used in Ghost Admin API v2/v3, but will be changed to YAML in API v4. Check referenced issue for more context.
- New format supports all the features available before. The main noticeable change is the structure of config file. It is now grouped by redirect HTTP code instead of specifying `"permanent": true | false` attribute for each config property. Example format for YAML config:
```
302:
  /from-url/: /to-url/

301:
  /category/([a-z0-9\-]+)/i: /tag/$1/
  /v([0-9\.]+)/docs/([a-z0-9\-]+)/i: /docs/$2/
```
- Added 2 new endpoints: `POST redirects/upload` and `GET redirects/download`. These serve as an alias to current GET/POST `/redirects/json. "upload/download" naming pattern is introduced to match the convention with other resources that can be uploaded and downloaded (images, themes etc.). `/redirects/json`  endpoints will be removed in Admin API v4
- The parsing code from `custom-redirects.js` has been moved to `frontend/services/redirects/settings.js`. This location is more appropriate for this logic and eventually `custom-redirects.js` middlewear might be moved into "frontend" as this middlewear plays a role mostly effecting that area.
2020-11-04 12:08:32 +13:00

89 lines
3.0 KiB
JSON

{
"paths": {
"appRoot": ".",
"corePath": "core/",
"clientAssets": "core/built/assets",
"helperTemplates": "core/frontend/helpers/tpl/",
"adminViews": "core/server/web/admin/views/",
"defaultViews": "core/server/views/",
"defaultSettings": "core/frontend/services/settings/",
"internalAppPath": "core/frontend/apps/",
"internalAdaptersPath": "core/server/adapters/",
"migrationPath": "core/server/data/migrations",
"publicFilePath": "core/server/public"
},
"apps": {
"internal": [
"private-blogging",
"amp"
]
},
"slugs": {
"protected": ["ghost", "rss", "amp"]
},
"uploads": {
"members": {
"extensions": [".csv"],
"contentTypes": ["text/csv", "application/csv", "application/octet-stream", "application/vnd.ms-excel"]
},
"images": {
"extensions": [".jpg", ".jpeg", ".gif", ".png", ".svg", ".svgz", ".ico"],
"contentTypes": ["image/jpeg", "image/png", "image/gif", "image/svg+xml", "image/x-icon", "image/vnd.microsoft.icon"]
},
"icons": {
"extensions": [".png", ".ico"],
"contentTypes": ["image/png", "image/x-icon", "image/vnd.microsoft.icon"]
},
"db": {
"extensions": [".json", ".zip"],
"contentTypes": ["text/plain", "application/octet-stream", "application/json", "application/zip", "application/x-zip-compressed"]
},
"themes": {
"extensions": [".zip"],
"contentTypes": ["application/zip", "application/x-zip-compressed", "application/octet-stream"]
},
"redirects": {
"extensions": [".json", ".yaml"],
"contentTypes": ["text/plain", "text/yaml", "application/octet-stream", "application/json", "application/yaml", "application/x-yaml"]
},
"routes": {
"extensions": [".yaml"],
"contentTypes": ["text/plain", "text/yaml", "application/octet-stream", "application/yaml", "application/x-yaml"]
}
},
"times": {
"cannotScheduleAPostBeforeInMinutes": 2,
"publishAPostBySchedulerToleranceInMinutes": 2,
"getImageSizeTimeoutInMS": 5000
},
"maintenance": {
"enabled": false
},
"api": {
"versions": {
"all": ["v2", "v3", "canary"],
"canary": {
"admin": "canary/admin",
"content": "canary/content"
},
"v3": {
"admin": "v3/admin",
"content": "v3/content"
},
"v2": {
"admin": "v2/admin",
"content": "v2/content"
}
}
},
"imageOptimization": {
"defaultMaxWidth": 2000,
"contentImageSizes": {
"w600": {"width": 600},
"w1000": {"width": 1000},
"w1600": {"width": 1600},
"w2400": {"width": 2400}
}
}
}