refs #4989
- this allows users to enter mailto and output links via the navigation UI
- the navigation validation/cleanup needs a bit of a refactor to handle other kinds or URI, so leaving #4989 open for now
Closes#4662
- Removed accessibility classes from `_shame.scss` in favour of those in `global.css`, which are from Bootstrap and better tested.
- Change many instances if `class="hidden"` to `class="sr-only"`, so text intended to help with accessibility is not hidden from screen readers, only visually hidden.
Closes#4888
We automatically added a trailing slash to all non-absolute paths in
RSS, including post images. This fix ensures that trailing slashes
aren’t added to absolute paths including ‘content/images/‘.
Closes#4959
An SVG (without width & height attributes) inside a button won't display as it should. There seems to be no fix other than apply a minimum width & height. That doesn't feel right, so I've opted for this.
- Remove the `<button>` wrapping `<img>` elements
- Add `cursor: pointer;` to those images (now they don't get one, not being inside a `<button>`
- Remove the `#blog-logo/cover` IDs and `for` attributes. They only apply focus on text inputs anyway.
no issue
- It should not be possible to provide a different ID in the object being edited to that provided in the URL
- We now send the id to check object to ensure there is a match
Credits: Matteo Beccaro
no issue
- Use the double-tash escaping output for notification messages
- Mark known and trusted html notifications as html-safe
Credits: Abdel Adim Oisif
Closes#4878
This changes nothing except DRYness of code. Its output is exactly the
same.
- Moves all icon variables into a map
- Add getter function to extract variables from the map
closes#4541
- Add role="presentation" to <li>
- Clean up space if nav-current isn't present
- Changed all internal references from nav to navigation for consistency
- Deleted old nav.hbs
- Updated tests
refs #4535
- as discussed in the meeting on 1st February ;)
- changed the fake-placeholder to only operate on the last item, this way it feels right, I think
closes#4541
creates a handlebars helper with behavior matching the spec in #4541 and
updates `frontend.js` to include the navigation data in the rendered page
context.
- checks for {{current}} against `relativeUrl`
- adds helper `getSiteNavigation()` which returns contents of
`api.settings.read('navigation')`, or an empty list
- navigation helper is responsible for filtering and consistently formatting
navigation data from settings.
- changes `frontend.js`'s `formatResponse` & `formatPageResponse` to return
a promise with page data and updates frontend controllers to use it.
- `formatPageResponse` now includes a third parameter to allow values to be
merged into the page response (rather than using `_.extend` in the
render methods directly.
- {{navigation}} will render an empty `ul` if no navigation items exist
- incorporates {{url}}/urlFor behavior for nav contexts. (see #4862)
- uses {{url absolute="true"}} in default nav template
Closes#4540
- Implements drag & drop to reorder navigation items
- Adds a `sort` property to navigation items
- Adds a tiny library to enable touch events for drag & drop. It hooks onto jQuery UI.
- Sort nav items before being saved
- Adds `settings-view-navigation` to route for body class
No issue.
- Ember@1.10.0
- Update grunt-ember-templates to version that supports HTMLBars.
- Update Gruntfile.js to compile templates with HTMLBars.
- Convert Handlebars code to its HTMLBars equivalent.
needed for #4852
Before this, calling `{{url}}` with a nav context from #4541 would
output `/`. This adds a check in `urlFor` that looks for keys in a
nav context object, namely `slug`, `current`, `label`, & `url`.
This change allows for a url to pass through if used in a nav context.
* adds `schema.isNav()`
* adds tests to `url_spec.js`
* handles absolute urls correctly even if `absolute=true`
Closes#4379
- Moves the bottom notification outlet _outside_ the `<main>` element which allows notifications to show above the nav bar
- Removes (the now unnecessary) code which counter-positioned the bottom notifications when a Settings Menu was opened.
The way these notifications look or are positioned at various viewport sizes **has not changed**.
No Issue
- Rework the preview URL component so its implementation is
simpler.
- Add test for gh-url-preview component.
- ember-mocha@0.3.0.
- Remove unused jshint options.
Related to #4844
The newly added user image in the content list uses a CSS property to
crop `img` tags, but it's not supported in IE or Firefox. This issue
corrects that by chancing them to be background images which can be
cropped cross-browser.
It also adjusts the nav bar user image (previously an `img` tag) which
would squash a non-square image.
Also removes the border around the settings/users/ user images, to be
consistent with the rest of the UI.
Closes#4425
- Adds the author avatar (with defalt fallback)
- Shows author name when hovering the avatar (falls back to email address)
- Slightly adjusts type, colour, and spacing
Closes#4792
- Made priority be 0.8 (as it currently is) for standard posts
- Made featured posts have a priority of 0.9
- Split the current test into two to check both above scenarios
- Code was moved to core/server/middleware/middleware.js, which is the
home for unit-testable middleware.
- Functional code coverage for this code also exists at:
test/functional/routes/admin_test.js
No Issue
- Set 'status: all` when calling generateSlug from the user model
so that all user slugs are checked for duplicates instead of
only active users.
closes#4262
- implementation based on #1545
- added integration test. Modified mocked posts because code requires published_at timestamps to be different.
- fixed 2 broken tests that depended on mocked posts to have "new Date()" as their timestamps
- added checks to only query db if next/previous post requested
No issue
The style for the URL input when uploading images are a bit broken.
This PR reduces the horizontal spacing in the settings menu uploader (to widen the input), corrects the button with black text in the editor uploader and makes sure all image upload inputs fill the container.
Closes#4766
- Adjust ValidationEngine so it no longer assumes the properties
it is validating are proxies via ObjectController.
- Fixup controllers, templates, and routes to use models where
data needs to be validated.
refs #4644
- Changes tests using assert style to use should style for consistency
- Updates moment().subtract() to remove deprecation warning
- Changes test and test-coverage grunt commands to run in a way which is
compatible with both *nix and win envs
- refs #4644 as this is a step towards getting coverage working properly
again
no issue
- We send emails from Blog Title <ghost@blog-url.com>, but it should be from "Blog Title" <ghost@blog-url.com>
- It worked fine without quotes unless you have a comma in your Blog Title in which case different mail systems get confused in different ways
closes#4691
- adds a file handler for markdown file (.md and .markdown)
- handles titles and featured images
- gets status, date, and slug from the filename
- has a test suite
closes#4770
- Check for Gravatar now allows the highest rating for images
- Defaults to silhouette in the event a user deletes their Gravatar
- Allows highest rating for Gravatars (x), since Ghost should have no opinion on image ratings.
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.
ref #4608, #4609, #4690
- fix errors with cleaning up files
- improve handling of base directories, and introduce a simple valid format for zips (must contain importable files or folders, and may contain up to one base directory)
- vastly improve test coverage
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.
closes#4741
- updated regexp to properly filter out footnotes without removing too much text
- happened only when a link was used before a footnote
- old regexp was too 'greedy' and removed regular link together with the footnote
- new regexp uses a more specific <a> tag
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.
No Issue
- Wait for list item element to appear before starting tests
to make sure template partial has been rendered.
- Remove test for 20 list items as it's possible that there
could be fewer than 20 contributors for during the window.
Instead just test to make sure the list has at least one item.
- 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#4697
- Run tag add operations in sequence instead of in parallel
since generateSlug will hand out duplicate slugs until one of
them is committed to the database.
- Add test.
- Misc cleanup of method parameter names and jshint hints.
closes#4683
- added post count to 'delete tag' modal
- fixed lint errors
- preventing extra data to be sent to server
- adjustments suggested by @jaswilli
No issue
- Tag Meta title and description override default response
- Tag Meta title present on all pages
- Tag Meta description available only on first page
- Updates tests
closes#4608, #4609
- image handler loads in any image files & figures out where they'll get stored
- image importer has a preprocessor which replaces image paths in
pertinent spots of post, tag and user models
- image importer stores images, keeping the path where it makes sense
- basic test for the preprocessor
issue #4479
- these tests will need updating if ever the db schema (not inc validations), permissions fixtures or db
version ever changes
- the intention is that it is no longer possible to accidentally change permissions or the db schema without
knowing you need to update the db version and the values in this test file
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 #4521
- Handle 'include' query param in tags API.
- Add post_count support when fetching a tag with findOne.
- Remove post_count from options.include after processing.
- Extra database query no longer used to fetch post_count.