It’s no secret that we’re big fans of Markdown at Ghost. We pretty much built our entire editor around it!

Once you get the hang of Markdown, it’s an incredibly powerful writing tool which will allow you to write rich content for the web far faster than almost any other method. To get to that point, however, there’s a little bit of a learning curve. We thought we’d put together an all inclusive guide to make that curve a little bit shorter, and potentially teach you a few super-user tricks to Markdown that you might not have known.

What is Markdown

Markdown is a plain text formatting syntax for writers. It allows you to quickly write structured content for the web, and have it seamlessly converted to clean, structured HTML.

Back in 2004, Apple pundit John Gruber came up with the idea after becoming frustrated by writing long, laborious HTML tags to properly format his content. He devised a simple writing system which would make web based documents both easier to write, and easier to read in their raw state.

With just a couple of extra characters, Markdown makes rich document formatting quick and beautiful.

Why do Writers Love Markdown so Much?

“Is that it?” - I hear you ask - “I could just click on a few formatting buttons in most editors and achieve the same thing!”

Very true! But we’re only just getting started. The range of formatting tools has come a very long way since Markdown’s inception in 2004, so you’d be forgiven for wondering what advantages it holds over, say, the “Bold” button in Microsoft Word.

While most novice users do indeed find buttons a bit easier to use, advanced writers often swear by Markdown and nothing else. Why? The biggest reason is writing flow.

Using a traditional writing user interface you have to pause your writing every few minutes (or sometimes seconds) and reach for the mouse in order to click, highlight, click a formatting button, and then click back to where you left off in order to continue. This process creates a tiresome, disjointed experience when all you want to do is get the words out of your head and onto the screen.

Markdown allows you to keep your fingers firmly planted on the keyboard as you apply formatting on the fly. In short: You never have to stop typing or think about anything else in order to apply your styles.

It might seem like a small detail, but it can have a really big effect. Once you start writing in Markdown, it’s really hard to back to the click-fest of the past.

Basic Markdown Formatting

Ok! You’re sold. So how does this work? Let’s dive in:

Markdown was designed with the explicit intention to be easily readable by humans. You should find that most of the syntax is pretty simple and intuitive.

Here are the elements you’ll use most often:

Headings

# Heading 1
## Heading 2
### Heading 3

Headings in Markdown are any line which is prefixed with a # symbol. The number of hashes indicates the level of the heading. One hash is converted to an h1, two hashes to an h2 and so on. There are a total of 6 levels which you can make use of - but for most writing, you’ll rarely ever need more than 3.

Text

