Ghost/ghost/admin/app
Kevin Ansfield d8728aad57 Fix nav regressions in admin client
issue #5841

- fix relative link checks in navlink url input component
- fix navlink url input component sending absolute URLs instead of relative URLs to action handler
- remove URL manipulation in navigation settings controller (url input handles URL manipulation, validator flags anything that's still incorrect)
- capture cmd-s in url input to ensure changes are actioned before save
- automatically add mailto: to e-mail addresses
- add gh-validation-state-container component so .error/.success validation classes can be applied to any container element
- add validation-state mixin that can be mixed in to any other component to give it access to validation status (used in gh-navitem component to keep alignment when inline error message elements are added)
- validate and display inline errors on save
- improve ember test coverage for navigation settings related controller and components
2015-09-23 17:05:41 +01:00
..
adapters update Ember to 1.12.1/ember-data to 1.0.0-beta.18 2015-06-02 22:26:16 -06:00
assets/lib Take Trashcan off of url screen for image uploader 2015-06-23 13:14:04 +01:00
authenticators Add dynamic client_id/client_secret 2015-09-02 16:39:34 +01:00
components Fix nav regressions in admin client 2015-09-23 17:05:41 +01:00
controllers Fix nav regressions in admin client 2015-09-23 17:05:41 +01:00
helpers Change permissions for team area 2015-07-03 20:06:45 +01:00
html uhbuhbyenow 2015-09-02 17:49:15 +02:00
initializers Fix auth token refresh failing on app-boot with expired access_token 2015-08-28 16:00:34 +01:00
instance-initializers Fix auth token refresh failing on app-boot with expired access_token 2015-08-28 16:00:34 +01:00
mixins Fix nav regressions in admin client 2015-09-23 17:05:41 +01:00
models Fix new tags disappearing in PSM when saving post 2015-08-25 23:53:19 +01:00
routes Adds rudimentary validation to user invite 2015-09-02 22:26:59 +01:00
serializers update Ember to 1.12.1/ember-data to 1.0.0-beta.18 2015-06-02 22:26:16 -06:00
services fix bug with config service interpreting rare client secret strings as exponential numbers 2015-09-09 08:19:45 -05:00
styles Fix nav regressions in admin client 2015-09-23 17:05:41 +01:00
templates Fix nav regressions in admin client 2015-09-23 17:05:41 +01:00
transforms Ember init, bower deps, es6 modules 2015-03-11 12:37:41 -06:00
utils Rework gh-activating-list-item for new link-to 2015-07-08 18:37:15 -05:00
validators Fix nav regressions in admin client 2015-09-23 17:05:41 +01:00
_config.yml The great migration (EAK -> ember-cli) 2015-03-11 12:37:41 -06:00
app.js Update Ember to 1.13.2 2015-06-24 11:47:28 -05:00
index.html Remove extra ember container 2015-05-22 19:05:14 +01:00
README.md Convert Sass to Myth 2015-05-22 19:05:09 +01:00
router.js Fix alerts disappearing when navigating 2015-08-24 16:07:09 +01:00

Ghost Admin Client

Ember.js application used as a client-side admin for the Ghost blogging platform. This readme is a work in progress guide aimed at explaining the specific nuances of the Ghost Ember app to contributors whose main focus is on this side of things.

CSS

We use pure CSS, which is pre-processed for backwards compatibility by Myth. We do not follow any strict CSS framework, however our general style is pretty similar to BEM.

Styles are primarily broken up into 4 main categories:

  • Patterns - are base level visual styles for HTML elements (eg. Buttons)
  • Components - are groups of patterns used to create a UI component (eg. Modals)
  • Layouts - are groups of components used to create application screens (eg. Settings)

All of these separate files are subsequently imported and compiled in app.css.

Front End Standards

  • 4 spaces for HTML & CSS indentation. Never tabs.
  • Double quotes only, never single quotes.
  • Use tags and elements appropriate for an HTML5 doctype (including self-closing tags)
  • Adhere to the Recess CSS property order.
  • Always a space after a property's colon (.e.g, display: block; and not display:block;).
  • End all lines with a semi-colon.
  • For multiple, comma-separated selectors, place each selector on its own line.
  • Use js- prefixed classes for JavaScript hooks into the DOM, and never use these in CSS as per Slightly Obtrusive JavaSript
  • Avoid over-nesting CSS. Never nest more than 3 levels deep.
  • Use comments to explain "why" not "what" (Good: This requires a z-index in order to appear above mobile navigation. Bad: This is a thing which is always on top!)