Closes#4768
- Notifications that used to read ‘View Post’ now read ‘View Page’ if
the post is actually a page
- The Editor Save Button now also makes a distinction between posts and
pages
Refs #4750
- Make "Feature" a Controller with promise support.
- Use via 'needs' instead of injecting from an initializer because
we need authenticated access to the API.
- Check whether feature is enabled when entering Code Injection route.
Ember.ObjectController (and Ember.ArrayController) will be deprecated in
Ember 1.11 (and removed from core in Ember 2.0). The reasoning is
detailed in the Ember 2.0 RFC.
This PR does the following:
* Updates templates/controllers/views to explicitly reference model
properties (instead of relying on proxying behavior).
* Clearly delineate where certain properties are being set or retrieved
from (for example it was not clear exactly where `scratch` and
`titleScratch` were stored).
* Remove usage of `Ember.ObjectController`.
* Add JSCS rule to prevent future PR's from adding regressions.
No issue.
* Fix indentation (it was surprisingly hard for me to grok what was happening
without indentation).
* Utilize `alternateActive` from `core/client/utils/link-view.js` to
maintain the `active` state. Observing `childViews` is deprecated (and
may not work properly in future versions of Ember).
* Remove now unused `item-view`.
No Issue
- Generalize embedded-relation-adapter so it can be used for both fetching
and saving records.
- Change Adapter inheritance hierarchy to
RESTAdapter => BaseAdapter => EmbeddedRelationAdapter. ApplicationAdapter
now extends EmbeddedRelationAdapter.
- Cleanup or remove adapters that existed just to extend directly
from EmbeddedRelationAdapter.
- Misaligned header due to back button being in the wrong place in the markup
- Corrected padding on tag delete button
- Updated tag settings input labels for consistency
No issue
The transparent border surrounding modals was being cut off.
This fix uses padding instead of adjusting the left & right valued to create space.
Issue #4683
- Finish setting up pagination in tag management page.
- Add post count warning to delete tag modal. Fix styling.
- Make sure tag input menu is loading all tags.
- Only include saved tags in tag input suggestion list.
- Unload tag records from store when entering tag route so that
we get accurate post count.
- Add a resetPagination action to pagination-controller-mixin for
cases where we want to start fresh.
- Include tag.id when sending tag payload to API.
closes#4683
- added post count to 'delete tag' modal
- fixed lint errors
- preventing extra data to be sent to server
- adjustments suggested by @jaswilli
Closes#4499
- Introduces a URL preview component
- Added the component to tag settings and post settings
- Adds a new CSS file for this component which makes sure the preview never wraps onto multiple lines
Refs #4537
Static mockup of the navigation UI
- Includes hacky JS to simulate interactions (but not dragging, which is #4540 and no modal when deleting)
- Delete & add icons have invisible padding to increase hit area
- Drag handle has the `move` cursor
- Switches into a single column at 600px and below
No Issue
- ember-data@beta.12
- ember-data now warns if a payload contains properties that do
not exist in the model. Because of this all missing model
attributes have been added (without their relationship defined)
because they're currently unused and we don't need to generate
additional API requests to resolve the async relationships.
Closes#4633
- The ‘delete’ button is now a smaller plain text link, opening a
confirmation modal analog to the delete user/post flow
- Adding a post count is dependent on #4654, but the modal is already a
neat step up from the immediate, warning-less deletion.
Ref #4651
- Manually triggering the change event ensures compatibility with
legacy password managers and browsers not properly firing events on
autofill (which leads to Ember not picking up the entered values)
No issue
- Changes Modals to use CSS-based animations
- All modals have an animation, so the option is removed from the handlebars helper
- Removes `animation` from the handlebars helper, as all had one anyway
- Removed the `centered` style - All modals should be left-aligned
- Buttons now default to being on the left
- Cleans up some styles (modal body top spacing) which #4632 helped clean up
No Issue.
- Neither of these properties should be included in the
payload sent from the client to the API. URL is a
read-only virtual property, and author_id is inserted
locally as a convenience.
Closes#2092
- Adds styling for re-auth modal.
- Prevent transition to posts route on success.
- Clear credentials from controller.
- Handle confirmAccept action if form is submitted via 'enter'.
- Only allow re-auth as the user that was previously logged in.
fixes#4356
- Added new keyPress event handler to identify keys by character instead of key
- Removed code for handling comma key from keyDown event handler
closes#1756
- adds a post url link to 'post updated' and 'post published' in editor
- adds join function in ghost paths
- adds a '/' detection to makeRoute method
- adds test for join function
closes#4624
- added user_id to password reset request
- hide old password field
- updated changePassword method to check permissions
- updated changePassword method to work without oldPassword
- fixed bug for errors shown as [Object object]
Closes#4506
Works just like the Post Cover Images (and uses the same component)
Tiny changes to the component ensures that we can reuse it across Ghost
Closes#4509, Closes#4615
- Adds meta title & meta description input fields
- Autosaves meta data
- Shows SEO preview (falling back to tag name & description if meta not supplied)
- Adds `type="button"` to delete button (which closes 4651)
closes#4516
- shortcut for ctrl/cmd+s on application level
- shortens a syntax for any route that is using 'save' method, shortcuts object doesn't have to be defined at all, only the save action.
Closes#4508
Tests for:
- Version number is a number
- Database type is an allowed 1 of 3
- There are 20 contributors
- First contributor has an image tag and image src exists, alt tag, title tag, href to github
fixes#4572
- Remove both inline and bottom footnotes from excerpt output before stripping the remaining HTML
- No more red errors, black text or bold links in codemirror, as codemirror gets confused by footnote syntax. This is a step towards the new editor which has no syntax highlighting in the editor
Refs #4578
- Match label "for" attributes with ids from the inputs they're
labeling.
- Remove extra promise generation from ghost header and footer helpers.
refs #1993
- adds ctrl/cmd+s for save
- adds config flag
- adds icon on settings page, puts items in the right order
- sorts out permissions for all settings pages with consistent configuration
fixes#4555
- There's no easy way to declare an XSL with the node xml module, so I
needed to move the declarations to both be strings
- Ideally the code to serve the XSL would also be inside the sitemap
module, but I think we need to refactor a bit to get there easily
- Added the XSL from #4559, with minor amends to make the tables and urls
display correctly
Closes#4446
- Mobile Safari doesn’t support the HTML5 `autofocus` attribute, but
also doesn’t play nice with jQuery’s `focus()` and `select()` methods.
- Mobile Safari wouldn’t automatically select the input field anyway,
so this PR simply removes the “jumping input fields” error without
changing any actual behaviour.
- Disallowing the programmatic selection of input fields (with select,
focus or similar methods) is apparently considered a feature rather
than a bug (ref http://bugs.jquery.com/ticket/12789)
- `autofocus` attribute is now only set on non-iOS devices
Closes#4557
- The underlying issue is that the PSM is already loaded when Ember
routes from an existing post to a new post. Instead of resetting the
‘Published Date’ value manually (with jQuery), I’m using Ember’s
computed property setter to ‘refresh’ the cache for that property. I
believe that this Ember solution is better than manually going in and
resetting it with jQuery.
closes#4534
- Adds new Labs route
- Wires route in settings page
- Move and rename debug templates and logic to labs
- Redirect /debug to settings/labs
Closes#4379
- Adjusts the `.viewport` `z-index` propetty to allow notificatons to sit over the nav bar
Looks like a weird fix, but inheritence of z-index was the issue here.
Refs #4543
- Check EditorController.isDirty before displaying the
authorization failed modal dialog. This prevents the modal
appearing immediately upon entering the editor in cases where
auth has failed prior to opening the editor.
Refs #4543
- Alway return model out of save handler so sub-classes which
call this._super() on save have a model on success and failure.
- Always return resolved promise out of post slug generator.
- Test the errors object in the error notification helper to avoid
throwing an unhandled exception and silently failing.
- Consider a post model "dirty" if it is in an error state.
closes#4485
- removes data attributes used on body in default.hbs
- introduces new way to generate configuration through meta tags
- config initializer consumes configurations from the meta tags using parser
- moves blog_title helper/value to be a property in a configuration api
No issue
- Consolidate extension of Ember.Router.
- Remove unneeded local jshint flags and '_' as a global.
- Cleanup client README.md.
- Fix error message.
- Every route can set a title token that is combined with the blog’s
title, resulting in titles like ‘Content - Test Blog’.
- Subroutes are supported (‘Settings - General - Test Blog’)
- The blog’s name is applied to and taken from the `config` object to
spare Ember a REST call via `store.find(‘settings’)`.
- Tests have been changed to test for the new titles.
- The initially proposed solution
(https://github.com/paddle8/ember-document-title) doesn’t play nice
with EAK, which is why I went with this solution
(https://gist.github.com/machty/8413411) by Ember.JS core dev @Machty.
Closes#4431
- The PSM does not reset on a transition from editor (existing post) to
editor (new post). If the existing post had a cover image, the image
uploader would not be reset during the transition and appear slightly
broken in the editor for the new post.
- In this PR: A reference to the uploader is saved, allowing the route
for editor/new to instruct the PSM controller to have the uploader
reset.
Ref #4248
- Added tags settings menu
- Added basic new, edit, delete, and save actions
- Show actionable edit buttons dynamically based on tag state
- Infinite scroll
- Closing the tag settings menu rollbacks your changes
- Removed not-yet-implementable code
No Issue
- Add local store lookup back to edit route.
- Prevent entry into route when an author is not the owner of a post
even if model is passed in.
- Clean up references to pagination as there's no pagination going on.
References #4248
- Updates the markup & classes for the tag management settings menu, as they've fallen behind now we've renamed the 'right-outlet' to 'settings-menu'
Closes#3998
- Scroll the active post into view on page load
- If the active post changes and the newly active post is offscreen, scroll it into the middle of the screen
Closes#4400
- Added focusCursorAtEnd property to codemirror component, to set the cursor at document end on load. Used for posts that have been edited
- centralized codemirror init code in component
Closes#4378. Closes#4455.
- Trim whitespace from tag names on entry.
- Prevent duplicate tags in suggestion list.
- Fix unhandled exception that happens when backspace is pressed in
an empty tags input box.
closes#4414
- adds `ctrl/cmd+s` shortcuts to `settings/general` screen
- adds `ctrl/cmd+s` shortcuts to `settings/user/xx` screen
- extracts `ctrlOrCmd` variable to separate module for reuse
Continues on from #4401
- Reformats the Sass to match our new style (property order, comments, & white space)
- Changes the modal container to a class from an ID (and adjust tests)
No issue
According to [caniuse](http://caniuse.com/#feat=woff), all the browsers we support (last 2 versions of major browsers) support the `.woff` font format. It's actually what pretty much all browsers will serve if its offered anyway.
This PR removes the .eot and .ttf font formats.
SVG remains as its the base file we use to add new icons & convert into other formats. It is not referenced anywhere.
Closes#4411
- Previously, saving the user’s slug would lead to the slug value being
‘stuck’ on that saved value, even if one navigated to a different
user’s profile settings.
Removes that hash appended to the URL when clicking Meta Data in post settings.
Closes#4386
When clicking 'Meta Data' the click event appends a # to the URL. I replaced the a with a button element so that won't happen anymore. The button has a type attribute because it will try and submit the form without it. Added text-align: left to the navlist button because the button centers it's content by default.
closes#4260
- Adds "tags" route inside of the settings routes.
- Adds this route to router.js
- Links the route from the settings.hbs template
- Adds demo tags html in tag.hbs template
- Adds flag for tagsUI
Closes#4369
- Renamed `editor-route-base` -> `editor-base-route` to bring it in alignment with the view and controller mixins
- Consolidated editor route code into editor-base-route
- Removed `serialize` from EditorEditRoute, as it reimplemented the ember default
closes#4253
- checked for the CodeMirror-focused class on the CodeMirror div
- used length to determine whether CodeMirror-focused has been added
- determines whether the editor has been focused on
Closes#4316
- Ember@1.8.0.
- Ember-Data@1.0.0-beta.11.
- Change templates to use new Ember.Select syntax and other minor
cleanup.
- Adjust functional tests.
Closes#3940
- Pushing left/right changes the "focus" of the posts screen to the list / content, respectively
- Once one of these has been focused, up/down keyboards work on that section in particular
- By default, the post list is selected
- Using the keyboard to focus one of the two makes it go "poof" to let you know you changed stuff
No Issue
- Make helper behave as stated in description when variable
number of arguments are passed in.
- Handle leading and trailing slashes when creating output
url partial.
Closes#4340
Fixes a UI glitch where the vertical parts of a box shadow would show.
This fix changes those box shadows for 1 radial gradient, where only 5px of it is shown. No more vertical shadows.
Refs #4323
- Remove any titleScratch observers that may be hanging
around on the post-settings-menu controller from previous posts.
- Change logic around when to regenerate slugs on posts that are
"(Untitled)" so that slug generation continues after slug no
longer resembles "untitled."
* Adds `bind`, `isFinite`, and `isNumber` utility functions from lodash.
* Use new util funtions instead of lodash throughout the codebase.
* Remove lodash from vendor builds.
Closes#4105
- Turns the tag icon white when input is focused.
- Focuses on the tag inout after deleting a tag.
Credit to @novaugust for a PR to this which is rebased into one single commit
Refs #4307 Refs #4259
- Make sure that a slug has been generated prior to the first
save that occurs on a post.
- Wait on in-flight slug generation requests before saving.
issue #4305, issue #4259, issue #1413
- change new->edit transitionToRoute to be replaceRoute
- auto focus in the editor on transition to the edit route
- change the one-time autosave to happen on codemirror focusin instead of title focusout
- re-add removed tests, and reorder broken test
Refs #4259
- Auto-save new post when title loses focus.
- If a post has '(Untitled)' for a title, regenerate slugs
on all title changes--same behavior as a new post that does
not yet have a slug.
- Adjust some functional tests to handle the automatic transition
from editor/new to editor/editor and the URL changes that go
along with it.
No issue
Safari (iOS 8 & OS X Yosemite) throws a massive hissy fit about `console.error` and goes on to break all the things.
This PR simply removes it.
Ref #1413
- If the user stops typing for 5 seconds, a "typingPause" action is sent from the GhCodemirrorComponent
- Editor-base-controller ties the "typingPause" action to its "autosave"
- If a post is being saved and does not have a title, the title is set to "(Untitled)"
- Cleanup editor base controller property dependencies and code
Closes#4208
- Removes `min-width` & `max-width` from `.publish-bar-actions`
- Uses flexbox to correctly handle dynamic size (due to font size and text content of button)
closes#4247
- added scope to every shortcut, the scope of shortcut is default to
'default'
- add shortcut `enter` to modal which confirm the modal
- shortcut `enter` and `esc` now have scope 'modal'
- when lunch a modal, scope is switching to 'modal', and set back to
'default' when close
- shortcut `enter` now confirm the dialog without conflicting with route
shortcuts
issue #3900
- uses isPrivacyDisabled helper to see if useStructuredData has been disabled in config.js
- adds an array of promises to deal with asynchronous data
- resolves asynchronous data then adds open graph tags after canonical link
- featured image and tags are only added if present
- open graph tags only added on post and page
- adds unit test to check correct data is returned
- updates other unit tests to reflect changes
Closes#4246
- Removed the input wrapper background colour
- Moved `:focus` styles to one element, so its not defined separate for each page
- Removed unnecessary MQ for body background colour (it changed nothing)
Closes#4196
- Clear confidential info on leaving reset route
- Remove nested password access, because gross
- Also cleaned up some .then(f, h) to .then(f).catch(h) in setup controller
Closes#4186, Closes#4190, Closes#4150
- Alters markup to allow for correct use of `-webkit-overflow-scrolling: touch;`
- Updates the debug page to use the same markup as the rest of the settings page
- Solve floating tag bar issue by making it absolute, not fixed
closes#3019
* Remove preexisting `ctrl+h` keymap.
* Add logic to cycle the header level.
* Loops around after h3.
* Sets cursor position to end of heading
* Set initial level to h2.
* Remove `ctrl+alt+${NUM}` keymaps (as they do not work
internationally).
Closes#4123, closes#4114, references #4105
- Rewrite to use flexbox for über mobile goodness
- Fixes tag suggestions (using the new dropdown style)
- Fixes vertical alignment