*italic*
**bold**
***bold-italic***
[link](http://example.com)

If you want to emphasise a word a little bit, wrap it in asterisks. For something that needs more emphasis: double asterisks. If you really want to drive the point home, use triple asterisks. If you prefer, you can also use underscores - they’re completely interchangeable.

To add a link: wrap the text which you want to be linked in square brackets, followed by the URL to be linked to in parenthesis. An easy way to remember this one is to think of it like turning a word into a button. [button] and (place to go when the button is clicked) combine to form a link.

Images

![m'lady](http://i.imgur.com/v8IVDka.jpg)

Markdown images have exactly the same formatting as a link, except they’re prefixed with a !. This time, the text in brackets is the alt text - or the descriptive text for the image.

In most Markdown editors, you don’t have to write this code out. They will provide a tool to allow you to upload an image and insert this code automatically. After that, it will appear in your document.

Lists

* Milk
* Bread
* Wholegrain
* Butter

1. Tidy the kitchen
2. Prepare ingredients
3. Cook delicious things

Lists are a formatting nightmare in HTML, but Markdown lists are incredibly easy to manage. For a bullet list, just prefix each like with a * - or - or + and they will be converted to dots. You can also create nested lists; just indent a line with 4 spaces and it will be nested under the line above.

Milk

Bread

Wholegrain

Butter

For numbered lists, do exactly the same thing - but use numbers!

Quotes

> To be or not to be, that is the question.

When you want to add a quote in Markdown, it’s exactly the same as the formatting which you may already be familiar with from your email app of choice when you reply to someone.

To be or not to be, that is the question.

Prefixing the line with a > converts it into a block-quote.

How can I remember all the Markdown syntax?!

It seems a little daunting at first, but you might be surprised how naturally it comes to you after a couple of posts written in Markdown. Most good Markdown editors come with a built-in cheat sheet to make it a little easier to learn.

Here’s the one you can pull up from the Ghost editor at any time if you get stuck.

Intermediate Markdown Formatting

So you’ve got the Markdown basics nailed and you want to move on to bigger and better things? Excellent. There’s much more we can do.

Horizontal Rules

---

Want to throw-down a quick divider in your article to denote a visual separation between different sections of text? No problem. 3 dashes produce:

A sleek <hr> element.

Code Snippets

Some text with an inline `code` snippet

.my-link {
text-decoration: underline;
}

If you’re a technical writer, you may want to use example snippets of code to teach your readers a particular syntax (like I’m doing, with this very blog post). Using a single back-tick around a word in a sentence, you can show a quick code snippet.

Indenting by 4 spaces will turn an entire paragraph into a code-block.

Reference Lists & Titles

If you prefer to use reference lists for your attribution, Markdown can handle this, too. In the above example, all of the links are kept separate in Markdown (so it's easy to read even in its raw format), and then inserted directly as normal links when converted to HTML.

You'll also notice that we've added a title attribute to the links by adding a "word" in quote marks just after the URL. Anywhere you use a URL, you can follow it with a "title in quotation marks" to generate a title attribute.

[Dog](https://en.wikipedia.org/wiki/Dog "Wikipedia: Dog")

Escaping

\*literally\*

What if you literally want to type *literally* - without it appearing in italics? Escaping Markdown characters with a back-slash \ allows you to use any characters which might be getting accidentally converted into HTML.

Embedding HTML

<button class="button-save large">Big Fat Button</button>

Possibly the coolest feature of Markdown is that it also just supports plain old HTML. If you find yourself stuck and unable to do what you want in Markdown - you can simply write in regular HTML and it will work just fine.

In the above example, I know that within this blog's stylesheet is the CSS to style a nice button that with a class attribute.

So you can drop in any HTML, sharing button, JavaScript snippet or iFrame you like and it will work on the page just as normal.

Advanced Markdown

Ok, you want the big guns. Every example so far has been vanilla, normal Markdown. Those code snippets will work absolutely anywhere which supports Markdown syntax.

Now we're going to look at some syntax which is not standard to native Markdown. They're extensions of the language. All of these things work in Ghost, but they may not work in other editors.

Speed up Your Workflow with Markdown Keyboard Shortcuts

Writing Markdown is pretty quick right out of the box, but you can speed it up even further by getting to know the keyboard shortcuts in your editor of choice. These all tend to be a little different, but in Ghost you can access some on-the-fly formatting very easily:

There are lots more included in the Markdown Help overlay in the editor. Regardless of which app you use to write, it's work figuring out the Markdown keyboard shortcuts available to speed up your workflow.

Converting HTML to Markdown

If you're just getting into Markdown and you've found yourself with a massive back-log of old files which are written in HTML, you might want to convert them to Markdown to make them easier to work with in future.

Best Markdown Apps

As well as using Markdown in the Ghost editor, you might also want to use it in the formatting of your day-to-day documents. Lots of people enjoy writing in Markdown and then exporting later to HTML, PDF, or a wide variety of document types.

Here are some of our favourite Markdown editors for Mac, PC, desktop and mobile.

Mac OSX Markdown Editors

The Mac is graced with a large selection of Markdown apps to choose from! The very first one, Mou, is what the Ghost editor was originally based on.

Apple iOS Markdown Apps

The best Markdown apps for iOS don't come cheap! On the plus side, most of them do offer extremely nice cloud-sync functionality which makes a big difference if you use the same app across multiple devices.

Google Android Markdown Apps

Markdown apps on the Google Play Store couldn't be any cheaper if they tried! This is just a small selection of a large number of apps that are out there. The quality seems to be decidedly lower overall than the iOS store, so it may take a little digging to find a good Android Markdown app.

Footnotes

We've just added a brand new user help menu to Ghost with quick, direct links to the best places to get support. There's also a shiny new item at the bottom of this menu: Wishlist.

Creating the world's greatest (and most modest, obviously) publishing platform is no small task. We have more plans for Ghost than a hipster at a typewriter convention. But sometimes we wonder: What's the most important thing that we should be working on next?

For the last few months, we've published a public roadmap of the things we're working on, and allowed people to vote for the things they care about the most. There have been two shortcomings though:

Most people don't know that it exists

You can only vote on the features which are already there. If you have a request that's not on the list already... well... you're stuck.

The wishlist menu item now will take you over to our new Uservoice feedback forum where you can submit as well as vote on the features and ideas which you would like to see in Ghost. Much simpler.

It's hard to build a publication without a good site navigation structure. Until now, you had to code navigation menus for Ghost directly into your theme - which was kind of a pain.

We've just added support for custom navigation within Ghost so that you can create a simple menu for your blog with a few clicks from your settings area.

Themes can add support for these navigation menus with the all new {{navigation}} helper. Full documentation is here. You can check out an example implementation of custom navigation in the newly updated Casper theme, over on http://demo.ghost.io.

Hopefully this new addition will make themes more powerful and blogger lives more pleasurable!

Ghost(Pro) users already have access to this feature right now, there's nothing you need to do! Users running Ghost on their own servers can grab this feature by upgrading to Ghost 0.5.9.

As of today, you can edit and delete your tags in Ghost - perfect for cleaning up those typos! Additionally you can personalise your tag archives by adding cover images and meta data to your tags.

For anyone who is using the default theme, your tag archives will use the new data right away. If you're using a custom theme, you can output tag cover images inside tag.hbs using the {{image}} helper. Simple :)

Just a year ago we launched our Ghost(Pro) hosted platform to allow people to easily deploy and run Ghost blogs.

We’ve come a long way.

From the very beginning, during the Kickstarter Campaign, we put forward the idea of a hosted platform for an Open Source project as a means to make it both sustainable and profitable.

At that point it was really just a theory and a dream. No Open Source project had ever done anything quite like it before.

Today, the Ghost Foundation turns over $350,000 and, even more significantly: is profitable.

2014 was a pretty incredible year. It’s surreal to look back at just how far we’ve come. 2015 is set to be even bigger.

A Bigger Focus on Transparency

For the last year we’ve realised that a lot of things we’re passionate about are symptoms of something larger. Ghost is Open Source because we believe in free and open software which is available to everyone to use, hack and redistribute as they see fit. Ghost is not-for-profit because we believe in building an incredible company which is dedicated to its users, rather than creating wealth for its founders.

We’ve realised the larger umbrella that embodies all of these elements that ties them all together is quite simple: Transparency.

What we’re really excited about is building a company with integrity that’s completely open about what it does and why.

This year we’re going to place a much bigger focus on being even more aggressive about the number of things which we open up to the public. We’ve learned a lot from our friends over at Buffer and we’re going to be taking a leaf out of their book in several ways.

We’ve got tons of exciting things planned around this, and we’re starting out with a very simple one: Revenue reports.

Ghost 2014 Revenue Report

We’re going to try and do these every month from now on, but to start with here’s a roundup of how we did last year:

Unique visitors: 3,284,749

Total downloads: 504,949

Total users: 257,307

Ghost(Pro) subscribers: 3,675

Monthly recurring revenue (MRR): $29,177

Annual recurring revenue (ARR): $350,124

Average revenue per user: $7.94

Churn rate: 4.87%

Team size: 6 people across 3 continents

The overwhelming majority of our internal focus last year was on getting MRR up to make us profitable. Ghost Foundation being profitable makes it a sustainable business that can keep on going without outside investment. We prioritised high-traction features and did a lot of work on our pricing to reach this point.

We could have hit profitability in June, had we kept the team smaller - but we expanded to 6 full time people in order to be able to keep shipping new features in line with demand, so we eventually hit this milestone in December.

MRR is currently growing at around 8% month on month, which is definitely something we’d like to improve - but the pressure in 2015 is much lower than it was last year. Which is great!

Lesson 1: Getting Pricing Right is Critical

Launching one of the world’s first consumer Node.js apps was like diving into a black-hole when it came to setting up a hosted infrastructure. We had almost no idea how much it was going to cost, what the margins would be like, or where we should even begin with charging.

We started out with a base $5/month plan with a few higher options, all the way up to $80/month for the highest plan.

After spending a lot of time doing customer development, researching and talking with the fantastic team at Price Intelligently - we worked on a new plan structure with new pricing. The base plan would now be $10/month and range all the way up to $250/month for business users.

Having run a 33 day A/B test on the new pricing prior to changing it, we found that the price change actually lead to an increase in conversion rate. So, 2x the revenue and more customers than before. Despite a little negative feedback when we announced it at the end of September, the data told us that the new pricing was clearly the right way to go.

Pricing is something that’s never “finished” - and we’re planning to do more experiments in 2015 to optimise this further. The goal is always to give as much value to customers as we can, while creating a healthy business.

The most important lesson we learned here was that it’s really, really hard to build a viable business with $5/month plans. We’ve seen several other “Ghost hosting” companies enter and subsequently exit the market with price ranges from $2.99 to $5.99 - which isn’t a big surprise. Increasing our average revenue per user has been an enormous weight off our shoulders, and given us a lot more room to work with.

If you’re interested in anything to do with product pricing: I can’t recommend the Price Intelligently blog highly enough. I’ve spent hours reading and re-reading their posts.

Lesson 2: A Small Change at The Start of The Funnel Has a Massive Impact at The End

We refer to the “funnel” as the process of moving a customer through the various stages of the onboarding process. Usually it looks something like this:

User signs up [10,000 people]

User starts trial [4,000 people]

User sets up product for first time [2,000 people]

User becomes a subscriber [400 people]

At each stage of the funnel there’s a conversion rate which can be worked on as you try to nudge users toward completing your desired goal: eg. becoming a subscriber.

The interesting thing is that each step of the funnel impacts every step of the funnel below it (but not above). So, while it can be tempting to just work on the conversion rate of your end-of-trial page at the very end… it can actually have a far larger impact to just get a 1% increase in the number of people who are starting trials right at the start of the funnel.

We figured out what caused users to be 1,000% more likely to convert to paying customers. When we applied this learning, we were immediately able to see a 370% conversion rate increase further down the funnel. There was no way we could have gotten a 370% increase in conversions just by working on A/B testing to improve that one particular page. To improve one action, we had to look upstream first.

This was a super interesting lesson.

A tangential lesson here, too: Make sure your analytics actually work correctly. There’s nothing worse than finding out you implemented a piece of tracking very slightly wrong, and now your last 6 months of data is totally meaningless and can’t be used for any kind of segmentation or analysis. Sounds obvious - but we’ve found flaws in our tracking implementations over and over and over again. It’s way easier to screw up than you might imagine.

Lesson 3: If Something Feels Weird and Broken, it Probably is

For the first half of the year or so, we did a big-bang release of Ghost every few months. We named each version and made a big fuss about what version number it was. We included details of all the things that had been worked on since the last release, and provided instructions on how to update.

This is how almost every single Open Source project in the world works, but after a while, it started to feel pretty weird and broken.

Why, in 2014, would you only release software a few times a year? Why do people constantly have to update? How can developers ever learn from user behaviour or improve on their work, when there’s a 6 month gap between usage and iteration?

In August we announced Ghost 0.5, and noted that it would be the last release in this format.

Since then, we’ve moved to an agile release process - shipping new things every 2-4 weeks. In the last 4 months of 2014 we released 7 different versions of Ghost. In 2015 that number is only going to increase as we automate more of the process.

Best of all - we automatically push these updates out to all Ghost(Pro) customers in the background. This isn’t just a better experience all round for everyone, but it also added a significant extra feature/benefit to using our hosted platform which would drive more people to using it.

Looking back, it seems insane that we ever did releases any other way. If you’re doing something because “that’s the way it’s always been done” - it might be time to try something new.

So What’s Coming in 2015?

Lots.

The Ghost Roadmap is pretty full right now, and we’re incredibly motivated to ship the things which are in high demand, especially:

Editor improvements (Spellcheck!)

Tag management

Navigation menus

Code injection

Post scheduling

A major focus for the rest of the year is going to be around Apps and the Ghost Marketplace.

We’ve been talking about this for a long time, and haven’t made much progress because it’s such a major project. This year we’re hoping to finally make some serious progress on allowing other apps and services to integrate with Ghost, and vice versa.

We know there are multiple issues with the current marketplace (which is really just a placeholder showcase gallery), and that’s something we’re going to be looking to completely overhaul in 2015. The long term plan is to have it look and feel a lot more like an Apple App Store or Google Play Store type experience. Shopify have done a pretty great job with their marketplace, which should give some indication of things we’d like to do.

There’s also going to be an increased focus on content for this blog (we’re going to share lots more), as well as work towards making Ghost and Ghost.org much more friendly for translation into other languages.

If there’s anything you’d like to see us writing about, sharing, or doing - or if you have any questions about what else we did in 2014: Let us know in the comments.

Thanks for being a part of this journey and making it all possible. Without you, we’d be absolutely nowhere.

One of the most important aspects of any blog is its discoverability. When you write a post, it's usually because you want someone to read it! For this reason, making your content search engine and social network friendly is extremely important.

Two months ago we added custom post meta to Ghost by default so that you can customise the data which you send to these places. A month ago, we added structured data support, so that social networks and search engines are able to read your custom post meta more easily.

Today, we're introducing automatic XML sitemaps as core functionality within Ghost to take this another step further.

An XML sitemap is a complete list of all the pages on your site, in a format which can be easily consumed by search engines. In short, it's a page which tells Google where all your content lives that it should crawl and place in its search results.

We've also updated Ghost's robots.txt with a link to your sitemap, so that search engines are able to discover it automatically even if you don't go through a manual submission process via something like Google WebMaster Tools.

This feature is a major step forward in Ghost's native SEO support. Enjoy your new and improved rankings!

Ghost(Pro) users already have sitemaps running right now, there's nothing you need to do! Users running Ghost on their own servers can grab this feature by upgrading to Ghost 0.5.7.

Open source, not-for-profit, and distributed. Sometimes I think we really are the black sheep of startups.

As is becoming more and more common these days, Ghost is a fully distributed team. We have no office, no headquarters, and no fixed working hours. Our registered business address is a virtual office in central London. Nobody works there. Instead: We're all over the world.

The freedom is awesome, but it's also challenging.

Running a remote startup is very different to working together with a team in person. That sounds a like an obvious statement, but it's really a far larger paradigm shift than most people appreciate when they go into it.

The most significant difference is in the value of the tools you use, and I think it's important to explain why:

When you're co-habiting the same physical location with your colleagues, you have a human connection to them. When you work remotely, you do not. If you're anything like me, your reaction to that is probably slightly underwhelmed, because it's something that doesn't seem like a big deal. But it is.

A lot of people like to talk about "water-cooler conversations" and impromptu chats that occur in an office. This, I believe, is dumbing down the subject to its most superficial symptom. It really has nothing to do with water-cooler conversations, it has to do with the reason those conversations happen.

Why do you have a random chat with someone about the weekend when you go into the office? Or, conversely, why would you not speak to someone when you passed them in the office? How would you know when to do either one of those? In simplistic terms, it's contextual awareness.

You can see if Ben is in a bad mood because his headphones are on and he's looking at his monitor like he wants to kill it - so you know not to disturb him. You can hear that Mary is humming a Christmas song quietly at her desk, so maybe she's cheerful at this time of year. You can see, without question, that Luke is hungover - he probably isn't fully conscious yet.

As a species, humans are social by nature. Millions of years of evolution have caused us to develop awareness of each other using our senses. We have 21 different facial expressions, and multiple studies have shown that emotions are contagious - spreading throughout groups of people and influencing others.

But - when you're working with people on opposite sides of the world, all of this contextual awareness vanishes.

In an office, the collaboration tools you use are akin to a simple device like a screwdriver. They assist with difficult tasks and lessen the amount of effort required to complete them. In a distributed team, the tools you use are more like life-support. Everything to do with distributed team tools is about clawing back some of that contextual awareness which you've lost by not being in the same space.

The biggest benefit of a tool to a remote team isn't in the tangible - it's in the intangible. The best tools for remote teams bring you closer together as people.

Right now the Ghost Foundation is a team of 6 people spread across 4 countries and 3 continents. We have an extended team of open source contributors who do a tremendous amount of work, too - but for the purposes of this post I'm mainly going to talk about the Foundation team who work together on a full time basis.

Our 11 Most Important Remote Team Tools

So, here are the most significant things that we use on a day-to-day basis to function productively:

Some people refer to Slack as a team-chat app, but really it's so much more than that. Slack is our remote office. If you're on Slack: You're at work. It doesn't just allow us to talk to each other easily, it also pipes in feeds of all activity happening in our other tools. We see when new commits go in via Github, when goals are updated on Trello, when Pingdom tells us one of our servers is down, or when a new Ghost(Pro) customer converts.

Slack is at the heart of the entire company. If there was one remote-team tool that we physically could not live without: It's this one. I don't even remember what we did before Slack.

Sqwiggle is an app that snaps a photo of you via your webcam every 1-5minutes and allows you to see photos of the rest of your team doing the same. Initially, it sounds totally weird. A common reaction to Sqwiggle is not wanting to feel like you're being watched all day. In reality, it's a lot like Twitter. You don't really get it until you use it; at which point the value becomes clear.

It has very little to do with people seeing you. That part is almost inconsequential, in reality. The real value is in being able to see everyone else. Being able to tell who is happy, who is concentrated, who is making a silly face. Rather than just typing to a username in Slack, it has a really strong impact when you can see the person you're typing to.

A companion to Trello, iDoneThis handles our short-term plans. At the beginning of the week we all make a short list of the things we want to get done, and then as the week progresses we log all the things we actually get done. It's a simple way for everyone to share what they're working on. And it integrates nicely with Slack.

We tried lots of alternatives prior to iDoneThis. From WordPress/P2 logs to dedicated Slack Channels. Nothing worked quite as well.

Almost goes without saying that this is where we do all our code collaboration, but it's still worth mentioning. Everything that we build goes through Github, which ensures that we're always keeping track of issues. We've got about 11 open source repositories and 18 private ones. All development work and discussion happens here. All code is reviewed by 2 sets of eyes before it goes into master.

Hands down one of the most underrated little tools out there. LICEcap allows you to record animated gif screencasts. This is our number 1 most important bug reporting tool. If a picture speaks a thousand words, an animated give speaks ten-thousand. Or something.

NB: Are you an app developer? Please: Make an updated version of LICEcap, this thing is so ancient. With some nice design and a couple of extra features, it could be be so awesome - and we would promote the hell out of it. Drop us a line if you want some ideas.

There are variations of this. Some people use Clocks, some Every Time Zone, some just check the timezone in Slack. All accomplish roughly the same task: Figure out whether the rest of the team is awake, or sleeping, or what time it would be best to schedule a catchup for.

A shared calendar allows us to keep track of where everyone is. We have a small feed so that it's possible to see when someone on the team is travelling to a conference, taking a day off, or has an appointment that means they're not going to be around for a while.

We type a lot. Like a lot a lot. A LOT. So, aText comes in handy by storing shortcut abbreviations to bits of text. For example, if I type rroadmap - it will automatically delete that text and replace it with https://github.com/TryGhost/Ghost/wiki/Roadmap. We have hundreds of these which come in handy for storing the most common snippets of text we use that would otherwise need to be looked up.

Originally created for gamers to talk to each other while playing massively multiplayer online games, we're experimenting with Ventrilo for asynchronous voice communication. You hold down a keyboard button, and then speak to broadcast a voice message to the entire team. It's kind of like an audio-version of Sqwiggle.

I love working with light background noise. Something about it makes it much easier to focus. Coffitivity is a little Mac app which streams an infinite loop of ambient noise into your headphones. Well worth a try.

Getting Some Facetime

While all these tools do a great job of filling some of the contextual void, there's still really no replacing the real thing. No amount of video chats or cat gifs can replace sitting across the table from someone after a long day of work and sharing a deep sigh and a relaxing drink.

Earlier this year we managed to get the whole Ghost team together on a 10 day retreat in Egypt. We didn't really set a big schedule or make any grand plans - it was far more about simply getting to know each other as people, and discussing the future of Ghost in a relaxed setting.

As we're a young startup on a budget, we've only managed to do one full-team meet-up so far. Long term we'd love to be able to do things like this at least 3x a year.

Since we announced that we were going to be speeding up our release cycle back in August; we've released new stuff 7 times. We're also planning on 2 more releases coming before the end of the year.

Today we're adding a small feature that should let us move even faster: Ghost Labs.

Labs is a new settings page within Ghost which allows you to access bits of brand new Ghost functionality that we're still working on. The intention is to get real people testing new features as early as possible so that we can get lots of feedback about how well it is (or isn't) working before we roll it out to everyone.

Now you can access import/export features more easily (previously these were hidden on a debug page). As well as a couple of handy tools to reset your content or test that email-sending is working.

Much more is on the way!

Ghost(Pro) users can start using this feature immediately. Users running Ghost on their own servers can grab this feature by upgrading to Ghost 0.5.6.

It happened at the beginning of this year, but feels like it was only yesterday that Packt Publishing reached out to let us know that they were looking to create the first book about Ghost.

Today, that book exists IRL! (and we've got copies to give away)

What's Inside

The book is a collaborative effort between 3 of Ghost's most active users and contributors since it first launched just over a year ago. Kezz Bracey, an Australian designer who has been making themes for Ghost since day 0. David Balderston, an IT professional and one half of the HowToInstallGhost tutorial team, and Andy Boutte - the other half of that team as well as one of our top QA contributors for the Ghost open source project.

Together they've put together a solid guide for any new users to Ghost, covering everything from installing and creating your first theme all the way through to deploying it on a VPS and launching an online publication.

The book launched last week and is available from a variety or retailers all over the place! Here are 4 quick options:

Get a free copy!

Thanks to the team at Packt Publishing - we've got 3 copies to give away. To win one, just leave us a comment below telling us what upcoming feature in Ghost you're most looking forward to seeing. Easy!

If you need some inspiration, here's the roadmap of things we're working on!

Those were my thoughts last year when a new service called Roon.io popped up out of nowhere. It was only a few months before Ghost was going to be released for the first time. Sam Soffes and Drew Wilson had collaborated - seemingly overnight - and shipped a beautifully designed, Markdown powered, modern blogging platform.

It gave us a kick, at the time, and pushed us to improve. Ever since then we’ve kept a close eye on Roon and followed its progress alongside ours.

Fast forward a year, and we discovered last week that the project had hit a fork in the road. Drew had departed to work on new projects which were taking up all of his time, and Sam was deciding what to do next.

I reached out to Sam to see if we might be better off working together going into year 2.

What’s Happening Now

Today I’m thrilled to announce that we’ve acquired the Roon.io project, and Sam Soffes will be joining Ghost’s Board of Advisors. Together we’ll be working to take many of the best bits of Roon and integrate them into Ghost as completely open source components.

One of Roon’s biggest strengths as a product has always been its beautiful Markdown editor, which should come as no surprise given Sam’s background. His other main project is a beautiful desktop Markdown editor for OS X called Whiskey. We’re incredibly excited about making an even more functional, beautiful Ghost editor.

The Roon.io hosted platform will be closing its doors on December 31st, 2014. We will be providing full data exports as well as seamless migration options for all of Roon’s 100,000+ users to Ghost. Anyone who has paid for a premium Roon.io account will receive 12 months of Ghost(Pro) for free. We’re also going to extend a 3 month free trial to any other Roon users who would like to give Ghost(Pro) a try.

Finally, we’ve ported Roon’s front-end design as a brand new official theme for Ghost so that anyone wanting to carry across the Roon look to their Ghost blog is able to do so:

This is a wonderful milestone for us as Ghost passes a quarter of a million registered users, half a million downloads, and is still growing fast as ever. We’re incredibly excited to use this opportunity to make an even greater blogging platform and to welcome all migrating Roon users to the family.

We’ll be in contact with all Roon users in the coming weeks about data exports and migrations. If you have any problems or questions about your data - drop us a line on support@ghost.org.

Q&A

I'm a Roon user, what's happening to my stuff?

Right now: Nothing. All your data is safe. If you'd like, you can export it in zip format right now from your Roon Dashboard. Over the next couple of weeks we'll also be providing easy Ghost migration tools. We'll email you to let you know when these are ready.

Why not just Open Source the whole thing?

Roon was never designed or structured as an Open Source product. Unleashing the codebase in its current state would raise far more serious problems than useful solutions. Rather than allow the community and brand to fracture, Sam is working with us to open source all the best parts of Roon as a part of Ghost. We’re starting with an official open source Roon theme for Ghost which brings Roon’s front-end design to all Ghost users. Sam has also already open sourced an HTML to Markdown converter used in Roon. A lot more will be coming over the next few months.

Why isn’t Ghost free then? Roon was free!

The Ghost software is completely free of charge to download and run on your own computer or server, if you have some technical knowledge.

If you want us to handle all of those things for you, then our Ghost(Pro) service is available which requires no programming knowledge at all. This service is not free because it costs money to run. Having a sustainable business model means we can pay our expenses and our developers so that Ghost will be around (and improving) for years to come. We’re an independent not-for-profit organisation funding the world’s fastest growing Open Source publishing platform.

So, if you do decide to use Ghost(Pro), then not only do you get a blazing fast, shiny blog - but you also support free and open independent publishing, all over the world.

We've added meta tag output for Schema.org, Twitter Cards, and Open Graph. This means that any of your posts shared on Facebook, Pinterest, Twitter or Google+ will now have rich content associated with them, allowing them to show up as beautiful embedded stories.

Making your content look great on these networks generally leads to much higher engagement from readers, with more shares and mentions. It can frequently also lead to more people linking to your blog, which is (of course) very good for SEO purposes.

Ghost(Pro) users can start using this feature immediately. Users running Ghost on their own servers can grab this feature by upgrading to Ghost 0.5.3.

]]>http://blog.ghost.org/structured-data/90bf8235-c3c0-4427-82f3-46a4132732fcMon, 03 Nov 2014 12:50:35 GMTToday we're introducing auto-save for Ghost. From now on your posts will always be automatically saved in the background while you're writing.

+1,000% conversion

How could that possibly be right? A 4-digit increase?

I checked and re-checked the data; but there were no mistakes. Having read countless books and blog posts, I’d heard about the paradigm from other startup case-studies. This was the first time I was seeing it in person.

A unicorn!

What We’ve Learned from Onboarding Our Ghost Users

It all started with a very basic premise: Some of our users have a better initial experience than others and - as a result - they are more likely to convert into paying Ghost(Pro) subscribers.

The question was, how to quantify which parts of the experience were contributing to (or detracting from) the eventual outcome.

I enjoy reading case studies about how other companies give their users a good first impression. The general advice is always the same: You have to get users to the “aha!” moment. The point at which they start to get value from the product. For an accounting app, that might be when the user creates and sends their first invoice.

And you see - that’s the problem with most software books and blogs. They always make the same vague statement and give the same tired example about an accounting app and an invoice. What seems to be lacking, so often, is information on how to apply these lessons to what you’re doing.

The catastrophic assumption here is thinking you actually know what your software’s “aha!” moment even is. Or, perhaps even more fatally, that you think that there’s only 1 of them.

In reality, there are lots of little “aha!” moments throughout the onboarding experience - and one of the most important things you can do is learn what they are.

The 3 Key Moments which Matter

Had you asked me what the “Aha!” moment for a blogging platform would be a few months ago, I would’ve said “publishing a post”. That’s when you’ve set everything up, used the product, and completed your first piece of work.

After a couple of months of tracking various user actions, publishing a post did turn out to have some impact - but it was actually the lowest of all, compared to the other things we found.

Using events which are recorded in real-time on Ghost.org I was able to start comparing events and looking for correlation and causation. Do users who signed up today convert better than users who signed up a month ago? Are you more likely to subscribe for a Pro account if you’ve been contacted by our support team? Do people who publish more posts get more value? These were some of the questions we wanted to answer.

I looked at the baseline data from users starting a 14 day trial on Ghost(Pro), to signing up for a paid account. Next, I tested adding steps in between those two points, and re-evaluated the conversion data based on behaviour.

That’s roughly the moment at which I stopped in my tracks as the funnel in front of me showed a conversion increase of more than 1,000% for one particular group.

I wasn’t expecting such a massive result from this comparison.

Users who added a custom theme to their blog converted at just over 10% - more than 10x the rate of users who simply stayed with the default theme.

Very clearly, our users were experiencing a significant “Aha!” moment as they personalised Ghost and turned it into their own, custom space on the internet.

There were 3 events which affected the eventual subscription conversion rate most significantly:

Publishing a first post: 5% conversion

Uploading a custom theme: 10% conversion

Adding a custom domain: 8% conversion

Users who had not completed any of the above events converted at a vastly unimpressive 0.9%.

This is about as disparate as you will ever see a set of statistics for user onboarding, so we knew that we had a lot of work to do in order to make this better.

Creating a More Successful Onboarding Experience

Armed with this new data, we set out to create a better onboarding experience, focusing on improving the areas were we could see clear correlation in success rates.

The important thing to understand about user onboarding is that each step contains a bucket of users. Once you figure out what the buckets are, you can focus on improving each one individually and it will cascade down to the others.

We knew we had events which were affecting conversion the most. So how could we get more people to complete those events?

Taking a little gamification inspiration partially from LinkedIn but mainly from Intercom.io - we set out to create a “blog setup” progress meter. This would be a simple 5 step process to guide the user through the most important tasks to complete, including the ones which we knew would make them more likely to get value out of Ghost. Each step has a simple text or video user tutorial on how to complete it, and each step takes you closer to 100% on the red progress meter - which sticks in your Ghost.org navbar until you get there.

The only flaw with this process is that it relies on the user being present on the site for them to know what the next step is. What happens if the user sets up a blog and then closes the window because they have to go out - forgetting to come back and do the next thing?

To tackle this problem, we used Intercom.io to send conditional emails depending on where in the chain you are.

This is set up to try to be as helpful as possible without being annoying.

If a user has published their first post but we haven’t seen them in a couple of days, we send a 90 second instructional video on how to install a theme. If they’ve already done that step, we send instructions on how to set up a custom domain. Most importantly, we only ever send these emails if they haven’t been contacted in the last few days and if they haven’t opted out of any previous emails.

The results have been incredible to watch. While on average just 7% of users who start a trial will add a custom theme or domain name, that number jumps to 26% if they watch one of our tutorial videos and go through the onboarding progress steps.

Quadruple the users entering this point of the conversion funnel, means a trickle-down effect as users with custom themes continue to convert better at the end of the funnel.

By helping users have a better initial experience, we’re able to show them why this is something worth their time and energy. This, in turn, leads to a greater positive emotional investment when it comes time to decide whether Ghost(Pro) is worth paying for.

From observing this in action and actively talking to our customers, we understand that customising the look and feel of Ghost is a major part of its appeal. The degree of control and independence which Ghost gives here is something that closed platforms simply aren’t able to match.

Where We Go From Here

Any good experiment generally leaves you with just as many questions as answers, and this one is no exception. From the lessons we’ve learned in figuring out what affects users most as they get familiar with Ghost for the first time - we now have many more things to test and think about:

How can we make discovering new themes easier?

How can we make installing and customising themes easier?

Can we reduce the steps needed to add a custom domain?

Is there a correlation between the number of posts a user publishes, and the average length of their subscription?

What events lead to an increase in publication frequency?

What events correlate with abandonment of the setup process?

What other moments are there that we are not yet measuring?

Perhaps the most significant piece of data that came to light throughout this process had nothing to with conversion to a Ghost(Pro). I was interested to see if these “Aha!” moments were purely a good onboarding experience, or if - in fact - they had a longer term effect on how much value people were getting from the software in general.

The data, once again, was fascinating: Users with the default theme published an average of 2 posts per month, while users who had customised Ghost with their own design published an average of 4.4 posts per month. Usage more than doubled.

We don’t know the order of causation at this point. Does having a custom theme make you publish more posts? Or does publishing more posts make you want a custom theme? But we can say with relative certainty that the two are clearly correlated. People who are getting value from Ghost have a custom theme, and people who have a custom theme are getting value from Ghost.

This is important.

By understanding the impact of features on usage, we can filter this data back into the design and production of Ghost itself. We can create a tool which isn’t just satisfactory in its utility - but rather one which generates a real sense of pride and attachment to that which it is used to create. And that’s what we want to do; we want to make a tool which writers love to use.

While cookie-cutter advice about “aha!” moments is interesting - it doesn’t really mean anything until you apply it to your own users. Until you figure out what things are happening, what moments are taking place and which are significant.

Figure that out and - I believe - there’s no limit to the amount you can learn. We still have a long way to go, but we're enjoying the journey immensely.

]]>http://blog.ghost.org/ghost-onboarding/4851b82e-093a-4711-b9d1-22fe13c21c6eMon, 27 Oct 2014 11:49:46 GMTToday we're officially announcing support for custom post meta data! You can now add a custom meta title and description to all your posts and pages within Ghost. This allows for more fine-grained control over your search engine content targeting.

