Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ghost - Just JavaScript?
Search
Sebastian Gierlinger
December 11, 2013
Technology
1.8k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ghost - Just JavaScript?
Sebastian Gierlinger
December 11, 2013
Other Decks in Technology
See All in Technology
AWS Continuum for Penetration Testing に Deep Dive してみる
asanoharuki
2
1.4k
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
650
Claude Code on Bedrock で統制をかける小ネタ集/claude-code-bedrock-governance-tips
emiki
1
13k
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
690
演劇と私とスクラム
chinmo
0
170
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
820
Patterns in AI Driven Software Development
akosma
PRO
0
340
Don't write the architecture only in the prompt.
neohsu
0
230
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
260
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
370
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
5
2.7k
キヨさん67歳 AIコーディングエージェント物語
happysamurai294
0
120
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
770
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Leo the Paperboy
mayatellez
10
2.4k
Agile that works and the tools we love
rasmusluckow
331
22k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
Why Our Code Smells
bkeepers
PRO
340
58k
Scaling GitHub
holman
464
140k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
590
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