Ghost/ghost/admin/app
Jason Williams 71c358b638 Use Ember.inject instead of needs and initializers
No Issue
- Switches to the newer style of dependency injection.
- Instead of injection Controllers via "needs," use
  Ember.inject.controller().
- Get rid of initializers that were only injecting objects
  into various factories. Converts these objects into Ember.Service
  objects and declaratively inject them where needed via
  Ember.inject.service().  The added benefit to this is that it's no
  longer a mystery where these properties/methods come from and it's
  straightforward to inject them where needed.
2015-05-27 07:41:42 -05:00
..
adapters Ember init, bower deps, es6 modules 2015-03-11 12:37:41 -06:00
assets/lib Fix image uploader and update tests 2015-05-22 19:05:17 +01:00
components Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05:00
controllers Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05:00
helpers Fixing 'undefined' issue with ghostPaths.url.join 2015-05-13 15:08:04 +01:00
html First pass on app management UI 2015-05-25 17:48:14 +01:00
initializers Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05:00
mixins Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05:00
models Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05:00
routes Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05:00
serializers Normalize settings payloads in client serializer 2015-04-08 13:03:56 -06:00
services Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05:00
styles First pass on app management UI 2015-05-25 17:48:14 +01:00
templates Clean up Ember router map 2015-05-26 16:12:12 -05:00
transforms Ember init, bower deps, es6 modules 2015-03-11 12:37:41 -06:00
utils Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05:00
validators Handle password reset from signin page 2015-05-22 19:05:18 +01:00
views Clean up Ember router map 2015-05-26 16:12:12 -05:00
_config.yml The great migration (EAK -> ember-cli) 2015-03-11 12:37:41 -06:00
app.js Build assets with ember, and serve with ghost 2015-03-11 12:37:41 -06: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 Use Ember.inject instead of needs and initializers 2015-05-27 07:41:42 -05: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!)