For anyone using the default theme, this will work straight away. If you're using a custom theme, this content will be inserted via the {{meta_title}} and {{meta_description}} helpers.

Developers can find out more about how to use images and more recently released features in the Theme API Changelog.

Have fun improving your rankings across the board!

Users running Ghost on their own servers can grab this feature by upgrading to Ghost 0.5.2.

]]>http://blog.ghost.org/post-meta/4e6eda56-6035-4fa0-83fe-e383b143e386Tue, 07 Oct 2014 09:56:45 GMTToday we are announcing a new set of plans and pricing for our Ghost(Pro) service. I'd like to share some details of how and why we're doing this. Tl:dr; We're increasing plan prices and increasing the resources in each plan. It's a better model for us and more value for money for you. Also: No more penalities for traffic spikes.

How We Started Charging

When we launched Ghost(Pro) at the beginning of 2014, we took a giant leap into the unknown. With Ghost (and even Node.js) being so young, creating a hosted infrastructure to support thousands of instances of Ghost was a big challenge. In short: we actually had no idea how many instances of Ghost we could even fit on a server, because no one had ever done it before. This made working out the cost of hosting a Ghost blog relatively difficult.

The second biggest factor in our initial pricing was the fact that when we launched, Ghost was at version 0.3. It was a newborn baby with 3 features and a whole lot of ambition. There simply wasn't that much you could do with it, yet, so the initial value in subscribing to Ghost(Pro) was relatively low.

