An attempt at piecing together components for building dynamic, customisable features into the platform. This project should result in enough work to get us to the video. At which point it is envisaged that we would move to the proper Ghost repo, with some restructure/refactoring such as - better file and folder naming, moving Casper into a separate, but linked repo, fixing architectural errors etc.
To Install:
Clone the git repo
cd into the project folder and run "npm install".
If the install fails with errors to do with "node-gyp rebuild", follow the Sqlite3 install instructions
Ghost depends upon sqlite3, which has to be built for each OS. NPM is as smart as it can be about this, and as long as your machine has all the pre-requisites for compiling/building a C++ program, the npm install still works.
However, if you don't have the required pre-requisites, you will need to either get them, or as a shortcut, obtain a precompiled sqlite3 package for your OS.
I have created some of these, and they can be obtained from github.
The pre-compiled package should be downloaded, extracted and placed in the node_modules folder, such that it lives in node_modules/sqlite3, if you have a partial install of the sqlite3 package, replace it with the files you downloaded from github. Be sure that all the sqlite3 files and folders live directly in node_modules/sqlite3 - there should note be a node_modules/sqlite3/sqlite3 folder.
Dependencies:
express.js framework
handlebars for templating
standard css for frontend
sass for admin (pre-compiled)
moment.js for time / date manipulation
underscore for object & array utils
showdown for converting markdown to HTML
nodeunit for unit testing
sqlite3 for a database
jugglingdb ORM for interacting with the database
Frontend libraries:
jQuery 1.9.1
showdown for converting markdown to HTML
codemirror editor
Working features:
Dashboard
new post link
Admin menu
G, dashboard, content, new post & settings menu items go to correct pages
Content screen
Lists all posts with correct titles (incorrect time etc)
Select post in list highlights that post and opens it in the preview pane
Write screen
Live preview works for all standard markdown
Save draft button saves entered title & content. Everything is published by default.
Editing/opening existing post puts correct info in title and content panels & save updates content.
Database
The database is created and populated with basic data on first run of the server
New posts and edits save and last forever
The data can be reset by opening data/datastore.db and emptying the file. The next restart of the server will cause the database to be recreated and repopulated.
Front End Work
A SASS compiler is required to work with the CSS in this project. We suggest CodeKit (Paid/Mac) and Scout (Free/Mac/PC).
Ghost Prototype Project
An attempt at piecing together components for building dynamic, customisable features into the platform. This project should result in enough work to get us to the video. At which point it is envisaged that we would move to the proper Ghost repo, with some restructure/refactoring such as - better file and folder naming, moving Casper into a separate, but linked repo, fixing architectural errors etc.
To Install:
Frontend can be located at localhost:3333, Admin is at localhost:3333/ghost
Sqlite3 Install Instructions
Ghost depends upon sqlite3, which has to be built for each OS. NPM is as smart as it can be about this, and as long as your machine has all the pre-requisites for compiling/building a C++ program, the npm install still works.
However, if you don't have the required pre-requisites, you will need to either get them, or as a shortcut, obtain a precompiled sqlite3 package for your OS.
I have created some of these, and they can be obtained from github.
The pre-compiled package should be downloaded, extracted and placed in the node_modules folder, such that it lives in node_modules/sqlite3, if you have a partial install of the sqlite3 package, replace it with the files you downloaded from github. Be sure that all the sqlite3 files and folders live directly in node_modules/sqlite3 - there should note be a node_modules/sqlite3/sqlite3 folder.
Dependencies:
Frontend libraries:
Working features:
Front End Work
A SASS compiler is required to work with the CSS in this project. We suggest CodeKit (Paid/Mac) and Scout (Free/Mac/PC).