2
1
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2023-12-13 21:00:40 +01:00
Commit graph

822 commits

Author SHA1 Message Date
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
Ryan McCarvill 7edc518d5a [WIP] Mobile-Doc based renderer (#7437)
Refs #7429

Added mobile-doc renderer

------------

- Added generic mobiledoc-renderer
- Kept the existing showdown editor for legacy mode.
2016-09-26 15:23:49 +02:00
Hannah Wolfe b729597bf5 🔥 Remove the contributor list from Gruntfile (#7428)
refs #7427

- Moving all release-specific code out of the core repository
- Also found a different way to do this, without needing API access :)
2016-09-26 07:16:55 -05:00
Greenkeeper f0a4186f9c chore(package): update intl to version 1.2.5 (#7411)
https://greenkeeper.io/
2016-09-26 11:13:38 +02:00
kirrg001 6c100a171e 🛠 update lodash,knex and bookshelf to latest versions
refs #7189
- we had a memory leak after upgrading to knex 0.11.x
- knex has published a new version 0.12.x
- the memory leak does not longer exists
- knex has reverted their pool logic, see https://github.com/tgriesser/knex/pull/1665
2016-09-26 10:20:55 +02:00
Hannah Wolfe 1c6f9b85f4 Merge pull request #7407 from AileenCGN/let-grunt-die
🛠 Gulp tooling for Ghost
2016-09-23 13:46:42 +01:00
Greenkeeper 34363ec2c3 chore(package): update superagent to version 2.3.0 (#7413)
https://greenkeeper.io/
2016-09-23 13:58:11 +02:00
Greenkeeper fbf25b7653 chore(package): update moment to version 2.15.1 (#7415)
https://greenkeeper.io/
2016-09-23 13:04:48 +02:00
Aileen Nowak f9ea55d57b 🛠 Gulp tooling for ghost
refs #7427

Use `gulp dev` to start development mode. Starts ember build and does livereload for client and server changes.

Use `gulp server` to start server development mode. Doesn't start ember build and livereloads for server changes only.
2016-09-22 18:01:26 +02:00
Hannah Wolfe 568b48fc5b Version bump to 1.0.0-alpha.1 2016-09-20 16:39:30 +01:00
Katharina Irrgang 32a5982430 utf8mb4 support (#7409)
closes #5519, closes #6197

- default encoding is utf8mb4 instead of utf8
- support emojis
- read here why: http://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html
- read here why: https://dev.mysql.com/doc/refman/5.5/en/charset-unicode-conversion.html
2016-09-20 15:59:34 +01:00
Hannah Wolfe 9a520f39fb 🎨 Preparation for going alpha (#7404)
- Don't let people start Ghost Alpha with non-alpha databases.
- Provide a new welcome message for development mode (a little bit of positive reinforcment)
- Provide a RED WARNING when in production mode (will still be used for developing, but we can ignore)
- Change package.json to 1.0.0-alpha.0, we won't relelase this, will bump to .1 for release
2016-09-20 15:59:34 +01:00
Austin Burdine 25a9b4aa3a 🔥 remove preinstall node version check (#7403)
no issue
- this is now handled in Ghost-CLI
2016-09-20 15:59:34 +01:00
kirrg001 8115d83782 🔥 remove postgres support
refs #1333, refs #5878, refs #5321
2016-09-20 15:59:34 +01:00
kirrg001 6275fdbb25 🔥 remove node 0.10 support, add node 6 support
refs #6899, refs #7098
2016-09-20 15:59:34 +01:00
kirrg001 03cc8ea3ff 🛠 add nconf as dependency
refs #6982
[ci skip]
2016-09-20 15:59:34 +01:00
Greenkeeper a98e134fe4 chore(package): update sinon to version 1.17.6 (#7401)
https://greenkeeper.io/
2016-09-19 14:42:22 +01:00
Greenkeeper b61e870737 chore(package): update tmp to version 0.0.29 (#7397)
https://greenkeeper.io/
2016-09-19 14:42:13 +01:00
Greenkeeper 9ca83b9875 chore(package): update jsonpath to version 0.2.7 (#7285)
https://greenkeeper.io/
2016-09-19 14:42:03 +01:00
Greenkeeper b5ef1da584 chore(package): update validator to version 5.7.0 (#7356)
https://greenkeeper.io/
2016-09-19 13:51:36 +01:00
Greenkeeper 0af5f5960a chore(package): update istanbul to version 0.4.5 (#7239)
https://greenkeeper.io/
2016-09-19 13:51:25 +01:00
Greenkeeper fe19b26e44 chore(package): update bluebird to version 3.4.6 (#7311)
https://greenkeeper.io/
2016-09-19 12:38:57 +01:00
Greenkeeper 4b61dd8971 chore(package): update cheerio to version 0.22.0 (#7260)
https://greenkeeper.io/
2016-09-19 12:32:40 +01:00
Greenkeeper db7d87c249 chore(package): update archiver to version 1.1.0 (#7287)
https://greenkeeper.io/
2016-09-19 12:31:47 +01:00
Greenkeeper f64c13af36 chore(package): update csv-parser to version 1.11.0 (#7238)
https://greenkeeper.io/
2016-09-19 11:25:37 +01:00
Hannah Wolfe fbb60adde7 Version bump to 0.11.0 2016-09-15 10:23:15 +01:00
Greenkeeper 1dc3ca354f chore(package): update gscan to version 0.0.15 (#7386)
https://greenkeeper.io/
2016-09-14 22:47:28 +01:00
Hannah Wolfe a40ff3b276 🎨 Return gscan warnings from theme API (#7367)
- return warnings from gscan so we can let users know about potential issues
2016-09-14 18:49:41 +01:00
Hannah Wolfe 8d7254aca5 ⬆️ Upgrade extract-zip to extract-zip-fork@1.5.1 (#7383) 2016-09-14 17:13:36 +00:00
Greenkeeper a9561cfbd7 chore(package): update netjet to version 1.1.3 (#7274)
https://greenkeeper.io/
2016-09-14 15:59:54 +01:00
Greenkeeper ae18a48b35 chore(package): update express-hbs to version 1.0.3 (#7301)
https://greenkeeper.io/
2016-09-14 15:50:35 +01:00
Hannah Wolfe e0970bff8e 🛠 Pin knex, bookshelf & lodash until later (#7375)
refs #7189, refs #7291

- We will upgrade these when we are able to locate and resolve the memory leak that is caused by upgrading them
2016-09-14 14:23:38 +02:00
Greenkeeper 0c628049fb chore(package): update moment to version 2.15.0 (#7364)
https://greenkeeper.io/
2016-09-14 13:22:03 +01:00
Greenkeeper 177c0fba07 chore(package): update cors to version 2.8.1 (#7343)
https://greenkeeper.io/
2016-09-14 13:16:18 +01:00
Aileen Nowak a4427952e2 ⬆️ 🚨 Update Amperize dep and fix test (#7374)
no issue

Updates Amperize dep to v0.3.1 and fixes test for `amp_content`.
2016-09-14 12:30:37 +01:00
Katharina Irrgang 8c1e5fbc61 🐛 add missing dependency lodash.orderBy (#7333)
no issue
2016-09-14 11:22:16 +01:00
Hannah Wolfe fe321a15c6 Version bump to 0.10.1 2016-09-06 17:15:49 +02:00
Hannah Wolfe a5c0dd1dd1 ⬆️ Updating extract-zip to bugfixed version (#7331)
- This version has a fix for maxogden/extract-zip#30, where directories are not always identified correctly
2016-09-06 17:15:07 +02:00
Aileen Nowak b3b1bcca94 🐛 Return reg. HTML on Amperize time-out (#7324)
no issue

`{{amp_content}}` helper can handle error now, if returned from `Amperize` module. In case of on error, we return the unprocessed HTML, which will then get validated by the `Sanitize` functionality.

The unprocessed HTML will be stored in the cache, until the post is updated.

Points to Amperize fork of AileenCGN as dependency to have include the error handling changes incl. timeouts.
2016-09-06 15:29:21 +02:00
Greenkeeper 4e6b1d7471 chore(package): update gscan to version 0.0.13 (#7328)
https://greenkeeper.io/
2016-09-06 10:45:52 +02:00
Greenkeeper c80f481b95 chore(package): update gscan to version 0.0.12 (#7307)
https://greenkeeper.io/
2016-09-01 13:42:00 +02:00
Katharina Irrgang 54559f24f9 fix: memory leak (#7291)
closes #7189

- downgrade lodash to 3.x
- downgrade bookshelf to 0.9.x
- downgrade knex to 0.10.x
- keep lodash 4.x functions
2016-09-01 10:53:08 +02:00
kirrg001 6dfca64521 Version bump to 0.10.0 2016-08-29 19:12:46 +02:00
Aileen Nowak 9d76004807 🛠 Change Amperize dep (#7271)
no issue

Changes the Amperize module to point at tarball
2016-08-25 18:48:33 +02:00
Aileen Nowak 93ee19f36e 🐛 fix: make small media types not stretch (#7265)
no issue

Fixes a bug with displaying small media types like images or gif. Two reasons for that:
1. In many cases, we only have the relative URL instead of the absolute URL for the media source and therefore, `Amperize` module wasn't able to detect the image size and set the default image size of `width="600"` and `height="400"`.
2. Even if we have detected the correct image size, the attribute `layout="default"` would still make it strech. This issue is fixed in `Amperize`, but it wasn't merged at this time, so I set the dependency on my fork.

Adds `amp-anim` to the `.post-content` class, to have same CSS style as an image.
2016-08-25 11:09:25 +02:00
Hannah Wolfe 545d2cb8b0 Use node-archiver to create zips (#7268)
closes #7266, closes #7267

- Adds node-archiver as a dependency
- Adds new zip-folder utility
- Switch out exec 'zip' for zip folder utility
- Store generated zips in os.tmpdir
- Don't delete zips from content/themes when uploading or deleting
- Fixes path resolution for delete
2016-08-25 09:22:22 +02:00
Greenkeeper 01bac00e61 chore(package): update gscan to version 0.0.11 (#7259)
https://greenkeeper.io/
2016-08-24 14:45:37 +02:00
Katharina Irrgang a91e54cf1a feature: theme upload/download/delete (#7209)
refs #7204

- added 3 new themes permissions
- change core/client
- add theme upload/download logic
- extended local file storage to serve zips
- added gscan dependency
- add ability to handle the express response within the api layer
- restrict theme upload to local file storage
- added 007 migration
2016-08-23 13:07:25 +01:00
Katharina Irrgang f174d4d56b Revert "Update supertest to version 2.0.0 🚀" (#7243) 2016-08-22 19:53:45 +02:00
Aileen Nowak a5c29dfc34 [FEATURE] AMP (#7229)
closes #6588, #7095

* `ImageObject` with image dimensions (#7152, #7151, #7153)
- Returns meta data as promise
    - returns a new Promise from meta data
    - uses `Promise.props()` to resolve `getClient()` and `getMetaData()`

- Adds 'image-size' util
The util returns an object like this
```
{
    height: 50,
    url: 'http://myblog.com/images/cat.jpg',
    width: 50
};
```
if the dimensions can be fetched and rejects with error, if not.
In case we get a locally stored image or a not complete url (like `//www.gravatar.com/andsoon`), we add the protocol to the incomplete one and use `urlFor()` to get the absolute URL. If the request fails or `image-size` is not able to read the file, we reject with error.
- adds 'image-size' module to dependencies
- adds `getImageSizeFromUrl` function that returns image dimensions

- In preparation of AMP support and to improve our schema.org JSON-LD and structured data, I made the following changes:
    - Changes the following properties to be `Objects`, which have a `url` property by default and a `dimensions` property, if `width` and `height` are available:
        - `metaData.coverImage`
        - `metaData.authorImage`
        - `metaData.blog.logo`
    - Checks cache by calling `getCachedImageSizeFromUrl`. If image dimensions were fetched already, returns them from cache instead of fetching them again.
    - If we have image dimensions on hand, the output in our JSON-LD changes from normal urls to be full `ImageObjects`. Applies to all images and logos.
    - Special case for `publisher.logo` as it has size restrictions: if the image doesn't fulfil the restrictions (<=600 width and <=60 height), we simply output the url instead, so like before.
    - Adds new property for schema.org JSON-LD: `mainEntityOfPage` as an Object.
    - Adds additional Open Graph data (if we have the image size): `og:image:width` and `og:image:height`
    - Adds/updates tests

* AMP router and controller (#7171, #7157)
Implements AMP in `/apps/`:
- renders `amp.hbs` if route is `/:slug/amp/`
- updates `setResponseContext` to set context to `['amp', 'post']` for a amp post and `['amp', 'page']` for a page, but will not render amp template for a page
- updates `context_spec`
- registers 'amp' as new internal app
- adds the `amp.hbs` template to `core/server/apps/amp` which will be the default template for AMP posts.
- adds `isAmpURL` to `post-lookup`

* 🎨 Use `context` in meta as array (#7205)
Instead of reading the first value of the context array, we're checking if it includes certain context values.
This is a preparation change for AMP, where the context will be delivered as `['amp', 'post']`.

*  AMP helpers (#7174, #7216, #7215, #7223)
- Adds AMP helpers `{{amp_content}}`, `{{amp_component}}` and  `{{amp_ghost_head}}` to support AMP:
- `{{amp_content}}`:
    - Adds `Amperize` as dependency
    - AMP app uses new helper `{{amp_content}}` to render AMP HTML
    - `Amperize` transforms regular HTML into AMP HTML
    - Adds test for `{{amp_content}}` helper
    - Adds 'Sanitize-HTML` as dependendy
    - After the HTML get 'amperized' we still might have some HTML tags, which are prohibited in AMP HTML, so we use `sanitize-html` to remove those. With every update, `Amperize` gets and it is able to transform more HTML tags, they valid AMP HTML tags (e. g. `video` and `amp-video`) and will therefore not be removed.
- `{{amp_ghost_head}}`:
    - registers `{{amp_ghost_head}}` helper, but uses `{{ghost_head}}` code
    - uses `{{amp_ghost_head}}` in `amp.hbs` instead of `{{ghost_head}}`
- `{{ghost_head}}`:
    - Render `amphtml` link in metadata for post, which links to the amp post (`getAmpUrl`)
    - Updates all test in metadata to support `amp` context
    - Changes context conditionals to work with full array instead of first array value
    - Adds conditionals, so no additional javascript gets rendered in `{{ghost_head}}`
    - Removes trailing `/amp/` in URLs, so only `amphtml` link on regular post renders it
    - Adds a conditional, so no code injection will be included, for an `amp` context.
- `{{amp_components}}`:
    - AMP app uses new helper `{{amp_components}}` to render necessary script tags for AMP extended components as `amp-iframe`, `amp-anime` and `amp-form`
    - Adds test for `{{amp_components}}`
2016-08-22 18:49:27 +02:00
Greenkeeper 3c13c98d7f chore(package): update supertest to version 2.0.0 (#7159)
https://greenkeeper.io/
2016-08-22 18:38:41 +02:00
Greenkeeper 61d66a4007 chore(package): update oauth2orize to version 1.5.0 (#7226)
https://greenkeeper.io/
2016-08-19 07:34:18 +01:00
Greenkeeper e0f83f31ac chore(package): update oauth2orize to version 1.4.1 (#7211)
https://greenkeeper.io/
2016-08-17 18:24:19 +02:00
Greenkeeper 49e77711df chore(package): update should to version 11.1.0 (#7201)
https://greenkeeper.io/
2016-08-15 09:24:46 +02:00
Greenkeeper 749e906556 chore(package): update superagent to version 2.2.0 (#7200)
https://greenkeeper.io/
2016-08-15 09:24:31 +02:00
Greenkeeper 55e7b659e0 chore(package): update grunt-shell to version 1.3.1 (#7198)
https://greenkeeper.io/
2016-08-13 06:39:42 -06:00
Greenkeeper d1b17f86d0 chore(package): update lodash to version 4.15.0 (#7197)
https://greenkeeper.io/
2016-08-12 22:16:39 -06:00
Greenkeeper dd5775c018 Update mocha to version 3.0.2 🚀 (#7165)
* chore(package): update mocha to version 3.0.2

https://greenkeeper.io/

* fix duplicate done/promise handling
2016-08-11 08:51:19 +01:00
Austin Burdine cd4fb88236 deps: knex@0.11.10 (#7195)
- add `useNullAsDefault` flag to sqlite test config to fix breaking
  sqlite builds
- fixes npm install issue with lodash dependency
2016-08-11 08:40:51 +01:00
Greenkeeper da52e92f3e chore(package): update should to version 11.0.0 (#7193)
https://greenkeeper.io/
2016-08-10 14:37:09 -06:00
Greenkeeper c4c3978e39 chore(package): update grunt-mocha-istanbul to version 5.0.2 (#7181)
https://greenkeeper.io/
2016-08-10 12:09:59 -06:00
Greenkeeper ff05ff2043 chore(package): update lodash to version 4.14.2 (#7188)
https://greenkeeper.io/
2016-08-10 10:27:40 -06:00
Austin Burdine 03d4137b86 Move remainder of ember tasks to client repo (#7172)
* Updating Ghost-Admin: Gruntfile work

* move remainder of ember tasks to client repo

refs #6977
- move ember build tasks to client repo
- remove unneeded dependencies
2016-08-07 11:53:28 +02:00
Greenkeeper bd2f59b5f9 chore(package): update multer to version 1.2.0 (#7176)
https://greenkeeper.io/
2016-08-06 10:30:30 +02:00
Greenkeeper 6cab400b69 chore(package): update gh-contrib-list to version 0.1.2 (#7126)
https://greenkeeper.io/
2016-08-01 09:21:38 -06:00
Greenkeeper ce615a0244 chore(package): update sinon to version 1.17.5 (#7148)
https://greenkeeper.io/
2016-08-01 08:13:14 -06:00
Greenkeeper cefec5767d chore(package): update lodash to version 4.14.1 (#7160)
https://greenkeeper.io/
2016-07-29 18:02:40 -06:00
Greenkeeper 26eff9be8f chore(package): update lodash to version 4.14.0 (#7128)
https://greenkeeper.io/
2016-07-28 10:21:56 -06:00
Greenkeeper 81b2e4bc42 chore(package): update moment-timezone to version 0.5.5 (#7150)
https://greenkeeper.io/
2016-07-27 10:59:07 -06:00
Kevin Ansfield e203eb8fb3 Version bump to 0.9.0 2016-07-26 14:24:31 +01:00
Austin Burdine 77464c59bd improve Ghost contributor tooling (#7042)
refs #6977
- update client ref
- add gh-contrib-list dependency
- remove buildAboutPage task
2016-07-22 12:53:48 +01:00
Greenkeeper 449b1ce01c chore(package): update netjet to version 1.1.2 (#7114)
https://greenkeeper.io/
2016-07-21 17:55:02 -06:00
Greenkeeper 0cf7dda884 chore(package): update validator to version 5.5.0 (#7112)
https://greenkeeper.io/
2016-07-21 07:08:19 -06:00
Greenkeeper 5e6b952e90 chore(package): update superagent to version 2.1.0 (#7090)
https://greenkeeper.io/
2016-07-20 05:25:56 -06:00
greenkeeperio-bot 879629a015 chore(package): update express to version 4.14.0
https://greenkeeper.io/
2016-07-19 17:04:34 +01:00
Greenkeeper 717183a3bb chore(package): update grunt-contrib-uglify to version 2.0.0 (#7111)
https://greenkeeper.io/
2016-07-19 10:04:20 -06:00
Greenkeeper 3b6326ec8b chore(package): update oauth2orize to version 1.4.0 (#7108)
https://greenkeeper.io/
2016-07-18 17:27:54 -06:00
Greenkeeper 94a5f618bf chore(package): update should to version 10.0.0 (#7104)
https://greenkeeper.io/
2016-07-18 09:14:33 -06:00
Hannah Wolfe 37da544dcc Node version check w/o semver (#7097)
closes #6691

- removes dependency on semver & package.json in preinstall script
- has a simplified proxy of semver to look for the right version numbers
2016-07-16 01:20:05 +02:00
Greenkeeper 00a676110d chore(package): update semver to version 5.3.0 (#7094)
https://greenkeeper.io/
2016-07-15 12:07:07 +01:00
Greenkeeper 9f547b640f chore(package): update ghost-gql to version 0.0.5 (#7092)
https://greenkeeper.io/
2016-07-14 15:07:10 +01:00
Hannah Wolfe 71282a241e Various post-repo-split cleanup (#6910)
no issue

- remove bower from dependencies, greenkeeper ignores & .editorconfig
- remove old custom jscs rule for ember
2016-07-12 11:55:46 -06:00
Greenkeeper 7b0226247b chore(package): update express-hbs to version 1.0.2 (#7078) 2016-07-08 21:35:00 -06:00
Austin Burdine 9e93c2b6aa deps: bookshelf@0.10.0 (#7074)
merged in fix for lodash
2016-07-06 10:31:24 +01:00
Greenkeeper bbaad73f87 chore(package): update rewire to version 2.5.2 (#7061)
https://greenkeeper.io/
2016-07-05 17:25:23 +01:00
Greenkeeper 495bbee594 chore(package): update moment to version 2.14.1 (#7071) 2016-07-04 11:05:28 -06:00
Greenkeeper 62859fbb57 chore(package): update jsonpath to version 0.2.6 (#7063) 2016-07-01 20:29:25 -06:00
Greenkeeper 0b23bb007d chore(package): update html-to-text to version 2.1.3 (#7056) 2016-06-30 11:46:21 -06:00
Greenkeeper 204e99b331 chore(package): update body-parser to version 1.15.2 (#7013) 2016-06-29 15:23:03 -06:00
Greenkeeper 72f7b0bc6c chore(package): update html-to-text to version 2.1.1 (#7051)
https://greenkeeper.io/
2016-06-29 13:02:33 -06:00
Greenkeeper 78b19d80e3 chore(package): update semver to version 5.2.0 (#7049)
https://greenkeeper.io/
2016-06-29 10:28:23 -06:00
Hannah Wolfe 67522ea25a Merge pull request #7041 from acburdine/bookshelf-upgrade-test
Bookshelf Lodash Fix
2016-06-28 18:43:47 +02:00
Austin Burdine acc08b9702 deps: bookshelf@lodash-upgrade-fix
no issue
- temporarily upgrades bookshelf to latest master commit
- fixes lodash version incompatibility
2016-06-27 08:22:30 -06:00
greenkeeperio-bot 5e8b072025 chore(package): update semver to version 5.1.1
https://greenkeeper.io/
2016-06-23 19:08:34 +01:00
Hannah Wolfe d5e1d122ac Merge pull request #7018 from TryGhost/greenkeeper-istanbul-0.4.4
Update istanbul to version 0.4.4 🚀
2016-06-23 14:29:56 +01:00
Hannah Wolfe 9d69e43771 Merge pull request #7004 from TryGhost/greenkeeper-bluebird-3.4.1
Update bluebird to version 3.4.1 🚀
2016-06-23 14:29:49 +01:00
greenkeeperio-bot 5e425c229e chore(package): update istanbul to version 0.4.4
https://greenkeeper.io/
2016-06-23 14:29:49 +01:00
greenkeeperio-bot c9e665ba04 chore(package): update bluebird to version 3.4.1
https://greenkeeper.io/
2016-06-21 23:11:04 +01:00
greenkeeperio-bot f5506f7bb9 chore(package): update jsonpath to version 0.2.5
https://greenkeeper.io/
2016-06-21 23:11:04 +01:00
greenkeeperio-bot 2fe3223a6b chore(package): update grunt-jscs to version 3.0.1
https://greenkeeper.io/
2016-06-21 22:22:16 +01:00
Kevin Ansfield 3e92d63c27 Version bump to 0.9.0-beta.2 2016-06-15 13:33:02 +01:00
kirrg001 e43aefe576 fix: delete lodash.pickBy dependency 2016-06-15 14:00:32 +02:00
Hannah Wolfe ac63621fe7 Update tags & foreach to respect visibility
refs #6165

- adds lodash.pickby@4.4.0
- new helper util for understanding a visibility attribute
- generalises visibility handling for `{{tags}}` helper
- adds visibility handling to `{{foreach}}` helper
- adds tests which check behaviour + labs flag
2016-06-15 12:37:09 +01:00
“kirrg001” 1421c92ba5 post-scheduling
refs #6413
- PUT endpoint to publish a post/page for the scheduler
- fn endpoint to get all scheduled posts (with from/to query params) for the scheduler
- hardcoded permission handling for scheduler client
- fix event bug: unscheduled
- basic structure for scheduling
- post scheduling basics
- offer easy option to change adapter
- integrate the default scheduler adapter
- update scheduled posts when blog TZ changes
- safety check before scheduler can publish a post (not allowed to publish in the future or past)
- add force flag to allow publishing in the past
- invalidate cache header for /schedules/posts/:id
2016-06-14 10:52:13 +02:00
Hannah Wolfe 584e9911c4 Merge pull request #6973 from acburdine/lodash-4
deps: lodash@4.13.1
2016-06-11 21:39:30 +01:00
Austin Burdine 44537bd15f deps: lodash@4.13.1
closes #6911
- update lodash to v4
- remove lodash.tostring override
- remove lodash from greenkeeper ignore
2016-06-11 13:13:55 -06:00
greenkeeperio-bot f6ba114728 chore(package): update grunt-jscs to version 3.0.0
https://greenkeeper.io/
2016-06-11 18:45:54 +01:00
greenkeeperio-bot 42291b006d chore(package): update should to version 9.0.2
https://greenkeeper.io/
2016-06-10 12:20:58 +01:00
greenkeeperio-bot 785bbd506e chore(package): update validator to version 5.4.0
https://greenkeeper.io/
2016-06-09 12:34:03 +01:00
Hannah Wolfe bdef04bcda Merge pull request #6947 from TryGhost/greenkeeper-should-9.0.1
Update should to version 9.0.1 🚀
2016-06-09 12:33:46 +01:00
Kevin Ansfield 9262dcd1c6 deps: grunt-subgrunt@1.2.0 2016-06-09 09:14:37 +01:00
greenkeeperio-bot 2d4bfca408 chore(package): update should to version 9.0.1
https://greenkeeper.io/
2016-06-09 07:09:45 +01:00
Hannah Wolfe 7b098e085a Merge pull request #6923 from cobbspur/csvread
Add CSV parser for csv read utility
2016-06-07 17:26:36 +01:00
cobbspur ee539faa9e deps: moment-timezone@0.5.4
No Issue

- update moment-timezone dependency that was downgraded in error
2016-06-07 11:16:12 +01:00
cobbspur 0f0ca5a304 Add CSV parser for csv read utility
closes #6865

- switch csv-read to use a csv-parser for greater reliability and management of strings when importing a csv
2016-06-07 10:47:56 +01:00
Kevin Ansfield db3df16c21 Version bump to 0.9.0-beta.1 2016-06-06 15:09:51 +01:00
greenkeeperio-bot fa7cb35389 chore(package): update jsonpath to version 0.2.4
https://greenkeeper.io/
2016-06-04 22:14:20 +01:00
Hannah Wolfe 80a79172c4 Revert "Revert "Force UTC at process level"" 2016-06-03 09:06:18 +01:00
Hannah Wolfe 78e693f469 Revert "Force UTC at process level" 2016-06-02 14:38:02 +01:00
kirrg001 ec176c243a Force UTC at process level
issues #6406 #6399
- all dates are stored as UTC with this commit
- use moment.tz.setDefault('UTC')
- add migration file to recalculate local datetimes to UTC
- store all dates in same format into our three supported databases
- add option to remeber migrations inside settings (core)
- support DST offset for migration
- ensure we force UTC in test env
- run whole migration as transaction
- extend: Settings.findOne function
2016-06-02 13:23:09 +02:00
greenkeeperio-bot 0683ef194c chore(package): update netjet to version 1.1.1
https://greenkeeper.io/
2016-05-30 17:40:06 +01:00
greenkeeperio-bot d78d305fb3 chore(package): update should to version 9.0.0
https://greenkeeper.io/
2016-05-30 15:35:58 +01:00
greenkeeperio-bot 9f2ff2d031 chore(package): update grunt-mocha-istanbul to version 5.0.1
https://greenkeeper.io/
2016-05-30 07:06:35 +01:00
greenkeeperio-bot c86f4b0625 chore(package): update grunt-mocha-istanbul to version 5.0.0
https://greenkeeper.io/
2016-05-29 10:40:17 +01:00
Hannah Wolfe 4c44257115 Merge pull request #6860 from kirrg001/timezones-support-permalinks
Timezones + support permalinks
2016-05-28 17:19:14 +01:00
greenkeeperio-bot 82752ffdcc chore(package): update validator to version 5.3.0
https://greenkeeper.io/
2016-05-28 02:52:16 +01:00
Hannah Wolfe fc926b840d Merge pull request #6896 from TryGhost/greenkeeper-intl-1.2.4
Update intl to version 1.2.4 🚀
2016-05-27 19:29:31 +01:00
greenkeeperio-bot c60a3f8005 chore(package): update intl to version 1.2.4
https://greenkeeper.io/
2016-05-27 17:11:35 +01:00
greenkeeperio-bot 94bad4eca5 chore(package): update mocha to version 2.5.3
https://greenkeeper.io/
2016-05-27 17:11:35 +01:00
greenkeeperio-bot da48c3637d chore(package): update top-gh-contribs to version 2.0.4
https://greenkeeper.io/
2016-05-27 16:40:15 +01:00
greenkeeperio-bot 94b1e1d952 chore(package): update grunt-contrib-compress to version 1.3.0
https://greenkeeper.io/
2016-05-24 18:53:54 +01:00
greenkeeperio-bot 4101e922e9 chore(package): update mocha to version 2.5.2
https://greenkeeper.io/
2016-05-24 11:37:23 +01:00
greenkeeperio-bot 8eb7c7403b chore(package): update mocha to version 2.5.1
https://greenkeeper.io/
2016-05-23 10:47:22 +01:00
greenkeeperio-bot 66529ea2af chore(package): update should to version 8.4.0
https://greenkeeper.io/
2016-05-21 12:35:28 +01:00
greenkeeperio-bot 8c24068db4 chore(package): update intl to version 1.2.3
https://greenkeeper.io/
2016-05-21 00:30:26 +01:00
greenkeeperio-bot 7ea9da919c chore(package): update oauth2orize to version 1.3.0
https://greenkeeper.io/
2016-05-20 21:11:28 +01:00
Hannah Wolfe 9078113911 Merge pull request #6835 from TryGhost/greenkeeper-jsonpath-0.2.3
Update jsonpath to version 0.2.3 🚀
2016-05-20 21:11:14 +01:00
Hannah Wolfe 1707c0c6ff Merge pull request #6837 from TryGhost/greenkeeper-sqlite3-3.1.4
Update sqlite3 to version 3.1.4 🚀
2016-05-20 21:11:08 +01:00
greenkeeperio-bot 0776d4e6e0 chore(package): update jsonpath to version 0.2.3
https://greenkeeper.io/
2016-05-20 21:09:49 +01:00
greenkeeperio-bot 5ca641a98d chore(package): update sqlite3 to version 3.1.4
https://greenkeeper.io/
2016-05-20 21:09:49 +01:00
greenkeeperio-bot 912a4aa83b chore(package): update intl to version 1.2.2
https://greenkeeper.io/
2016-05-20 21:09:49 +01:00
greenkeeperio-bot f5d34d2ae1 chore(package): update should to version 8.3.2
https://greenkeeper.io/
2016-05-20 21:08:38 +01:00
greenkeeperio-bot cd54e54070 chore(package): update bluebird to version 3.4.0
https://greenkeeper.io/
2016-05-20 21:07:15 +01:00
Aileen Nowak 38a261daac timezones: Always use the timezone of blog setting
closes #6406
- adding timeZone Service to get the offset (=timezone reg. moment-timezone) overall available
- new publishedAtOffset date as CP using timeZone service and moment-timezone to calculate offset incl. DST
- removing timezone-obj transform as it became obsolete with moment-timezone
- reading timezones from configuration/timezones api endpoint
- adding a moment-utc transform to only work with utc times in backend
- when switching the timezone in the select box, the user will be shown the local time of the selected timezone
- added clock service to show actual time ticking below select box
- default timezone is '(GMT) Greenwich Mean Time : Dublin, Edinburgh, London'
- if no timezone is saved in the settings yet, the default value will be used
- showing local time in 'Publish Date' when it's a draft and no actual publishedAt value exists
- Removed the format 'DD MMM YY @ HH:mm (UTC Z)' which resolves to '01 Jan 16 @ 14:00 (UTC +02:00)'
- Changing the date.js helper in core/server for moment-timezone
- Fix timezone select: updates `selectedTimezone` to return the matching object from `availableTimezones`
- Including timezones in test for date-helper
- update to moment-timezone 0.5.1
- moving form-group of 'selectTimezone' further up so
- Tests:
	- Set except for clock service in test env
	- adding fixtures to mirage
	- adding 'service.ajax' to navigation-test.js
	- adding 'service:ghostPaths' to navigation-test.js
- Code improvements
- Changing clockservice to ES6
2016-05-20 13:59:45 +02:00
greenkeeperio-bot 0167efcc33 chore(package): update compression to version 1.6.2
https://greenkeeper.io/
2016-05-20 11:34:19 +01:00
greenkeeperio-bot 7f465ea57a chore(package): update bookshelf to version 0.9.5
https://greenkeeper.io/
2016-05-20 10:54:18 +01:00
Hannah Wolfe d7c2376f1a Merge pull request #6815 from TryGhost/greenkeeper-lodash.tostring-4.1.3
Update lodash.tostring to version 4.1.3 🚀
2016-05-20 10:54:05 +01:00
Hannah Wolfe 72c6cf7f93 Version bump to 0.8.0 2016-05-18 22:28:23 +01:00
greenkeeperio-bot ad63273139 chore(package): update lodash.tostring to version 4.1.3
https://greenkeeper.io/
2016-05-12 16:21:35 +02:00
Hannah Wolfe 5101913db1 deps: remove jscs-jsdoc
- jscs-jsdoc is now part of jsdoc itself, and the additional plugin is no longer required
2016-05-08 13:17:19 +02:00
greenkeeperio-bot e6008cd6d1 chore(package): update body-parser to version 1.15.1
https://greenkeeper.io/
2016-05-06 07:44:46 +02:00
greenkeeperio-bot c3780efc86 chore(package): update express-hbs to version 1.0.1
https://greenkeeper.io/
2016-05-04 13:57:42 +02:00
greenkeeperio-bot 09bb961072 chore(package): update sinon to version 1.17.4
https://greenkeeper.io/
2016-05-03 22:19:27 +02:00
greenkeeperio-bot 04cde39657 chore(package): update dependencies
https://greenkeeper.io/
2016-05-03 21:22:43 +02:00
Jason Williams 7a8c064c42 deps: grunt@1.0.1 + related updates
- Gets all grunt dependencies in line with the
  grunt 1.0 release.
- deps: grunt-cli@1.2.0.
- deps: grunt-bg-shell@2.3.3.
- deps: grunt-contrib-clean@1.0.0.
- deps: grunt-contrib-compress@1.2.0.
- deps: grunt-contrib-copy@1.0.0.
- deps: grunt-contrib-jshint@1.0.0.
- deps: grunt-contrib-watch@1.0.0.
- deps: grunt-docker@0.0.11.
- deps: grunt-express-server@0.5.3.
- deps: grunt-jscs@2.8.0.
- deps: grunt-mocha-cli@2.1.0.
- deps: grunt-mocha-istanbul@4.0.2.
- deps: grunt-shell@1.3.0.
- deps: istanbul@0.4.3.
2016-04-28 09:18:27 -05:00
Terin Stock 7bbfc37df6 automatically insert Link rel="preload" headers 2016-04-26 14:07:36 -07:00
Hannah Wolfe f955fa14e8 deps: path-match@1.2.4 2016-04-26 13:00:12 +01:00
Hannah Wolfe 5f64d03054 deps: morgan@1.7.0 2016-04-26 13:00:11 +01:00
Hannah Wolfe 7b9e61cba9 deps: moment@2.13.0 2016-04-26 13:00:11 +01:00
Hannah Wolfe 380a539ec0 deps: extract-zip@1.5.0 2016-04-26 13:00:11 +01:00
Hannah Wolfe de9976070b deps: chalk@1.1.3 2016-04-26 12:59:32 +01:00
Hannah Wolfe adaa5c2992 deps: bookshelf@0.9.4 2016-04-26 12:59:32 +01:00
Hannah Wolfe 1745335423 deps: body-parser@1.15.0 2016-04-26 12:59:32 +01:00
Hannah Wolfe 63be9964a2 deps: bluebird@3.3.5 2016-04-26 12:59:32 +01:00
Sebastian Gierlinger 9dd19dd4ff Merge pull request #6745 from ErisDS/express-hbs-update
deps: express-hbs@1.0.0
2016-04-26 13:47:42 +02:00
Hannah Wolfe e21640a7e5 deps: validator@5.2.0
- also remove from greenkeeper ignores
2016-04-21 12:20:37 +01:00
Hannah Wolfe 31857ed78a deps: express-hbs@1.0.0
refs #2459

This includes updating handlebars to v4 as well as other fixes which
will introduce breaking changes to the theme API:

From express-hbs:
- partials must now use the `.hbs` extension, the same as templates
From handlebars:
- Depthed paths are now conditionally pushed on to the stack.
If the helper uses the same context, then a new stack is not created.
This leads to behavior that better matches expectations for helpers
like if that do not seem to alter the context. Any instances of ../
in templates will need to be checked for the correct behavior under 4.0.0.
In general templates will either reduce the number of ../ instances
or leave them as is. See #1028.
- The = character is now HTML escaped. This closes a potential exploit
case when using unquoted attributes, i.e. <div foo={{bar}}>. In general
it's recommended that attributes always be quoted when their values are
generated from a mustache to avoid any potential exploit surfaces.
2016-04-21 10:45:54 +01:00
Hannah Wolfe f14c9f488f Merge pull request #6645 from joerx/issue6462
deps: validator@5.1.0
2016-04-20 18:55:43 +01:00
Jason Williams b4adc322f8 deps: top-gh-contribs@2.0.3 2016-04-18 22:50:48 -05:00
Joerg Henning 0f3cb44227 deps: validator@5.1.0
closes #6462

- monkey-patch validator.extends() since it was dropped by validator @5.0.0
- coerce input to string prior to validation (custom toString func)
- need to handle boolean validation based on column type not isIn()
- use `lodash.tostring` to convert input values to strings
2016-04-19 09:39:12 +08:00
Hannah Wolfe 4b641bba7c Version bump to 0.7.9 2016-04-14 12:21:36 +01:00
Hannah Wolfe 6b74e1a34a Dev tooling clean up
- remove old casper.js tests
- cleanup mochacli groups that are less useful than `grunt test:path`
- improve inline Gruntfile.js docs
- fixup coverage for new internal apps
- add new coverage-all task which works for all our tests
- reverse order of master-warn messages to make this clearer
- remove bluebird from greenkeeper ignores
2016-04-13 13:21:33 +01:00
Hannah Wolfe 7ff74010fd Merge pull request #6659 from jaswilli/multer
Replace busboy upload middleware with multer
2016-04-11 11:07:34 +01:00
Hannah Wolfe 098974917f Merge pull request #6644 from jaswilli/auth-origin
Relax origin header checking and add more CORS support
2016-04-08 22:10:02 +01:00
Jason Williams c41ee354b1 Replace busboy upload middleware with multer
- deps: multer@1.1.0
2016-04-07 21:30:46 -05:00
Hannah Wolfe f4d1afe494 Merge pull request #6665 from jaswilli/uglify
deps: grunt-contrib-uglify@1.0.1
2016-04-01 11:12:38 -07:00
Jason Williams 07dab144bd Add middleware for handling CORS
Refs #6644
- deps: cors@2.7.1; Add express cors package.
- Adds new middleware for proper CORS support.
- Handles CORS pre-flight checks.
- Separates request authentication/authorization from
  CORS.
2016-03-31 10:58:52 -05:00
Jason Williams 401fbb1c71 deps: grunt-contrib-uglify@1.0.1 2016-03-30 17:22:33 -05:00
Jason Williams 0ed0a72c35 Replace internal tempfile name generator
- Drops "tempfile" module in favor of using the "tmp"
  external package.
- Drop unused "rimraf-then" package.
2016-03-29 15:19:42 -05:00
Jason Williams bdcb25a0cd Remove method stubs from upload API tests 2016-03-28 23:02:23 -05:00
Hannah Wolfe bd0f16aea7 Remove support for old io.js version
- io.js and node merged some time ago now
- we only ever had support for a single random and now very old version of io.js anyway
2016-03-26 14:54:23 +00:00
Jason Williams ee534845e5 deps: bookshelf@0.9.2 2016-03-21 19:27:23 -05:00
Jason Williams 57250edf0b deps: knex@0.10.0
Closes #6573
2016-03-21 19:27:23 -05:00
Hannah Wolfe e4a1797085 Remove should-sinon dependency
no issue

- removes should-sinon dependency from package.json
- rewrites all usages of should-sinon to use normal should assertions

Unfortunately, should-sinon has very minimal documentation  and therefore it is hard to discern what is considered a correctly-written assertion:
- in some cases, refactoring to use should-sinon causes false positives
- in other cases, assertions that work written in the normal way fail when written using should-sinon (e.g. getters, combos with rewire)
The additional overhead created by these issues outweigh any benefit from the easier-to-read assertions
2016-03-14 16:52:22 +00:00
Jason Williams 1edf49daf7 deps: bluebird@3.3.3
- Finishes refactoring started in #6376.
- Fixes invalid Promise.map() call.
- Cleans up promise (rejection) handling.
2016-03-01 15:17:20 -06:00
JT Turner 3db9913191 deps: bluebird@3.1.2
closes #6361
- Updated bluebird dependency to latest 3.1.2.
- Updated update check to handle promises not resolving to arrays.
- Reviewed all other promise code and it looks good.
- Updated code using settle to use the new reflect function.
2016-03-01 14:47:23 -06:00
Hannah Wolfe 8f8f07ed80 Version bump to 0.7.8 2016-02-18 19:17:07 +00:00
Hannah Wolfe 2d2a8f9f41 Version bump to 0.7.7 2016-02-18 14:19:09 +00:00
Cameron Viner 8fd272476b Removed uneeded jshint comments in order to cleanup the tests
closes #6505
-Removed all of the /*jshint expr:true*/ comments from the tests
-Removed all of the should.equal(true, true) statements from the tests
-Removed should from the greenkeeper ignores
2016-02-17 12:52:43 +00:00
Hannah Wolfe c301510cd1 Refactor gravatarLookup, remove request dependency
no issue

- request is quite a heavy dependency
- we were only using request in 3 places: a test, storing contrib images in the gruntfile & the gravatar lookup
- all 3 are relatively simple to do with the http/https module
- refactored all 3, removed request
2016-02-16 11:12:01 +00:00
Hannah Wolfe 893971cc51 Merge pull request #6490 from naoyak/node-4-semver
Support Node v4 LTS semver-minor releases
2016-02-12 11:28:21 +00:00
Naoya Kanai 4834cb436d Support Node v4 LTS semver-minor releases
Fixes #6473
- Replace Node v4.2 with v4 in Travis config
- Replace ~4.2.0 with ^4.2.0 in engines to support semver-minor bumps in LTS line
2016-02-12 01:37:27 +09:00
Hannah Wolfe ffa92ab913 deps: ghost-gql@0.0.4 2016-02-11 13:13:56 +00:00
Hannah Wolfe b4a126bf58 deps: mocha@2.4.5 2016-02-10 15:52:08 +00:00
Hannah Wolfe 0bb2a2f852 Merge pull request #6464 from cameronviner/6448
Upgrade should.js to version 8.2.1 (Issue #6448)
2016-02-09 14:27:23 +00:00
Cameron Viner faba83d5dc deps: should@8.2.1
closes #6448
-upgraded should.js to the latest version (8.2.1)
-Changed the tests so that they comply with the breaking changes introduced in the new version of should.js
-Installs the package should-http so should.be.json() can be used
-Installs the package should-sinon so that should.be.calledOnce() can be used
2016-02-09 13:39:10 +00:00
Hannah Wolfe 52ca6fba27 Updating greenkeeper ignores 2016-02-08 21:43:53 +00:00
Hannah Wolfe f02169c449 deps: xml@1.0.1 2016-02-08 21:42:41 +00:00
Hannah Wolfe 42236c1414 deps: request@2.69.0 2016-02-08 21:42:41 +00:00
Hannah Wolfe 800b081a4c deps: oauth2orize@1.2.2 2016-02-08 21:42:41 +00:00
Hannah Wolfe 1be0a84a01 deps: moment@2.11.2 2016-02-08 21:42:40 +00:00
Hannah Wolfe d5ce500a7b deps: html-to-text@1.6.0 2016-02-08 21:42:40 +00:00
Hannah Wolfe 69657a59de deps: fs-extra@0.26.5 2016-02-08 21:42:40 +00:00
Hannah Wolfe fc60558176 deps: express@4.13.4 2016-02-08 21:42:39 +00:00
Hannah Wolfe 4a98481583 deps: compression@1.6.1 2016-02-08 21:42:39 +00:00
Hannah Wolfe 10a30f2b27 deps: cheerio@0.20.0 2016-02-08 21:42:39 +00:00
Hannah Wolfe 28def854d2 Add bower to greenkeeper ignores 2016-02-08 14:05:43 +00:00
Sebastian Gierlinger 56e94ee314 Merge pull request #6450 from ErisDS/devdep-updates
Dev dependency updates
2016-02-08 11:31:51 +01:00
Sebastian Gierlinger 218c48e80d Merge pull request #6455 from ErisDS/bookshelf-knex
deps: bookshelf@0.9.1 & knex@0.9.0
2016-02-08 11:14:06 +01:00
Hannah Wolfe 13d99efe60 deps: remove testem 2016-02-08 09:56:10 +00:00
Hannah Wolfe 2f5d743b6d deps: sinon@1.17.3 2016-02-08 09:55:31 +00:00
Hannah Wolfe b3300b3d49 deps: fix rimraf-then@1.0.0 2016-02-08 09:54:52 +00:00
Hannah Wolfe 17404ea89f deps: rewire@2.5.1 2016-02-08 09:54:51 +00:00
Hannah Wolfe 116ce67e92 deps: nock@7.1.0 2016-02-08 09:54:51 +00:00
Hannah Wolfe 607202abf4 deps: matchdep@1.0.0 2016-02-08 09:54:51 +00:00
Hannah Wolfe 8be9ccb104 deps: jscs-jsdoc@1.3.1 2016-02-08 09:54:51 +00:00