With those things in mind, we set our prices at a low barrier to entry, and with relatively conservative plan limits while we started benchmarking our infrastructure and working our tails off to build more features into Ghost itself.

What We've Learned Since Then

For a first attempt, we did quite a good job of positioning our pricing as an entry-level product. That being said, we quickly learned a great deal about where we were going wrong and what we could (and should) be doing better.

Lesson 1: We didn't ask for enough on price.

An entry level price point of $5 is a really good rate for a VPS hosting plan. But we're not offering a VPS! Ghost(Pro) is a fully managed service with automated installs, upgrades, backups, performance optimisations, and a content delivery network serving your blog from 27 different data centres around the world. This costs more time and money to run, and it also provides a lot more value in the time and money it saves users.

We're a not-for-profit organisation, so we can't take any venture capital or investment. Ghost(Pro) is what keeps the lights on the for entire Ghost project. While our current pricing has allowed us to create something sustainable, we need more revenue to grow our infrastructure and our team so we can compete with all the (very well funded) closed platforms out there.

Lesson 2: We didn't give enough on value.

The other big thing we learned was which things our users care about most. Initially we set quite high limits on number of blogs per plan, but we found most people didn't use more than 1. We also set quite low limits on views per plan, and we found that people were very nervous about having to try and keep their traffic within plan limits - which is something that's (of course) totally unpredictable.

