Product Dev Back to Ghost

Public Dev Meeting 7th Apr

Post image

We begin with big news from team Ghost this week. As we announced on the main blog, we've launched a new public revenue dashboard as part of our big push towards being more transparent. Read the April update post for more details.

This week in Ghost land, we've seen a few interesting PRs land in master. Code injection got syntax highlighting & line numbers (#5016), and is now awaiting a last pass over the UI before having it's labs training wheels removed.

Ember was updated to 1.11.1 (#5094), which means we no longer need {{bind-attr}}, making the code significantly neater. There are a couple of gotchas to be aware of, which novaugust explained:

  • the first is that style and script contexts are vulnerable to xss via {{}} - ember does not know how to escape in those contexts (unlike with html), so we need to take extra care here for a little while
  • the second thing was whether you should wrap an attribute in quotes or not, ie foo={{bar}} vs foo="{{bar}}". Essentially, wrapping in quotes forces toString(), whereas bar puts the raw type in, which is useful in html5 for things like data-count=5 disabled=false.

More info about the changes in Ember 1.11 can be found on the Ember blog.

There have also been a number of PRs raised/merged, which fix bugs with and improve the output from our RSS feeds. This includes moving the full content to the proper <content:encoded> element, using <description> properly, using the <media:content> for cover images, changing the mime type, fixing some issues with bad URLs, and soon we hope to also be changing the RSS feeds so they aren't generated on every request, meaning ETAGs will work properly. Hopefully these changes will help to make our RSS feeds more useful.

During this week's meeting there was some discussion around the Ghost-Vagrant setup. This has been somewhat unloved for a time, and needs a little work. There is a renewed push from our community to improve it, which should help more people get involved developing for and with Ghost.

The next release of Ghost is scheduled to happen before the next meeting, and will be Ghost 0.6.0!

A note on contributing

One of the best, and easiest ways to get involved contributing to Ghost, is to help us get PRs merged. If you have a few minutes spare, check out a pull request, take it for a spin and let us know what you found. Did it work OK or was there a problem?

Not only does this help us to merge changes faster, and keep Ghost moving forward, but tracking changes & how they affect Ghost is a fantastic way to get to know pieces of the codebase.

Check out this little guide on how to setup your environment so that checking out a pull request is as easy as pr 1234, and then try one out!

Full details:

The full logs of the meeting in our IRC logs, which are looked after by the lovely folks at botbot.me.

What is this?

We hold a public development meeting pretty much every Tuesday at 5:30pm London time in the #ghost channel on freenode. In this meeting we discuss progress, important issues, and what is and isn't on the Roadmap. It's a chance for everyone to get involved and have their say about where Ghost goes next.

Hope to see you at next week's meeting: Tuesday 14th April, 5:30pm London time.