mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
closes #6584 - Frontend Changes: - adds 'Apps' to Navigation Menu - adds 'Slack' as nested page to Apps - adds `apps.css` - adds `slack-integration` model and uses `slack-settings` custom transform to parse JSON file - adds validation for `slack` model - adds fixtures and `slack/test` API endpoint to Mirage - adds acceptance tests for `apps-test` and `slack-test` - adds unit tests for `slack-settings` and `slack-integration` - Backend Changes: - adds API endpoint `slack/test` to send Test Notification - adds default-values for slack model - sends payload to slack: - text: the url of the blogpost / test message - icon_url: url to ghost logo - username: Ghost - adds `slack/index.js` to send webhook to slack if - a new post is published (if slack webhook url is saved in settings) - user clicks on 'Send Test Notification' in UI - adds `slack.init()` to `server.index.js` to add event listener - adds unit test for `slack/index`
95 lines
2.2 KiB
JSON
95 lines
2.2 KiB
JSON
{
|
|
"core": {
|
|
"databaseVersion": {
|
|
"defaultValue": "005"
|
|
},
|
|
"dbHash": {
|
|
"defaultValue": null
|
|
},
|
|
"nextUpdateCheck": {
|
|
"defaultValue": null
|
|
},
|
|
"displayUpdateNotification": {
|
|
"defaultValue": null
|
|
}
|
|
},
|
|
"blog": {
|
|
"title": {
|
|
"defaultValue": "Ghost"
|
|
},
|
|
"description": {
|
|
"defaultValue": "Just a blogging platform."
|
|
},
|
|
"logo": {
|
|
"defaultValue": ""
|
|
},
|
|
"cover": {
|
|
"defaultValue": ""
|
|
},
|
|
"defaultLang": {
|
|
"defaultValue": "en_US",
|
|
"validations": {
|
|
"isNull": false
|
|
}
|
|
},
|
|
"postsPerPage": {
|
|
"defaultValue": "5",
|
|
"validations": {
|
|
"isNull": false,
|
|
"isInt": true,
|
|
"isLength": [1, 1000]
|
|
}
|
|
},
|
|
"forceI18n": {
|
|
"defaultValue": "true",
|
|
"validations": {
|
|
"isNull": false,
|
|
"isIn": [["true", "false"]]
|
|
}
|
|
},
|
|
"permalinks": {
|
|
"defaultValue": "/:slug/",
|
|
"validations": {
|
|
"matches": "^(\/:?[a-z0-9_-]+){1,5}\/$",
|
|
"matches": "(:id|:slug|:year|:month|:day|:author)",
|
|
"notContains": "/ghost/"
|
|
}
|
|
},
|
|
"ghost_head": {
|
|
"defaultValue" : ""
|
|
},
|
|
"ghost_foot": {
|
|
"defaultValue" : ""
|
|
},
|
|
"labs": {
|
|
"defaultValue": "{}"
|
|
},
|
|
"navigation": {
|
|
"defaultValue": "[{\"label\":\"Home\", \"url\":\"/\"}]"
|
|
},
|
|
"slack": {
|
|
"defaultValue": "[{\"url\":\"\"}]"
|
|
}
|
|
},
|
|
"theme": {
|
|
"activeTheme": {
|
|
"defaultValue": "casper"
|
|
}
|
|
},
|
|
"app": {
|
|
"activeApps": {
|
|
"defaultValue": "[]"
|
|
},
|
|
"installedApps": {
|
|
"defaultValue": "[]"
|
|
}
|
|
},
|
|
"private": {
|
|
"isPrivate": {
|
|
"defaultValue": "false"
|
|
},
|
|
"password": {
|
|
"defaultValue": ""
|
|
}
|
|
}
|
|
}
|