The value that you get from a Ghost(Pro) blog is when you publish something and it manages to reach a large audience of people. That's what our users care about, and we didn't do a good job of aligning the value of plans with this. You shouldn't be penalised for publishing great content and getting a traffic spike.

What We're Doing Now

For the last few weeks, we've been rolling out new pricing for new customers. Effective today, our old plans will subsequently be discontinued for new users.

There are three main changes in our new plans:

1. Plan Prices Have Gone Up

Our entry level Ghost(Pro) plan is now $10, and we have new larger plans for users with a consistently high level of traffic. Increasing our minimum service level allows us to run a much more healthy business, and continue to hire great developers to work on Ghost and make it better for the entire world.

2. View Allocations Have Gone Up

We've more than doubled the view allowance in every plan. This means that relative to usage, prices have effectively gone down. Many customers will be able to downgrade plans and receive the same number of views. Bandwidth, storage, and all other things you would pay for on a traditional host remain unlimited.

3. No Suspensions When You Exceed Plan Limits

Previously if you went over your view count in a month, you would be asked to upgrade your plan or your blog would be suspended. Effective today, we are completely stopping this process. All Ghost(Pro) users will now be allowed to exceed plan view limits by any amount without penalty. If you hit the front page of Hacker News, your blog will stay online and we'll keep on serving it to all your readers.

If we notice that you've exceeded your plan limits for 3 consecutive months, we will send you an email to ask you to move to a higher plan. In short: All customers will now pay for usage based on their average traffic, and never be forced into a higher plan because they had a traffic spike in one particular month.

Q&A

How are existing users affected?

No changes. We will honour existing plans for all of our early users who made starting Ghost(Pro) possible. If you want to change over to our new plans, you'll actually get a lower price based on usage. Many users can now also downgrade to a cheaper plan with the same number of views, if they choose. But we'll leave that decision up to you.

If you do want to make the switch, just head over to your acount billing area.

Why these numbers?

We spent a long time crunching digits and analysing every possible similar service which people pay for. We sent out a survey to thousands of our existing users to ask the how they felt about our prices. And, we talked for many an hour with the wonderful team over at Price Intelligently to make sure we got it right. It's pretty heavy stuff, but the general consensus was that we were underpricing, and we could offer more value per plan.

Who can I talk to about this to learn more?

As always, you can reach us any time (day or night) on support@ghost.org. We'd love to hear your feedback, and help you with anything you might need.

It's been an incredible journey so far creating a service which people genuinely love, and we're only at the very beginning. We are proving a brand new, sustainable, open source business model to the world, and it's you – our users – who are making it possible.