1f37ff6053
refs #5422 - we can support null titles after this PR if we want - user model: fix getAuthorRole - user model: support adding roles by name - we support this for roles as well, this makes it easier when importing related user roles (because usually roles already exists in the database and the related id's are wrong e.g. roles_users) - base model: support for null created_at or updated_at values - post or tag slugs are always safe strings - enable an import of a null slug, no need to crash or to cover this on import layer - add new DataImporter logic - uses a class inheritance mechanism to achieve an easier readability and maintenance - schema validation (happens on model layer) was ignored - allow to import unknown user id's (see https://github.com/TryGhost/Ghost/issues/8365) - most of the duplication handling happens on model layer (we can use the power of unique fields and errors from the database) - the import is splitted into three steps: - beforeImport --> prepares the data to import, sorts out relations (roles, tags), detects fields (for LTS) - doImport --> does the actual import - afterImport --> updates the data after successful import e.g. update all user reference fields e.g. published_by (compares the imported data with the current state of the database) - import images: markdown can be null - show error message when json handler can't parse file - do not request gravatar if email is null - return problems/warnings after successful import - optimise warnings in importer - do not return warnings for role duplications, no helpful information - error handler: return context information of error - we show the affected json entries as one line in the UI - show warning for: detected duplicated tag - schema validation: fix valueMustBeBoolean translation - remove context property from json parse error |
||
---|---|---|
.github | ||
content | ||
core | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
.jscsrc | ||
.jshintrc | ||
.npmignore | ||
.travis.yml | ||
Gruntfile.js | ||
index.js | ||
LICENSE | ||
MigratorConfig.js | ||
package.json | ||
PRIVACY.md | ||
README.md | ||
SECURITY.md | ||
yarn.lock |
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 you’re stuck, can’t 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!
Important: Ghost uses yarn
(>= 0.23.x) rather than npm
to manage it's dependencies. Ensure that you have it installed and you have configured your PATH
environment variable for it to work correctly. We recommend the "Installation Script" instructions because it works better with nvm
but choose the best option for your development setup.
Install and run Ghost.
git clone git@github.com:TryGhost/Ghost.git ghost Download the Ghost code base npm run init Short command for: yarn global add knex-migrator ember-cli grunt-cli && yarn install && grunt symlink && grunt init knex-migrator init Creates and initialises your database grunt dev Starts the express server and ember build
Run server tests
grunt test-all
Run client tests
cd core/client
ember test
Read more about the development workflows.
Deploying Ghost
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 you’ll 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.