Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ghost - Just JavaScript?
Search
Sebastian Gierlinger
December 11, 2013
Technology
5
1.8k
Ghost - Just JavaScript?
Sebastian Gierlinger
December 11, 2013
Tweet
Share
Other Decks in Technology
See All in Technology
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
1
640
Amazon S3 Vectorsは大規模ベクトル検索を低コスト化するサーバーレスなベクトルデータベースだ #jawsugsaga / S3 Vectors As A Serverless Vector Database
quiver
1
510
20250807_Kiroと私の反省会
riz3f7
0
230
AIのグローバルトレンド 2025 / ai global trend 2025
kyonmm
PRO
1
140
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
370
20250807 Applied Engineer Open House
sakana_ai
PRO
2
400
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
770
AI関数が早くなったので試してみよう
kumakura
0
290
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
720
Amazon Inspector コードセキュリティで手軽に実現するシフトレフト
maimyyym
0
110
Cloud WANの基礎から応用~少しだけDeep Dive~
masakiokuda
3
100
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
140
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Docker and Python
trallard
45
3.5k
Building Adaptive Systems
keathley
43
2.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
BBQ
matthewcrist
89
9.8k
Code Review Best Practice
trishagee
69
19k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Automating Front-end Workflow
addyosmani
1370
200k
Building Applications with DynamoDB
mza
96
6.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
Ghost Just JavaScript?
Ghost Architecture Admin DB API Frontend Apps Helpers Config
Database / Config Bookshelf promise based ORM Knex Sqlite3 /
mySQL / pgSQL JSON Configuration config = { ... } http://bookshelfjs.org http://knexjs.org
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" }
Admin BackboneJS - structuring framework API - dogfooding writing -
markup editor content - manage your posts settings - general / user http://backbonejs.com
Frontend express web application framework connect middleware themes index.hbs /
post.hbs / page.hbs http://www.senchalabs.org/connect/ http://expressjs.com/
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>
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
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
Just JavaScript? ... Vagrant GitHub Travis Grunt Tests Init
GitHub
Zenhub http://zenhub.io
Vagrant unified environment OS / node / code setup get
Ghost-Vagrant vagrant up http://www.vagrantup.com/
Travis http://travis-ci.org
Travis
Grunt automate builds tests releases changelogs http://gruntjs.com/
$ grunt init bourbon - sass mixins sass - css
scripting handlebars - templates language concat - combine and uglify JS https://github.com/TryGhost/Ghost/wiki/Grunt-Toolkit
$ 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
$ grunt validate grunt.registerTask('validate', 'Run tests and lint code', ['jslint',
'test-unit', 'test-api', 'test-integration', 'test-functional'] );
$ grunt test-api grunt.registerTask( 'test-api', 'Run functional api tests (mocha)',
['clean:test', 'setTestEnv', 'loadConfig', 'express:test', 'mochacli:api', 'express:test:stop'] );
Roadmap bit.ly/ghost-roadmap Features bit.ly/ghost-features @sebgie
[email protected]
sebgie.ghost.io