Commit Graph

737 Commits

Author SHA1 Message Date
Greenkeeper
0fabbf8a22 chore(package): update mobiledoc-html-renderer to version 0.3.1 (#7720)
https://greenkeeper.io/
2017-01-06 09:19:28 +01:00
Marc Bachmann
353330bb8a chore(package): update uuid to version 3.0.0 (#7742) 2017-01-04 17:10:29 +01:00
Greenkeeper
56062804d1 chore(package): update html-to-text to version 3.0.0 (#7781)
https://greenkeeper.io/
2017-01-04 16:26:50 +01:00
Greenkeeper
abf976c7d8 chore(package): update sinon to version 1.17.7 (#7811)
https://greenkeeper.io/
2017-01-04 15:00:00 +01:00
Greenkeeper
ea341a3de6 chore(package): update lodash to version 4.17.4 (#7814)
https://greenkeeper.io/
2017-01-04 14:50:54 +01:00
Greenkeeper
e40ccada85 chore(package): update image-size to version 0.5.1 (#7805)
https://greenkeeper.io/
2017-01-04 14:45:26 +01:00
Greenkeeper
a3576e5934 chore(package): update debug to version 2.6.0 (#7809)
https://greenkeeper.io/
2017-01-04 14:17:03 +01:00
Greenkeeper
2e00707f86 chore(package): update multer to version 1.2.1 (#7798)
https://greenkeeper.io/
2017-01-04 14:12:57 +01:00
Greenkeeper
153bcba481 chore(package): update bluebird to version 3.4.7 (#7797)
https://greenkeeper.io/
2017-01-04 14:11:00 +01:00
Greenkeeper
56ca9b2798 chore(package): update superagent to version 3.3.1 (#7787)
https://greenkeeper.io/
2017-01-04 14:03:24 +01:00
Greenkeeper
eba907c025 chore(package): update gulp-util to version 3.0.8 (#7807)
https://greenkeeper.io/
2017-01-04 14:00:15 +01:00
Greenkeeper
2a2f676261 chore(package): update gulp-jsonlint to version 1.2.0 (#7794)
https://greenkeeper.io/
2017-01-04 13:59:55 +01:00
Greenkeeper
494c0f5c02 chore(package): update oauth2orize to version 1.6.0 (#7786)
https://greenkeeper.io/
2017-01-04 13:57:11 +01:00
Greenkeeper
e744238f95 chore(package): update archiver to version 1.3.0 (#7782)
https://greenkeeper.io/
2017-01-04 13:54:41 +01:00
Greenkeeper
c6d9a95489 chore(package): update should to version 11.1.2 (#7771)
https://greenkeeper.io/
2017-01-04 12:44:42 +01:00
Greenkeeper
1d2d861a98 chore(package): update moment to version 2.17.1 (#7764)
https://greenkeeper.io/
2017-01-04 12:42:51 +01:00
Greenkeeper
d194c69400 chore(package): update prettyjson to version 1.2.1 (#7758)
https://greenkeeper.io/
2017-01-04 12:40:50 +01:00
Greenkeeper
790ef14ac7 chore(package): update jsonpath to version 0.2.9 (#7743)
https://greenkeeper.io/
2017-01-04 12:34:44 +01:00
Greenkeeper
7ea9356f99 chore(package): update tmp to version 0.0.31 (#7736)
https://greenkeeper.io/
2017-01-04 12:30:17 +01:00
Greenkeeper
378e09e59c chore(package): update mocha to version 3.2.0 (#7747)
https://greenkeeper.io/
2016-12-25 20:07:43 +00:00
Greenkeeper
1bc617174d chore(package): update gscan to version 0.2.0 (#7791)
https://greenkeeper.io/
2016-12-20 12:30:12 +01:00
Greenkeeper
dc60558083 chore(package): update passport-ghost to version 2.2.0 (#7763)
https://greenkeeper.io/
2016-12-03 14:26:48 +07:00
Greenkeeper
5b6a29764c chore(package): update moment to version 2.17.0 (#7740)
https://greenkeeper.io/
2016-11-26 16:12:54 -07:00
Greenkeeper
8d3a560178 chore(package): update passport-ghost to version 2.0.0 (#7737)
https://greenkeeper.io/
2016-11-21 18:06:05 +01:00
Kevin Ansfield
4525145fed Version bump to 1.0.0-alpha.9 2016-11-17 20:15:19 +00:00
Katharina Irrgang
7eb316b786 replace auto increment id's by object id (#7495)
* 🛠  bookshelf tarball, bson-objectid

* 🎨  schema changes

- change increment type to string
- add a default fallback for string length 191 (to avoid adding this logic to every single column which uses an ID)
- remove uuid, because ID now represents a global resource identifier
- keep uuid for post, because we are using this as preview id
- keep uuid for clients for now - we are using this param for Ghost-Auth

*   base model: generate ObjectId on creating event

- each new resource get's a auto generate ObjectId
- this logic won't work for attached models, this commit comes later

* 🎨  centralised attach method

When attaching models there are two things important two know

1. To be able to attach an ObjectId, we need to register the `onCreating` event the fetched model!This is caused by the Bookshelf design in general. On this target model we are attaching the new model.
2. We need to manually fetch the target model, because Bookshelf has a weird behaviour (which is known as a bug, see see https://github.com/tgriesser/bookshelf/issues/629). The most important property when attaching a model is `parentFk`, which is the foreign key. This can be null when fetching the model with the option `withRelated`. To ensure quality and consistency, the custom attach wrapper always fetches the target model manual. By fetching the target model (again) is a little performance decrease, but it also has advantages: we can register the event, and directly unregister the event again. So very clean code.

Important: please only use the custom attach wrapper in the future.

* 🎨  token model had overriden the onCreating function because of the created_at field

- we need to ensure that the base onCreating hook get's triggered for ALL models
- if not, they don't get an ObjectId assigned
- in this case: be smart and check if the target model has a created_at field

* 🎨  we don't have a uuid field anymore, remove the usages

- no default uuid creation in models
- i am pretty sure we have some more definitions in our tests (for example in the export json files), but that is too much work to delete them all

* 🎨  do not parse ID to Number

- we had various occurances of parsing all ID's to numbers
- we don't need this behaviour anymore
- ID is string
- i will adapt the ID validation in the next commit

* 🎨  change ID regex for validation

- we only allow: ID as ObjectId, ID as 1 and ID as me
- we need to keep ID 1, because our whole software relies on ID 1 (permissions etc)

* 🎨  owner fixture

- roles: [4] does not work anymore
- 4 means -> static id 4
- this worked in an auto increment system (not even in a system with distributed writes)
- with ObjectId we generate each ID automatically (for static and dynamic resources)
- it is possible to define all id's for static resources still, but that means we need to know which ID is already used and for consistency we have to define ObjectId's for these static resources
- so no static id's anymore, except of: id 1 for owner and id 0 for external usage (because this is required from our permission system)
- NOTE: please read through the comment in the user model


* 🎨  tests: DataGenerator and test utils

First of all: we need to ensure using ObjectId's in the tests. When don't, we can't ensure that ObjectId's work properly.
This commit brings lot's of dynamic into all the static defined id's.
In one of the next commits, i will adapt all the tests.

* 🚨  remove counter in Notification API

- no need to add a counter
- we simply generate ObjectId's (they are auto incremental as well)
- our id validator does only allow ObjectId as id,1 and me

* 🎨  extend contextUser in Base Model

- remove isNumber check, because id's are no longer numbers, except of id 0/1
- use existing isExternalUser
- support id 0/1 as string or number

*   Ghost Owner has id 1

- ensure we define this id in the fixtures.json
- doesn't matter if number or string

* 🎨  functional tests adaptions

- use dynamic id's

* 🎨  fix unit tests

* 🎨  integration tests adaptions

* 🎨  change importer utils

- all our export examples (test/fixtures/exports) contain id's as numbers
- fact: but we ignore them anyway when inserting into the database, see https://github.com/TryGhost/Ghost/blob/master/core/server/data/import/utils.js#L249
- in 0e6ed957cd (diff-70f514a06347c048648be464819503c4L67) i removed parsing id's to integers
- i realised that this ^ check just existed, because the userIdToMap was an object key and object keys are always strings!
- i think this logic is a little bit complicated, but i don't want to refactor this now
- this commit ensures when trying to find the user, the id comparison works again
- i've added more documentation to understand this logic ;)
- plus i renamed an attribute to improve readability

* 🎨  Data-Generator: add more defaults to createUser

- if i use the function DataGenerator.forKnex.createUser i would like to get a full set of defaults

* 🎨  test utils: change/extend function set for functional tests

- functional tests work a bit different
- they boot Ghost and seed the database
- some functional tests have mis-used the test setup
- the test setup needs two sections: integration/unit and functional tests
- any functional test is allowed to either add more data or change data in the existing Ghost db
- but what it should not do is: add test fixtures like roles or users from our DataGenerator and cross fingers it will work
- this commit adds a clean method for functional tests to add extra users

* 🎨  functional tests adaptions

- use last commit to insert users for functional tests clean
- tidy up usage of testUtils.setup or testUtils.doAuth

* 🐛  test utils: reset database before init

- ensure we don't have any left data from other tests in the database when starting ghost

* 🐛  fix test (unrelated to this PR)

- fixes a random failure
- return statement was missing

* 🎨  make changes for invites
2016-11-17 09:09:11 +00:00
Greenkeeper
1861ccb752 chore(package): update lodash to version 4.17.2 (#7721)
https://greenkeeper.io/
2016-11-16 10:57:27 +00:00
Greenkeeper
b164a89771 chore(package): update lodash to version 4.17.1 (#7716)
https://greenkeeper.io/
2016-11-16 10:19:59 +00:00
Greenkeeper
e9ba22306d chore(package): update gulp-jshint to version 2.0.3 (#7709)
https://greenkeeper.io/
2016-11-15 16:27:38 +00:00
Greenkeeper
b412ea76ac chore(package): update ghost-editor to version 0.1.5 (#7712)
https://greenkeeper.io/
2016-11-15 16:25:32 +00:00
Greenkeeper
30cf309fe6 chore(package): update archiver to version 1.2.0 (#7670)
https://greenkeeper.io/
2016-11-14 14:45:26 +00:00
Hannah Wolfe
0252b6d500 chore(package): update fs-extra to version 1.0.0 (#7657)
https://greenkeeper.io/
2016-11-14 14:44:09 +00:00
Hannah Wolfe
4a2ddbe2ae Merge pull request #7701 from kirrg001/1.0.0-dev/fix-brute-schema
🐛  fix brute
2016-11-14 14:34:31 +00:00
Greenkeeper
de9ac85966 chore(package): update moment to version 2.16.0 (#7704)
https://greenkeeper.io/
2016-11-14 08:28:50 +00:00
kirrg001
254b1a0632 🐛 fix bugs in brute-knex
see and read commit 0cb28fa8e3
2016-11-10 11:50:03 +01:00
kirrg001
c749fe2a45 🛠 brute-knex fix
- do not access the database in the constructor
- that causes Ghost to fail on mysql, because if the database does not exist, knex will fail
2016-11-09 20:55:45 +01:00
kirrg001
28fbaec49d 🛠 use tarball for brute-knex
- current usage requires to have git installed
- can cause trouble when deploying and git is not installed
2016-11-09 12:17:57 +01:00
kirrg001
e3d6e02aed Version bump to 1.0.0-alpha.8 2016-11-08 15:26:37 +01:00
Katharina Irrgang
0a744c2781 🎨 public client registration updates (#7690)
* 🎨  use updateClient function to update redirectUri

refs #7654

* 🎨  name instead of clientName
* 🎨  config.get('theme:title') for client name

- initial read can happen from config

*   register public client: client name and description

- no update yet
- for initial client creation
- we forward title/description to Ghost Auth
- TODO: use settings-cache when merged

*   store blog_uri in db
* 🎨  passport logic changes

- use updateClient instead of changeCallbackURL
- be able to update: blog title, blog description, redirectUri and blogUri
- remove retries, they get implemented in passport-ghost soon
- reorder logic a bit

* 🛠  passport-ghost 1.2.0

* 🎨  tests: extend DataGenerator createClient

- set some defaults

* 🎨  tests

- extend tests
- 👻

*   run auth.init in background

- no need to block the bootstrap process
- if client can't be registered, you will see an error
- ensure Ghost-Admin renders correctly

* 🛠   passport-ghost 1.3.0

- retries

* 🎨  use client_uri in Client Schema

- adapt changes
- use blog_uri only when calling the passport-ghost instance
- Ghost uses the client_uri notation to improve readability

*   read blog title/description from settings cache

* 🚨  Ghost Auth returns email instead of email_address

- adapt Ghost
2016-11-08 14:21:25 +00:00
Austin Burdine
0d0542c5d0 swap sqlite3 & mysql dependencies (#7677)
no issue

- Ghost-CLI's recommended system stack has MySQL as the default
DB engine of choice, making the sqlite requirement unnecessary.
- Mysql (as the default) should be a required dependency
2016-11-08 13:47:14 +00:00
David Wolfe
68af2145a1 Replace memory spam prevention with brute-express (#7579)
no issue

- removes count from user checks model
- uses brute express brute with brute-knex adaptor to store persisted data on spam prevention
- implement brute force protection for password/token exchange, password resets and private blogging
2016-11-08 12:33:19 +01:00
Katharina Irrgang
bae0de6cd5 knex-migrator v2 (#7605)
* 🎨  knex-migrator reset

[ci skip]

*   add migration example

- hooks
- 1.0

[ci skip]

* 🛠  knex-migrator tarball

- remove when released

[ci skip]

* 🎨  jscs/jshint

* 🕵🏻 do not drop the database connection when running tests

- please read the comments in the commit

* 🔥  remove example migration

* 🛠  knex-migrator 0.1.0

* 🛠  knex-migrator 0.1.1

- fix a single test to ensure we catch the error

* 🛠  knex-migrator 0.1.2

* 🎨  make tests green

- added my keyword: kate-migrations
- i will go over all TODO's when removing the old migrations code

* 🛠  knex-migrator update

* 🛠  knex-migrator 0.2.0
2016-11-07 11:39:49 +00:00
Katharina Irrgang
a19fa8d3ac Ghost Auth: register client with blog_uri (#7680)
* 🛠  passport-ghost 1.1.0

*   register client: add blog_uri

refs #7654

- improve readability
- get rid of all the url util usages
- add blog_uri

[ci skip]

* 🎨  tests
2016-11-07 11:38:05 +00:00
greenkeeperio-bot
8311dd44bf chore(package): update fs-extra to version 1.0.0
https://greenkeeper.io/
2016-11-07 10:50:04 +00:00
Greenkeeper
a6226e4832 chore(package): update ghost-editor to version 0.1.4 (#7686)
https://greenkeeper.io/
2016-11-07 11:49:46 +01:00
Greenkeeper
381fb16ddf chore(package): update moment-timezone to version 0.5.9 (#7682)
https://greenkeeper.io/
2016-11-06 17:59:40 +01:00
Greenkeeper
6d658f45d7 chore(package): update amperize to version 1.0.0 (#7662)
https://greenkeeper.io/
2016-11-05 18:14:43 +01:00
Greenkeeper
01f59ab79c chore(package): update lodash to version 4.16.6 (#7659)
https://greenkeeper.io/
2016-11-05 17:59:34 +01:00
Greenkeeper
ddefc92a29 chore(package): update gscan to version 0.1.1 (#7638)
https://greenkeeper.io/
2016-11-05 17:15:48 +01:00
Greenkeeper
be341b51f8 chore(package): update tmp to version 0.0.30 (#7661)
https://greenkeeper.io/
2016-11-03 23:37:23 +01:00
Hannah Wolfe
07618911b4 Version bump to 1.0.0-alpha.7 2016-10-31 13:55:09 +00:00
Ryan McCarvill
dfa073c29e Ghost Editor 0.1.1 (#7649)
- Added slash menu (kinda)
- Updated toolbars
- Added soft return
- Improved performance
- Added code block ` ` ` support
- Improved Link functionality
2016-10-31 11:47:03 +00:00
Greenkeeper
810d60ce83 chore(package): update nock to version 8.2.1 (#7641)
https://greenkeeper.io/
2016-10-28 14:26:27 +01:00
Greenkeeper
9c99f9d8bb chore(package): update oauth2orize to version 1.5.1 (#7608)
https://greenkeeper.io/
2016-10-28 14:22:57 +01:00
Greenkeeper
34c35db6d1 chore(package): update gulp-jshint to version 2.0.2 (#7625)
https://greenkeeper.io/
2016-10-28 14:22:26 +01:00
Greenkeeper
fea661d786 chore(package): update jshint to version 2.9.4 (#7606)
https://greenkeeper.io/
2016-10-28 14:22:10 +01:00
Greenkeeper
03b28df4f3 chore(package): update moment to version 2.15.2 (#7618)
https://greenkeeper.io/
2016-10-28 14:15:48 +01:00
Greenkeeper
3673e50c8f chore(package): update sqlite3 to version 3.1.8 (#7639)
https://greenkeeper.io/
2016-10-28 14:11:47 +01:00
Katharina Irrgang
e11e3a2444 🛠 ignore bunyan updates for now (#7637)
no issue
- background: we would like to pin 1.8.1 bunyan, because they introduced a behaviour change in the newer versions, see https://github.com/TryGhost/Ignition/issues/16
- because we would like to use Ghost-Ignition in Ghost soon, we can ignore bunyan updates in Ghost for now
- Ignition will take care about be able to update bunyan soon
2016-10-27 12:41:32 +01:00
Greenkeeper
e58d8cac7b chore(package): update passport-ghost to version 1.0.3 (#7632)
https://greenkeeper.io/
2016-10-26 19:16:08 +02:00
Greenkeeper
128cff7e66 chore(package): update supertest to version 2.0.1 (#7598)
https://greenkeeper.io/
2016-10-25 12:19:46 +01:00
Kevin Ansfield
13c95bafc4 Version bump to 1.0.0-alpha.6 2016-10-24 12:51:55 +01:00
Ryan McCarvill
646aaa1e43 deps: ghost-editor@0.0.14 (#7619) 2016-10-24 11:57:20 +01:00
Greenkeeper
d8214d6a46 chore(package): update moment-timezone to version 0.5.7 (#7609)
https://greenkeeper.io/
2016-10-22 11:11:39 +01:00
Greenkeeper
441f7e54e8 chore(package): update knex-migrator to version 0.0.7 (#7592)
https://greenkeeper.io/
2016-10-19 11:59:56 +02:00
Greenkeeper
0148895269 chore(package): update passport-ghost to version 1.0.2 (#7594)
https://greenkeeper.io/
2016-10-19 11:04:34 +02:00
kirrg001
8637c7be60 Version bump to 1.0.0-alpha.5 2016-10-18 14:10:32 +02:00
Katharina Irrgang
258688932f 🛠 knex-migrator 0.0.6 (#7589)
no issue
- manual PR, because GK is too slow to push the version bump
2016-10-18 10:23:57 +01:00
Greenkeeper
af4534c74a chore(package): update knex-migrator to version 0.0.5 (#7587)
https://greenkeeper.io/
2016-10-17 20:42:29 +02:00
Greenkeeper
d2d0d80f83 chore(package): update knex-migrator to version 0.0.3 (#7581)
https://greenkeeper.io/
2016-10-17 16:32:08 +02:00
Katharina Irrgang
8d8d7bdb26 knex migrator (#7565)
refs #7489
- remove sephiroth
- use knex migrator npm
- goodbye bootup script
- 🎨  update README
- 🎨  knex migrator @ 0.0.2
2016-10-17 13:50:29 +01:00
Greenkeeper
d55f5b9860 chore(package): update mocha to version 3.1.2 (#7541)
https://greenkeeper.io/
2016-10-17 14:44:05 +02:00
Greenkeeper
d8c8f7b18b chore(package): update knex to version 0.12.5 (#7551)
https://greenkeeper.io/
2016-10-17 14:27:03 +02:00
Ryan McCarvill
ea2c3a0a3f Markdown card (#7568)
Refs #7429
- Added mobiledoc card, this uses the mobiledoc editor from within Ghost. In the future we'll pull this out and replace it with a textarea as the preview is too small to fit in the content.
- Made the HTML editor a codemirror editor (pulled in from ghost-admin to save duplicating libraries).
- Ghost-Admin now passes the paths for the ghost-api and the image directory for tools.
- Fixed the scrolling issue.
2016-10-14 14:42:48 +02:00
Greenkeeper
da9c6be06c chore(package): update passport-ghost to version 1.0.1 (#7559)
https://greenkeeper.io/
2016-10-13 13:03:27 +02:00
Greenkeeper
a533010cfd chore(package): update nock to version 8.1.0 (#7534)
https://greenkeeper.io/
2016-10-10 18:49:10 +01:00
Greenkeeper
ce396d1117 chore(package): update should to version 11.1.1 (#7530)
https://greenkeeper.io/
2016-10-10 18:32:43 +01:00
Greenkeeper
57eb8ce4a4 chore(package): update mocha to version 3.1.1 (#7527)
https://greenkeeper.io/
2016-10-10 18:32:36 +01:00
Hannah Wolfe
2e9aa8c465 Version bump to 1.0.0-alpha.4 2016-10-10 17:08:54 +01:00
Katharina Irrgang
c4fa34224f Migration runner - first iteration (#7501)
refs #7489
- add independent migratio runner
- add init script
- this is not connected to Ghost yet, but next PR will
2016-10-10 13:27:31 +01:00
Greenkeeper
613015c792 chore(package): update knex to version 0.12.3 (#7524)
https://greenkeeper.io/
2016-10-10 10:24:05 +01:00
Greenkeeper
0f3d013ecc chore(package): update moment-timezone to version 0.5.6 (#7522)
https://greenkeeper.io/
2016-10-10 07:11:09 +01:00
Ryan McCarvill
ff9e6b5393 Upgraded editor (#7516)
refs #7429

Finally it's starting to feel like a real editor, although there will be another version bump over the weekend which improves the toolbar behaviour and usability, and enables image uploading.

- Added the start of a new toolbar, what we're (well I am) calling the Owesome bar, not to be confused with the Firefox Awesome bar. It's a cultural thing. (google "O for awesome").
- The idea of dragging and dropping cards has been removed for now, although the code will still be in there as we will support dragging cards around fairly shortly. When apps are included a better card interface will be required for a larger amount of app created content cards (Oh yeah!)
- Ghost Server now pulls in it's configuration from Ghost-Editor, this allows Ghost-Editor to a) keep cards up to date, and b) define what happens if a card is missing.
- The whole cards in admin written in ember and cards in server written in javascript thing is still very much a work in progress, it's kind of messy as we find the optimum solution (which isn't the current sollution).

So yeah, this is a WIP not the final styling, not the final interactions, not the final anything... :)

Adds a new mobile doc editor which has:
- A new toolbar
- Basic image uploading capability
2016-10-10 07:09:32 +01:00
Greenkeeper
8f42678ba6 chore(package): update gulp-nodemon to version 2.2.1 (#7455)
https://greenkeeper.io/
2016-10-07 18:22:04 +01:00
Hannah Wolfe
74b5d67001 ⬆️ deps: bookshelf@0.10.2 2016-10-07 16:44:29 +01:00
Greenkeeper
d6b1b06024 chore(package): update lodash to version 4.16.4 (#7505)
https://greenkeeper.io/
2016-10-07 16:30:18 +01:00
Greenkeeper
4b7d4b6ed7 chore(package): update sqlite3 to version 3.1.6 (#7513)
https://greenkeeper.io/
2016-10-07 11:37:13 +01:00
Katharina Irrgang
1882278b5b 🎨 configurable logging with bunyan (#7431)
- 🛠  add bunyan and prettyjson, remove morgan

-   add logging module
  - GhostLogger class that handles setup of bunyan
  - PrettyStream for stdout

-   config for logging
  - @TODO: testing level fatal?

-   log each request via GhostLogger (express middleware)
  - @TODO: add errors to output

- 🔥  remove errors.updateActiveTheme
  - we can read the value from config

- 🔥  remove 15 helper functions in core/server/errors/index.js
  - all these functions get replaced by modules:
    1. logging
    2. error middleware handling for html/json
    3. error creation (which will be part of PR #7477)

-   add express error handler for html/json
  - one true error handler for express responses
  - contains still some TODO's, but they are not high priority for first implementation/integration
  - this middleware only takes responsibility of either rendering html responses or return json error responses

- 🎨  use new express error handler in middleware/index
  - 404 and 500 handling

- 🎨  return error instead of error message in permissions/index.js
  - the rule for error handling should be: if you call a unit, this unit should return a custom Ghost error

- 🎨  wrap serve static module
  - rule: if you call a module/unit, you should always wrap this error
  - it's always the same rule
  - so the caller never has to worry about what comes back
  - it's always a clear error instance
  - in this case: we return our notfounderror if serve static does not find the resource
  - this avoid having checks everywhere

- 🎨  replace usages of errors/index.js functions and adapt tests
  - use logging.error, logging.warn
  - make tests green
  - remove some usages of logging and throwing api errors -> because when a request is involved, logging happens automatically

- 🐛  return errorDetails to Ghost-Admin
  - errorDetails is used for Theme error handling

- 🎨  use 500er error for theme is missing error in theme-handler

- 🎨  extend file rotation to 1w
2016-10-04 16:33:43 +01:00
Kevin Ansfield
dea984565d Version bump to 1.0.0-alpha.3 2016-10-03 19:19:22 +01:00
Ryan McCarvill
be666b1b1a Update Ghost Editor to 0.0.8 #7429 (#7474)
This release includes:

    Ghost Editor, this is required to get access to the built in cards

Ghost Editor includes:

    Responsive toolbars 🔨 🔧
    Both Ember and Plain javascript cards 🎴
    An embeded HTML card ✍️

This is still an early release, but things are moving in the right direction. :)

We're still defining the spec for the UI, so expect drastic changes over the next couple of weeks.

This is going to be a great writing experience and we can't wait to show what we have planned.
2016-10-03 15:42:34 +01:00
Aileen Nowak
92be253c27 🛠 Gulp help (#7462)
refs #7427
needs #7458

Adds a `gulp help` task which description and available options for each gulp task.
2016-10-03 15:08:40 +01:00
Hannah Wolfe
b1c77a2279 ⏱ 🛠 Add debug@2.2.0 & wire up in key places (#7469)
refs #2001, #7116

- added debug and wired it up:
  - across several key parts of the boot process
  - throughout the middleware loading
  - for requests
  - at render points for key routes
2016-10-03 10:33:14 +02:00
Aileen Nowak
43a2220298 🛠 Gulp lint task (#7458)
refs #7427

Adds a `gulp lint` task, as well as subtasks `gulp jshint`, `gulp jscs` and `gulp json` which can be started independently.
2016-10-03 10:30:22 +02:00
Hannah Wolfe
6842259a7a 🛠 Make greenkeeper ignore grunt dependencies (#7463)
closes #7436

- We're moving away from grunt, so lets not worry about version bumps for now
2016-09-30 14:38:14 +02:00
Katharina Irrgang
6473c9e858 Ghost OAuth (#7451)
issue #7452

Remote oauth2 authentication with Ghost.org.

This PR supports:

- oauth2 login or local login
- authentication on blog setup
- authentication on invite
- normal authentication
- does not contain many, many tests, but we'll improve in the next alpha weeks
2016-09-30 12:45:59 +01:00
Greenkeeper
45e50820dc chore(package): update mocha to version 3.1.0 (#7447)
https://greenkeeper.io/
2016-09-30 10:58:42 +01:00
Greenkeeper
8255af7a55 chore(package): update knex to version 0.12.2 (#7450)
https://greenkeeper.io/
2016-09-30 10:58:34 +01:00
Aileen Nowak
7f3876e456 🛠 Improve existing gulp tasks (#7444)
refs #7427

- Deleting the `built` or `dist` directory doesn't result in an error, when running `gulp dev`
- Adds default task as `gulp dev`
- Adds abbreviations for the repositories in `gulp setup` task (`--ghost` -> `-g`, `--admin` -> `-a` and `--casper` -> `-c`) to type less 😊
- Installs dependencies on `gulp dev`, if called with `--deps` or `-d`
- Sets `verbose` option nodemon to default (=`false`) to have less unneccessary logging.
- Will do a delete of all dependencies and install them again ('FFS'), if `gulp deps` is called with a force flag.
- Will update submodules not matter what, if `gulp submodules` is called with a force flag. Calling `gulp submodules` without the force flag will only update/initiate the submodules, if the folders don't exist.
- Better logging messages and sequential task handling.
- Removes `gulp-shell` as dependency, as this is on gulp's blacklist
- Refactors code, that used `gulp-shell` to use `child_process.exec` or `spawn` instead.
- Exits properly if node crashes
-----------------------

Tasks available after this PR:

- `gulp server`: Starts a nodemon server with livereload of the ghost core only. No client build here.

- `gulp dev`: [ --deps | -d ] Starts development mode for Ghost, incl. client build and livereload for both. Will also update the submodules if the directories are missing. If called with with `--deps` flag, it will install client and core dependencies.

- `gulp submodules`: [ --force | -f ] Will update the submodules, if directories are missing. Will update no matter what, if called with force flag.

- `gulp deps`: [ --force | -f ] Will update client and core dependencies. Does a fresh install of both (delete, cache clear and install) if called with force flag.

- `gulp setup`: </br>[ --ghost | -g 'branch' or 'pr/1234' ]
		[ --admin | -a 'branch' or 'pr/1234' ]
		[ --casper | -c 'branch' or 'pr/1234' ]
		[ --force | -f ]
		Takes various - optional - parameters. If called without parameters, this task will update submodules first (if directory doesn't exist) and then install client and core dependendies.
		If called with branch 'master', submodules will be updated.
		Calling with the force flag will do a clean install of the dependencies.
		There's no autocomplete for branchnames at the moment 😔
		To check out a PR (e. g. `--ghost pr/7444`), it is necessary, that you add an additional fetch line in the `.git/config` file for each repository: `fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*`. See https://dev.ghost.org/easy-git-pr-test/ for further information.
2016-09-29 19:32:17 +02:00
kirrg001
1a93cfd67e Version bump to 1.0.0-alpha.2 2016-09-26 19:22:11 +02:00
Aileen Nowak
3ee7f5cdbd 🛠 Gulp setup (#7439)
refs #7427

With this PR, we'll get some development tooling magic:
`gulp setup`
Will update dependecies and submodules (if submodule branches are on master) for
currently chosen branches.

`gulp setup --force`
Will delete all dependencies and install them again, incl. submodules for
currently chosen branches.

`gulp setup --ghost some-branch --admin some-branch --casper some-branch`
Will checkout the branches for each repository.
Can also be used to checkout only selected branches e. g.
`gulp setup --admin some-branch`
Will leave the current branch for `ghost` and `casper`, but checkout the named
branch for admin. Will also install dependencies.

`gulp setup --admin pr/123 --ghost pr/1234 --casper pr/123`
Will fetch the named PR of the repository and checkout to this new branch.
Will also install dependencies. NOTE: This works only with an additional fetch line
in the .git/config file for each repository: `fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*`.
See https://dev.ghost.org/easy-git-pr-test/ for further information.

All the combinations above can be executed with the `--force` or `-f` flag, which
will delete the dependencies and install them again, but for the chosen branches.
2016-09-26 18:17:40 +02:00