Turn your audience into a business. Publishing, memberships, subscriptions and newsletters.
Go to file
Hannah Wolfe af6137248d New URL helper - URL consistency fixes
fixes #1765
fixes #1811
issue #1833

New UrlFor functions

- moved body of url helper to config.path.urlFor, which can generate a URL for various scenarios
- urlFor can take a string (name) or object (relativeUrl: '/') as the first
  argument - this is the first step towards issue #1833
- also added config.path.urlForPost which is async and handles getting
  permalink setting
- frontend controller, ghost_head helper, cache invalidation all now use
  urlFor or urlForPost all urls should be correct and consistent

URL Consistency Improvements

- refactored invalidateCache into cacheInvalidationHeader which returns a
  promise so that url can be generated properly by urlForPost
- moved isPost from models to schema, and refactored schema to have a tables object
- deleted posts now return the whole object, not just id and slug,
  ensuring cache invalidation header can be set on delete
- frontend controller rss and archive page redirects work properly with subdirectory
- removes {{url}} helper from admin and client, and replaced with adminUrl
  helper which also uses urlFor
- in res.locals ghostRoot becomes relativeUrl, and path is removed
2014-01-06 15:15:48 +00:00
content Updated Casper to latest version 2014-01-04 17:18:47 -05:00
core New URL helper - URL consistency fixes 2014-01-06 15:15:48 +00:00
.gitignore Switch from multipart to busboy 2013-12-17 17:24:30 -06:00
.gitmodules Changed git submodule to use git instead of ssh 2013-10-14 11:26:38 -04:00
.travis.yml Update Casper version on Travis 2014-01-01 13:31:55 +00:00
config.example.js Subdirs are now supported, don't say they aren't 2013-12-21 16:51:14 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md 2014-01-03 17:51:07 +08:00
Gemfile Explicitly add Ruby dependencies to project via Bundler 2013-10-23 18:16:16 -07:00
Gemfile.lock Explicitly add Ruby dependencies to project via Bundler 2013-10-23 18:16:16 -07:00
Gruntfile.js Remove express server from grunt test-coverage 2014-01-04 14:09:59 +00:00
index.js Restore support for using ghost as a npm module fixes #1326 2013-11-27 17:39:14 +00:00
LICENSE renamed LICENSE.txt to LICENSE 2013-10-15 22:08:11 +01:00
package.json Route tests 2014-01-01 16:18:03 +00:00
README.md Moved getting involved section 2013-11-12 09:05:57 +00:00
SECURITY.md Use less markup for links 2013-10-22 21:22:35 +01:00

Ghost Build Status

Ghost is a free, open, simple blogging platform that's available to anyone who wants to use it. Lovingly created and maintained by John O'Nolan + Hannah Wolfe + an amazing group of contributors.

Visit the project's website at http://ghost.org!

Full documentation is available at http://docs.ghost.org.

Getting Involved

Want to report a bug, request a feature, or help us build or translate Ghost? Check out our in depth guide to Contributing to Ghost. We need all the help we can get! You can also join in with our community to keep up-to-date and meet other Ghosters.

Getting Started

There are two main ways to get started with Ghost, take care to use the method which best suits your needs.

Please note - the downloadable zip files we provide on Ghost.org are pre-built packages designed for getting started quickly. Cloning from the git repository requires you to install several dependencies and build the assets yourself.

Getting Started Guide for Bloggers

If you just want to get a Ghost blog running in the fastest time possible, this method is for you.

For detailed instructions for various platforms visit the Ghost Installation Guide. If you get stuck, help is available on our forum.

  1. Install Node.js - Ghost requires Node v0.10.*
  2. Download the latest Ghost package from Ghost.org. If you cloned the GitHub repository you should follow the instructions for developers.
  3. Create a new directory where you would like to run the code, and unzip the package to that location.
  4. Fire up a terminal (or node command prompt in Windows) and change directory to the root of the Ghost application (where config.example.js and index.js are)
  5. run npm install --production to install the node dependencies. If you see error Error: ENOENT on this step, make sure you are in the project directory and try again.
  6. To start ghost, run npm start
  7. Visit http://localhost:2368/ in your web browser or go to http://localhost:2368/ghost to log in

Check out the Documentation for more detailed instructions, or get in touch via the forum if you get stuck.

Getting Started Guide for Developers

If you're a theme, app or core developer, or someone comfortable getting up and running from a git clone, this method is for you.

If you clone the GitHub repository, you will need to build a number of assets, such as SASS and JavaScript templates. This requires you to have Ruby and a number of other pre-requisites. Full instructions can be found in the Contributing Guide under the heading "Working on Ghost Core".

Check out the Documentation for more detailed instructions, or get in touch via the forum if you get stuck.

Updating with the latest changes

Documentation on updating can be found in the Ghost Guide

Logging in For The First Time

Once you have the Ghost server up and running, you should be able to navigate to http://localhost:2368/ghost/ from a web browser, where you will be prompted for a login.

  1. Click on the "register new user" link
  2. Enter your user details
  3. Return to the login screen and use those details to log in.

Note - this is still very alpha. Not everything works yet.

Community

Keep track of Ghost development and Ghost community activity.

  • Follow Ghost on Twitter, Facebook and Google+.
  • Read and subscribe to the The Official Ghost Blog.
  • Join in discussions on the Ghost Forum
  • Chat with Ghost developers on IRC. We're on irc.freenode.net, in the #Ghost channel. We have a public meeting every Tuesday at 5:30pm London time.

Versioning

For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Ghost will be maintained according to the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:

<major>.<minor>.<patch>-<build>

Constructed with the following guidelines:

  • A new major release indicates a large change where backwards compatibility is broken.
  • A new minor release indicates a normal change that maintains backwards compatibility.
  • A new patch release indicates a bugfix or small change which does not affect compatibility.
  • A new build release indicates this is a pre-release of the version.

Copyright (C) 2013 The Ghost Foundation - Released under the MIT License.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.