Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ghost - Just JavaScript?

Ghost - Just JavaScript?

Sebastian Gierlinger

December 11, 2013
Tweet

Other Decks in Technology

Transcript

  1. Database / Config Bookshelf promise based ORM Knex Sqlite3 /

    mySQL / pgSQL JSON Configuration config = { ... } http://bookshelfjs.org http://knexjs.org
  2. API Restful API /ghost/api/v0.1/users/1/ { id: 1, name: "John Doe",

    ..., email: "[email protected]", website: null, created_at: "2013-10-05T09:11:21.000Z", updated_at: "2013-10-05T09:11:21.000Z" }
  3. Admin BackboneJS - structuring framework API - dogfooding writing -

    markup editor content - manage your posts settings - general / user http://backbonejs.com
  4. Frontend express web application framework connect middleware themes index.hbs /

    post.hbs / page.hbs http://www.senchalabs.org/connect/ http://expressjs.com/
  5. Helpers Handlebars templating language + custom helpers http://handlebarsjs.com/ http://docs.ghost.org/themes/ {{date

    published_at format="MMMM DD, YYYY"}} <ul> {{#tags}} <li>{{name}}</li> {{/tags}} </ul>
  6. Apps Data API - store data Filters API - hook

    into Ghost Theme API - handlebars helpers Routes API - add custom routes Files API - add custom storage UI Tools - add UI to Ghost admin https://github.com/TryGhost/Ghost/wiki/Imagining-the-Ghost-Developer-Tools
  7. Let it happen? 88.882 downloads 1.133 Forks on GitHub 72

    Contributors 4 Fulltime 173 open issues / 1483 closed issues Stats from 11.12.2013 12:00
  8. Vagrant unified environment OS / node / code setup get

    Ghost-Vagrant vagrant up http://www.vagrantup.com/
  9. $ grunt init bourbon - sass mixins sass - css

    scripting handlebars - templates language concat - combine and uglify JS https://github.com/TryGhost/Ghost/wiki/Grunt-Toolkit
  10. $ grunt validate jslint - first line of defense test-unit

    - unit tests test-integration - integration tests test-api - functional API test test-functional - casperJS UI tests test-coverage - generate cov report https://github.com/TryGhost/Ghost/wiki/Grunt-Toolkit
  11. $ grunt validate grunt.registerTask('validate', 'Run tests and lint code', ['jslint',

    'test-unit', 'test-api', 'test-integration', 'test-functional'] );
  12. $ grunt test-api grunt.registerTask( 'test-api', 'Run functional api tests (mocha)',

    ['clean:test', 'setTestEnv', 'loadConfig', 'express:test', 'mochacli:api', 'express:test:stop'] );