Commit Graph

400 Commits

Author SHA1 Message Date
Ryan McCarvill
e43ef8c7b5 📦 Card-Rename (#603)
no issue
- Renames Cards so they comply with the `card-{{name}}` convention rather than `{{name}}-card`
- Adds a unkonwnCardHandler to the editor.
2017-03-24 10:03:52 +00:00
Ryan McCarvill
2f10b0fb64 🚀 Link improvements (#601)
no issue
- Adds a few improvements for link insertion.
  - Sanitises links
  - Toggles a link so that if there are existing links in the selected text it removes them.
2017-03-24 09:40:21 +00:00
Ryan McCarvill
daad5ab17b Multi line title. (#595)
refs https://github.com/TryGhost/Ghost/issues/7754

The title is now a contenteditable div which stretches and wraps to behave like the editor.

It also tries to seemlessly move the cursor between the editor and title to make one coherent editing experience.
2017-03-21 23:42:14 +00:00
Ryan McCarvill
848eda5656 🐜 Card Menu Default State Enter Action (#600)
closes https://github.com/TryGhost/Ghost/issues/8196

The default state of both the '/' and '+' card menus is a selection of -1, this ensure that the active tool prompt isn't shown until the user presses an arrow key for keyboard selection. However -1 isn't a valid tool id so when pressing enter without selecting a tool the user will cause an error.

This update ensures that the selected tool is the first tool available even if the selection is in fact -1.
2017-03-21 14:05:49 +00:00
Ryan McCarvill
c412d6e6f9 🐝 Fix editor toolbar link focus issues. (#599)
closes https://github.com/TryGhost/Ghost/issues/8195

When the toolbar is toggled into link mode the link input field should always focus, however this only happens on the first time which leads to issues with mobiledoc having focus but not the range.

This fix means that the toolbar always focuses.
2017-03-21 13:52:47 +00:00
Ryan McCarvill
5b44886412 Insert Link styling (#598)
closes: https://github.com/TryGhost/Ghost/issues/8109
- adds styling for the insert link toolbar component.
2017-03-20 12:44:09 +00:00
Ryan McCarvill
a88b8bc00a 🐝 Card menu fixes (#597)
closes: https://github.com/TryGhost/Ghost/issues/8106

- Fixes the keyboard selection problems of the '+' menu.
- Makes the active state of the keyboard selection blank until a key is pressed.
- Fixes it so that the '+' menu executes the tool on Enter.
2017-03-20 12:40:20 +00:00
Ryan McCarvill
78755dcbb5 🐜 Bulk selecting (#594)
closes: https://github.com/TryGhost/Ghost/issues/8153

Previously when selecting text in the editor the screen will jump as it tries to scroll so that the cursor is always on it.

This update means it will no longer happen when selecting the text with either the mouse or in a mobile browser. Unfortunately when selecting text with the keyboard the editor will no longer scroll with the cursor.
2017-03-20 12:12:12 +00:00
Ryan McCarvill
0439966587 Add classes to card. (#591)
closes: https://github.com/TryGhost/Ghost/issues/8179
- previously all cards just had a `__mobiledoc-card` class on them, this update replaces them with a class `kg-card` and adds an additional class of `kg-{{card_name}}`
2017-03-20 12:08:54 +00:00
Hannah Wolfe
4122d0334f 🔥 Remove handlebars from serving admin (#593)
refs TryGhost/Ghost#8140
refs TryGhost/Ghost#8184

- now that the admin index page is just html, we don't need handlebars anymore
- this changes the template be called .html to reflect this
2017-03-20 12:01:06 +00:00
Ryan McCarvill
e031b18b31 🐜 ️ Card menu fixes:
Closes #8164

- When a user clicks on a card within a '/' menu it now executes that tool.
- If a user engages a card with the / menu the content of the paragraph is now inserted into the card.
2017-03-20 10:30:26 +00:00
John O'Nolan
0b867dfb89 Styling for editor image uploader card 2017-03-16 16:39:57 +02:00
Ryan McCarvill
63f4020970 🐝 🐜 '+' button double click bug (#589)
refs https://github.com/TryGhost/Ghost/issues/8106

When a user clicks on the plus button it opens the card menu, when they click on it twice the card menu input field loses focus and the card menu closes, because the Range object of the document is no longer within the editor the '+' button also disappears. This has the effect of making the '+' button disapear when double clicking.

Now when the input field to search cards loses focus the card menu disapears but the '+' button remains, we rely on the cursorDidChange event to also hide the button.
2017-03-16 11:18:08 +00:00
John O'Nolan
f8dd2c37dd Card menu trigger styling 2017-03-15 17:43:12 +02:00
Ryan McCarvill
715fe52793 🐜 🐝 Create link from toolbar (#586)
closes https://github.com/TryGhost/Ghost/issues/8163

Previously when you created a link the toolbar component would re-render and dissapear.

This update ensures that the logic that must happen on first render does not happen on subsequent renders.
2017-03-15 14:55:20 +00:00
Ryan McCarvill
88da7bc335 🐝 Add cards in lists (#585)
refs https://github.com/TryGhost/Ghost/issues/8157

Currently mobiledoc-kit doesn't allow the inserting or replacing of a list item with a card.

There is a solution that works toggling the section to a `p` then replacing the section, however there are issues with the mobiledoc range object becoming out of sync and the workarounds for that are too hacky.

We need to update mobiledoc to deal with this usecase (although the way that ranges are handled during undo might also be an option worth exploring), but for now we'll simply insert a card at the bottom of the list which is unfortunately different behaviour from any other block.
2017-03-15 10:29:10 +00:00
Kevin Ansfield
21361df3be Revert "Multi line title (#575)"
This reverts commit 989ad7b9c1.
2017-03-14 16:37:47 +00:00
Kevin Ansfield
4de244974e 🎨 remove usage of ghost's {{asset}} helper in index.html (#574)
refs #8140

🎨 remove usage of ghost's {{asset}} helper in built index.html files

requires https://github.com/TryGhost/Ghost/pull/8142
- switch to hash-location rather than history-location
- remove usage of Ghost's `{{asset}}` helper in index.html
- add `content-for` helpers to `asset-delivery` addon that switch asset urls in index.html to `.min` files in production
- update the `asset-delivery` addon to copy the production `index.min.html` to `default-prod.hbs` so Ghost can serve production assets when in production mode
- change template output path to `core/server/admin/views/`
- enable asset fingerprinting
- remove `ember-cli-sri` dependency - we weren't using it but now that ember is handling assets it was used automatically and could potentially create issues if users have proxy servers that attempt to compress or otherwise modify asset files

 redirect to setup if server says setup isn't finished

refs https://github.com/TryGhost/Ghost/issues/8140
- now we're using hash-location the server no longer knows if we're hitting the /setup route so it's not able to redirect for us
- extends the default ESA `UnauthenticatedRouteMixin` to add a check against the `/authentication/setup` API endpoint and redirects to `/#/setup/one` if setup isn't complete - this works for all routes because the default behaviour when hitting an authenticated route without the right credentials is to force a logout and redirect to `/#/signin` which utilises the `UnauthenticatedRouteMixin`

deps: ember-cli-inject-live-reload@1.6.1
2017-03-14 17:04:46 +01:00
Ryan McCarvill
989ad7b9c1 Multi line title (#575)
refs https://github.com/TryGhost/Ghost/issues/7754
- The title is now a contenteditable div which stretches and wraps to behave like the editor.
- It also tries to seemlessly move the cursor between the editor and title to make one coherent editing experience.
2017-03-14 13:50:30 +00:00
Ryan McCarvill
9a0b72071d 👯 ♥️ ♣️ ♦️ ♠️ New editor card menu (#580)
refs https://github.com/TryGhost/Ghost/issues/8106, https://github.com/TryGhost/Ghost/issues/7429, requires https://github.com/TryGhost/Ghost/pull/8137

-Adds new "card" menus
  - Navigation with keyboard in both axis.
  - Search with keyboard in both menus.
  - Adds a "+" Menu for cards
  - Adds a "/" Menu for cards
    - if the block has content and it becomes a markdown or HTML Embed card then the content is included into the card.
    - Image and HR cards appear below the current section
- Adds new toolbar with both inline and block styling.
- Adds a new 'divider' card.
2017-03-14 11:59:34 +00:00
Austin Burdine
253a0fb2cf various test deprecation cleanup
no issue
- cleans up a lot of the deprecation noise in tests
- remove ember-cli-deprecation-workflow dependency
2017-03-08 18:56:30 +00:00
John O'Nolan
8aa02da02c Editor card-menu and toolbar style updates 2017-03-08 21:08:20 +08:00
Ryan McCarvill
c5b0301e87 Koenig tests. (#564)
* 👷   Editor tests
Added acceptance tests for koenig markdown-like support.
Added some unit tests for koenig located in the /lib/koenig/test-support directory.
2017-03-07 23:57:09 +13:00
Kevin Ansfield
ea58dc6f85 🔥 remove URL input option from image upload components
refs https://github.com/TryGhost/Ghost/issues/8032
- `fileStorage: false` config is going away, it predates storage engines and will simplify future image optimisation work
- simplifies UI, it can be brought back in the future in a more robust fashion if required
2017-03-03 11:01:55 -06:00
Kevin Ansfield
38913eedfd fix missing template compiler warning for gh-koenig
no issue
- I was a little overzealous with the file cleanup, not realising that the template compiler must be specified even if it's not installed within the addon
2017-03-02 18:56:32 +00:00
Kevin Ansfield
cfea2010ef clean up gh-koenig files not relevant to in-repo-addon
no issue
- removes local addon dependency files to avoid confusion now that the host app manages dependencies
- removes unused tests directory
- these files may come back eventually, there's an open ember-cli RFC to improve in-repo-addon isolation and testing https://github.com/ember-cli/rfcs/pull/60
2017-03-02 18:45:04 +00:00
Kevin Ansfield
8542331c4a remove duplicate/conflicting gh-koenig license files 2017-03-02 18:24:35 +00:00
Kevin Ansfield
7ed3fad074 turn on linting for the editor, fix errors and match Ghost-Admin styles 2017-03-02 16:51:57 +00:00
Kevin Ansfield
a3a6c6c3ec remove unused codemirror files 2017-03-02 15:15:27 +00:00
Kevin Ansfield
7f14f6cd87 remove duplicated and unused editor files
no issue
- as a separate project a number of Ghost-Admin components and files had been copied verbatim, these are no longer needed as the original components are available now that the editor is integrated
2017-03-02 12:16:20 +00:00
Kevin Ansfield
023a714c6b move editor deps into main project
no issue
- this prevents the need for running `npm/yarn install` inside the `lib/gh-koenig` directory
- `ember-cli` may eventually be able to handle this with an `ember install` or similar command, there's [an in-repo-addon RFC](638cad2405/active/0000-better-in-repo-addons.md) suggesting this improvement but it hasn't got much traction yet - it may be necessary to wait until ember-cli has standardised on `yarn`
2017-03-02 11:06:20 +00:00
Ryan McCarvill
4ceb547db7 fixed the menu in perperation to the + button 2017-03-02 09:56:52 +00:00
Ryan McCarvill
b61e2055a2 refactor and rename ghost-editor to koenig, removed tests from koenig to integrate into ghost-admin 2017-03-02 09:56:52 +00:00
Ryan McCarvill
b5cb951d3c renamed to koenig 2017-03-02 09:56:52 +00:00
Ryan McCarvill
0c7646dea8 removed tests 2017-03-02 09:56:52 +00:00
Ryan McCarvill
9c7215423e Removed frontend components. 2017-03-02 09:56:52 +00:00
Ryan McCarvill
999c6067f0 Implemented new toolbar styling and layout. 2017-03-02 09:56:52 +00:00
Ryan McCarvill
76d89d9f61 added .jshintrc file to pass jshint 2017-03-02 09:56:51 +00:00
Ryan McCarvill
e422f0bcba 👷🏻‍♀️🚧👷 Ghost-Editor integration.
Integrated Ghost-Editor as an in-repo addon.
Moved CSS to /app/styles/addons/ghost-editor/

Still a WIP.
2017-03-02 09:56:51 +00:00
Kevin Ansfield
920406c252 Revert "Offline Support via ServiceWorker" (#526)
Temporarily reverting in order to get the next alpha release out. Unfortunately this has the unintended consequence of the service worker caching a 200 response for /ghost/ so when starting a new blog the redirect to /setup/one that the server sends is never picked up.

This would only affect developers using localhost/people trying to set up a blog multiple times on the same domain but as that's the target audience for the alpha it's probably best to avoid any confusion.
2017-02-11 22:57:12 +00:00
Felix Rieseberg
abe3444426 🚀 Offline Support via ServiceWorker (#523)
This commit adds support for service workers, mostly by including packages that do the heavy lifting. Those are in detail:

* ember-service-worker (SW infrastructure)
* ember-service-worker-ghost-cache (Caches static assets and the main application)
* ember-service-worker-cache-fallback (Caches API requests and falls back to the cache if the server can’t be reached)
* ember-service-worker-index (Caches main html)
2017-02-11 14:42:46 +00:00
Greenkeeper
348f1c0ffa Update fs-extra to version 2.0.0 🚀 (#493)
* chore(package): update fs-extra to version 2.0.0
* update yarn.lock and fix fs-extra usage in lib/asset-delivery
2017-01-16 19:45:13 +00:00
Kevin Ansfield
9b47d91be2 💄remove final jscs references 2016-11-16 12:27:30 +00:00
Kevin Ansfield
91dfd0cbf7 switch from jshint/jscs to eslint
no issue
- drop `jshint`, `jscs`, and `ember-suave` dependencies
- remove `grunt` related linting dependencies and tasks
- remove linting build from Travis so that linting can be performed as part of the normal test suite (refs TryGhost/Ghost#7427)
- add `ember-cli-eslint` and `eslint-plugin-ember-suave` dependencies
- configure `eslint` to match our previous coding style
- update config to run eslint tests as part of the normal test run
- add `npm run lint` command to only run linter tests
2016-11-14 13:25:36 +00:00
Kevin Ansfield
2f4f6db133 Use es6 across client and add ember-suave to enforce rules
no issue
- add ember-suave dependency
- upgrade grunt-jscs dependency
- add a new .jscsrc for the client's tests directory that extends from client's base .jscsrc
- separate client tests in Gruntfile jscs task so they pick up the test's .jscsrc
- standardize es6 usage across client
2015-11-30 10:41:01 +00:00
Robert Jackson
4955dc104e Merge core/built instead of clearing on every build. 2015-08-21 12:17:39 -04:00
Austin Burdine
8332201026 updates Ember-CLI to 0.2.7
No issue
- moves the authentication initializer to be an instance initializer
- updates dependencies
- fixes error with asset-delivery not copying
- fixes problem with testing by re-building ember before casper tests
2015-06-08 09:18:50 -04:00
Matt Enlow
082c437fff Serve files to core/built/assets/
- see core/client/lib/assets-delivery/index.js for how this is done
- Turn off ember-cli fingerprinting
- ember-cli 0.2.0; Update .npmignore
- Fallback to old version of ember-cli-sass due to lib-sass errors
- Keep ember-data at beta-14.1 until we find the dep that's breaking on snapshot.attr
- Fix release task to ignore blank lines in .npmignore
2015-03-12 15:59:02 -06:00
Jason Williams
46a66a36b1 Fix up ember-cli generated files and misc jscs/jshint errors 2015-03-11 12:37:42 -06:00
Matt Enlow
0bc879edbe Build assets with ember, and serve with ghost 2015-03-11 12:37:41 -06:00