Turn your audience into a business. Publishing, memberships, subscriptions and newsletters.
Go to file
Hannah Wolfe b2f1d0559b Themes API activation permissions & validation (#8104)
refs #8093

 Add activate theme permission
- add permission to activate themes
- update tests
- also: update tests for invites
TODO: change how the active theme setting is updated to reduce extra permissions

 Move theme validation to gscan
- add a new gscan validation method and use it for upload
- update activate endpoint to do validation also using gscan
- change to using SettingsModel instead of API so that we don't call validation or permissions on the settings API
- remove validation from the settings model
- remove the old validation function
- add new invalid theme message to translations & remove a bunch of theme validation related unused keys

📖  Planned changes

🚨 Tests for theme activation API endpoint
🐛 Don't allow deleting the active theme

🚫 Prevent activeTheme being set via settings API
- We want to control how this happens in future.
- We still want to store the information in settings, via the model.
- We just don't want to be able to change this info via the settings edit endpoint

🐛  Fix warnings for uploads & add for activations
- warnings for uploads were broken in f8b498d
- fix the response + adds tests to cover that warnings are correctly returned
- add the same response to activations + more tests
- activations now return a single theme object - the theme that was activated + any warnings

🎨 Improve how we generate theme API responses
- remove the requirement to pass in the active theme!
- move this to a specialist function, away from the list

🎨 Do not load gscan on boot
2017-03-13 12:44:44 +01:00
.github Fix broken troubleshooting link in contributing.md (#7481) 2016-10-04 18:04:18 +01:00
content Upgrading Casper to 1.3.6 2017-03-06 12:33:47 +01:00
core Themes API activation permissions & validation (#8104) 2017-03-13 12:44:44 +01:00
.editorconfig Various post-repo-split cleanup (#6910) 2016-07-12 11:55:46 -06:00
.gitignore 🎨 add logs folder to content folder (#7635) 2016-10-28 14:27:02 +01:00
.gitmodules Add Admin-Client as submodule at core/client 2016-05-19 14:20:18 +01:00
.jscsrc Various post-repo-split cleanup (#6910) 2016-07-12 11:55:46 -06:00
.jshintrc 🎨 jsHint: support ES6 features (#7920) 2017-01-31 13:13:23 +00:00
.npmignore add extraneous files to .npmignore 2016-11-07 09:14:14 -06:00
.travis.yml Update yarn.lock on greenkeeper PR's (#7885) 2017-01-24 23:33:10 +01:00
Gruntfile.js 😱 🚀 🎨 tests: use truncate instead of database deletion (#8119) 2017-03-09 19:38:20 +00:00
gulpfile.js Fix typo in function name (#7982) 2017-02-11 12:48:04 +00:00
index.js ⏱ Boot time visibility amends (#7984) 2017-02-17 16:27:02 +01:00
LICENSE 2017 (#7819) 2017-01-04 10:05:57 +00:00
MigratorConfig.js 🎨 optimise requires for MigratorConfig (#8088) 2017-03-02 16:02:23 +00:00
package.json Update ghost-ignition to version 2.8.9 🚀 (#8139) 2017-03-13 09:44:21 +01:00
PRIVACY.md Switch to new native system font stack (#7219) 2016-08-18 20:29:46 +01:00
README.md Update install instructions to include global deps 2017-02-22 12:45:28 +00:00
SECURITY.md Update SECURITY.md 2016-01-13 18:22:09 +02:00
yarn.lock Update ghost-ignition to version 2.8.9 🚀 (#8139) 2017-03-13 09:44:21 +01:00

Ghost Build status

Warning: Major release in progress. Expect things to be broken in master.

The project is maintained by a non-profit organisation called the Ghost Foundation, along with an amazing group of independent contributors. We're trying to make publishing software that changes the shape of online journalism.

NOTE: If youre stuck, cant get something working or need some help, please head on over and join our Slack community rather than opening an issue.

 

Ghost 1.0-alpha Developer Install

Please note: These are the install instructions for Ghost 1.0-alpha, which is not stable. If you're looking for the latest release of Ghost, check out the stable branch or the latest release.

If you get stuck, come say hi over on slack!

git clone [Ghost's repo URL or your Ghost Fork's URL]
npm install -g knex-migrator gulp
npm install
git submodule update --init
cd core/client
npm install
bower install
cd ../..
gulp setup
knex-migrator init
gulp dev

To run tests

ember test

Deploying Ghost

Ghost(Pro)

The easiest way to deploy Ghost is with our official Ghost(Pro) managed service. You can have a fresh instance up and running in a couple of clicks with a worldwide CDN, backups, security and maintenance all done for you.

Not only will it save you many hours per month, but all revenue goes to the Ghost Foundation, which funds the maintenance and further development of Ghost itself. So youll be supporting open source software and getting a great service at the same time! Talk about win/win. 🏆

Other options are also available if you prefer playing around with servers by yourself, of course. The freedom of choice is in your hands.

 

Staying Up to Date

When a new version of Ghost comes out, you'll want to look over these upgrade instructions for what to do next.

You can talk to other Ghost users and developers in our public Slack team (it's pretty awesome). We have a public meeting every Tuesday at 5:30pm UK time.

New releases are announced on the dev blog. You can subscribe by email or follow @TryGhost_Dev on Twitter, if you prefer your updates bite-sized and facetious. 🎷🐢

 

Copyright & License

Copyright (c) 2013-2017 Ghost Foundation - Released under the MIT license.