8 ms·
Introducing Ghost 2.0
- marcperel 8y agoI was a pretty early beta on the editor, and I'm happy to see the production version turn out as good as it did. Cards is a smart way to re-phrase the rich content without dipping into the "site builder" mould. Nice work.
- johnonolan 8y agoHeyo, John from Ghost here. Thanks for the kind words so far about 2.0 — it’s been a hectic few months! Earlier this year I talked about how we were shifting focus from simplicity to power - https://blog.ghost.org/5/ https://blog.ghost.org/5/ - and this is the first big release since that move. Whereas early versions were extremely opinionated and rigid, we’re now starting to bake in more flexibility and configurability to allow for a more diverse set of use-cases. Some fun technical details from this release: - New features require building a routing map for all possible URLs on boot, which is a dramatically heavy operation. We were eventually forced to forgo our traditional ORM layer entirely to get any degree of performance (insert: shock/awe) - Related: It turns out SQLite3 has a query limit of 999 SQL variables, so we had to implement a recursive query strategy for SQLite only. Wild. Default is MySQL though, which was fine. - Conquered a pretty spectacular memory leak when running in development as a result of trace-logging promises in Bluebird, which is “a full featured promise library with unmatched performance” — …unless you implicitly enable debug traces Also: Let me be the first to say that I can’t believe there’s still no Postgres support, which is absolutely outrageous. On a serious note, thanks for all the support and there are several of us hanging out in the comments if anyone has technical questions which they’re curious about.
- just_observing 8y ago"Also: Let me be the first to say that I can’t believe there’s still no Postgres support, which is absolutely outrageous." Postgres is open source. Why do they owe you? If it matters, write the code.
- deburo 8y agoThat's not how he meant it, because it makes no sense. He meant that he still hasn't taken the time to get some people in his team to support Postgres officially, I guess.
- Vinnl 8y agoIt's a joke, the context of which is that they removed Postgres support from Ghost a while ago, and people keep complaining about it. See: https://blog.ghost.org/dropping-support-for-postgresql/ https://blog.ghost.org/dropping-support-for-postgresql/
- fusiongyro 8y agoI have to give him credit, I was here to complain about it.
- beaconstudios 8y ago> New features require building a routing map for all possible URLs on boot, which is a dramatically heavy operation. We were eventually forced to forgo our traditional ORM layer entirely to get any degree of performance (insert: shock/awe) - Related: It turns out SQLite3 has a query limit of 999 SQL variables, so we had to implement a recursive query strategy for SQLite only. Wild. Out of pure technical curiosity, how did this come to be the chosen approach? A query with 999 variables strikes me as a serious code smell, but at the same time I don't doubt you guys seriously considered the alternatives before choosing this route.
- erisds 8y agoWe're loading all public-facing resources - so posts, tags, authors and importantly the relations between them - in as few queries as possible, using fairly typical where...in queries in order to build the relations. SQLite uses variables for in queries, and so sites with a lot of content triggered the "more than 999 variables" error. Solvable, of course, but quite an interesting limitation to discover!
- jmelloy 8y agoOracle had this limitation, too, or at least it did a few years ago.
- phaas 8y agoI discovered a similar limit with postgresql, mainly due to the protocol sending the query length as a 16-bit number, limiting the total length to ~65k characters. In that case it was far better to create a temporary table and JOIN that rather than using an " IN (..)" clause anyway, so that's another option if SQLite supports it.
- anarazel 8y agoThere's no 16bit number limiting query length in PG, the limit is 1GB and has been for a LONG time. But it's indeed often a good idea to use a temp table for some of such cases.
- dethswatch 8y agoFrom the Title to this post- no clue what this is? Is Ghost that hdd copy program from a while back? 1st paragraph of this post- still no idea what this thing is. Presuming it's the drive copy program. The rest of this post, still not clear. Probably not the copy program. Blog post: ".. a great open source publishing platform .." -- ok, it's like Wordpress. Gotcha.
- sciurus 8y agoYou're complaining that you can't tell what this HN submission is about from the top-voted comment alone, and you actually have to read the submission? I've seen people complain about the submission for a product announcement being unclear before, but hearing that complaint leveled at the comments is a new one.
- Vinnl 8y agoI think it's not so much a complaint, as a suggestion to include a short recap of what the project is in the introduction of release announcements. I don't think OP was so much annoyed, as much as that they considered that it's a smart thing marketing-wise: those who don't know what the project is are unlikely to read on to the third paragraph. See e.g. Rust, which does this really well: https://blog.rust-lang.org/2018/08/02/Rust-1.28.html https://blog.rust-lang.org/2018/08/02/Rust-1.28.html
- johnonolan 8y agoFair point, I probably could've included some useful context there - thanks for the tip!
- Vinnl 8y agoThank dethswatch, it was their tip (although it's flagged right now) - I just interpreted it by assuming good intentions :)
- FlipperBucket 8y ago
- nathcd 8y agoHey John -- I recall seeing on your Mastodon account recently that you were interested in supporting ActivityPub for Ghost blogs. Any news on that front?
- johnonolan 8y agoYeah! Very interested - we have a highly voted topic for it over on the forum with some ideas, too. It's not a primary focus of the core team right now, but it's the sort of thing we'd be very interested in open source contributions for. One of the main motivations for people using Medium is the network effect. I think it would be really cool if that could be recreated in a platform-agnostic, decentralised way :)
- sachinag 8y agoI'm not sure how you could improve on blogrolls here, but I'm curious to see what you try.
- alexktz 8y agoI host several self-hosted blogs using Ghost 1.0 in Docker. When can we expect 2.0 released via Docker please?
- dewey 8y agoThe first place to look is the Ghost Docker repository and there’s already an open issue for it: https://github.com/docker-library/ghost/issues/142 https://github.com/docker-library/ghost/issues/142
- cyberferret 8y agoQuestion: Has the (Electron) Ghost app been updated to work with Ghost 2.0 as well? i.e., am I going to break things if I update my server to Ghost 2.0 then try to publish new posts using the app?
- vikaspotluri123 8y agoGhost Desktop has been updated to support the Koeing Editor (see https://github.com/TryGhost/Ghost-Desktop/releases/tag/v1.7.0 https://github.com/TryGhost/Ghost-Desktop/releases/tag/v1.7....) - Just make sure you're on 1.7.0 ;)
- rglover 8y agoHell yeah, John. I've absolutely loved watching you and your team grow over the years. Congrats and best of luck moving forward :) New stuff looks excellent.
- robhope 8y agoRefreshing to see focus on a better product and not a pivot into a website builder of sorts. Congrats on the launch, looks solid!
- KaoruAoiShiho 8y agoCan ghost be used as a headless CMS? Been looking for an open sourced one based on nodejs
- johnonolan 8y agoYes it can, it's not a perfect experience (yet) but quite a lot of people are already using it in this way. We're also generally interested in a more decoupled approach to the front end, so you can expect this to improve further in future!
- Yhippa 8y agoThis is perfect timing for me. I'm interested in getting serious about starting a technical blog. I've been deciding between Ghost and WordPress. Does anyone have thoughts on that comparison?
- jbob2000 8y agoDepends on your skills and preferences. I would choose Ghost since I am a JavaScript developer and would be more comfortable with a node.js solution. I'm actually so happy I was reminded about Ghost by this post, I might try to set it up myself tonight. Lacking PHP experience, I've never felt that comfortable in WordPress, but I can't deny that It Just Works. Easy to install and there are millions of users for easy troubleshooting.
- Yhippa 8y agoThat's basically what I'm thinking. Ghost is more inline with some skills I'd like to round out but it's undeniable that WordPress is the standard and there are so many plugins and extensions for it.
- scrollaway 8y agoWordpress has so many plugins and extensions because people use it as a site builder for anything and everything. Want a shop? A contact form? A newsletter? Restaurant bookings? Hotel reservations? Whatever, do it in wordpress. If you want a technical blog, Ghost also "just works" and is far, far better, cleaner, more beautiful out of the box imo. I use their Pro version for our company's blog (https://articles.hsreplay.net/ https://articles.hsreplay.net/) and it's just unbelievably good. I'm so glad to have found it and I'm a huge, huge fan of not just their product but also how they run their organization.
- whichdan 8y agoGhost is fantastic if you just need some simple features and a good Markdown editor.
- arusahni 8y ago
- truebosko 8y agoVery interesting! I've been debating if we want to continue using Sphinx (http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html http://www.sphinx-doc.org/en/master/usage/restructuredtext/b...) for our documentation website, and focus on a tool that provides a more robust platform for publishing a content focused site. Sphinx is great for building out an API reference, but there's so much more to a documentation website beyond that. Anyone have insight into this idea?
- therealmarv 8y agoGhost is not the best bet for documentations. It's great in its area but not for sphinx like documentation. Better look at mkdocs! If you want to see a website we created from a Sphinx to mkdocs switch: https://news.ycombinator.com/item?id=17717513 https://news.ycombinator.com/item?id=17717513
- johnchristopher 8y ago> Multi-Language Sites > You can now configure your site to support multi-lingual content served across unique URLs with SEO-friendly, semantic templates. Now you can publish in English, German, Spanish or just about anything! About damn fucking time, pardon my language. Was a real deal breaker for some projects of mine.
- johnonolan 8y agoAgreed
- johnchristopher 8y agoWhile we are on the subject, what are the plans now for the admin interface ? Community provided translation files ? Can the admin interface be translated ?
- kup0 8y agoAny chance of a cheaper / more minimal plan for a small personal site or blog? I suppose at that point, it's better for you for us to run it on our own hosting, though...?
- WesleyLivesay 8y agoThat is what I am moving to. I currently use their hosting but plan on moving to a DigitalOcean box soon.
- wlesieutre 8y agoI remember when they launched with a $5/month hosting plan, then when they raised it to $10. Just looked at the pricing page and the minimum is now $36/month (or $29/month billed yearly). That's some serious sticker shock. Is it that much better than say, Squarespace?
- WesleyLivesay 8y agoI am fortunate enough to be on the $10 plan, but given how little traffic my site gets cutting it in half with the smallest DO box would still be nice.
- penagwin 8y agoYou could even go with vultr or ovh and cut it even lower.
- wlesieutre 8y agoYou could move from Ghost Pro to another Ghost provider without being completely manual. A quick google turned up FastComet at $2.95/month. Page claims 1-click Ghost installation, easy Ghost upgrade service, and daily/weekly Ghost backups. https://www.fastcomet.com/ghost-hosting https://www.fastcomet.com/ghost-hosting Yay open source!
- kup0 8y agoThese were my thoughts exactly. Maybe it just hasn't made business sense for them to host cheaper plans, since it's available to self-host. But you're right, even against competitors (Squarespace) it's quite a bit more expensive. Not sure what justifies such a gap.
- amelius 8y agoCurious, how can this compete against free open-source alternatives?
- antonkm 8y agoThis is a free open source alternative, the pro version is just a cloudbased PaaS based on the same code. Here's the GitHub: https://github.com/TryGhost/Ghost https://github.com/TryGhost/Ghost
- jamesgeck0 8y agoGhost is free and open-source itself. I find it more pleasant to use than most of the alternatives. Presumably it's financially supported by the official hosting service.
- y4mi 8y agoUh, last I checked ghost was both free and open source if you're self hosting.
- obahareth 8y agoI just upgraded my website with a click and some minimal theme changes using Ghost Pro and I'm liking the new editing experience. It feels like a blend of the nice features from Medium and Caramella.
- monkeydust 8y agoHow good is ghost for seo vs other platforms?
- pmlnr 8y agoSeo is a theme thing, and it barely has anything to do with the engine.
- johnonolan 8y agoNot strictly true, Ghost has a lot of built-in features for SEO. In particular: Detailed schema.org microformats and structured data, automatic canonical tags, automated + user override-able custom meta data, automatic XML sitemaps, SEO friendly routes, RPC pings, automatic Google AMP support, and quite a few other things. We do all of these things in core, rather than leaving it up to the theme, so that everyone gets consistently good SEO rather than being left up to the mercy of whatever the theme developer remembered to implement
- pbhjpbhj 8y agoOoh, microformats, does anyone use those nowadays? (I have them on my sites, fwiw).
- monkeydust 8y agoThanks - are there examples you can point me to for commercial sites built from Ghost that advertise products (through affiliate links)?
- pbhjpbhj 8y agoGenerally there are default themes and they can be built with SEO in mind, or not. Seems like a reasonable question. Also if there are mods available to easily add features that are missing -- maybe, eg, arbitrary HTML header elements -- then that can make the system SEO friendly.
- varunramesh 8y agoI would love to see an official static site mode for Ghost (and Wordpress). That way we can get both a nice authoring experience and the low cost/security of S3 hosting.
- undseg 8y agoThis is always the first thing I look for in the new version announcements for big blogging platforms. Would be amazing if I didn't need to know a completely separate technology and/or hack together bridges/site "staticizers" in order to have a quite basic functionality (the site be 100% static when no back-end dynamic interaction is needed). That said, there are third party plugins for WordPress that do this. Don't know about ghost, but my hopes are for first-class support for this.
- marc_io 8y agoCheck out Publii, then (Open Source too). It's quite similar to WordPress in a lot of ways, but it's a desktop app that uploads static files. https://github.com/GetPublii/Publii https://github.com/GetPublii/Publii
- dpatriarche 8y agoThanks for posting this recommendation, I've been looking for a static blogging tool like this.
- bovermyer 8y agoWhy have I not heard of this? This sounds like a great tool.
- Sophistifunk 8y agoSeems like a great way for them to bankrupt the .com
- samirm 8y agoThis is the first thing I googled after I saw this update.
- ijongkim 8y agoReally looking forward to trying out Ghost 2.0 I help run a small publication with some friends and we've been having difficulties with Medium and think it's time to move to a new platform. One problem we haven't figured out a solution to yet is importing our Medium articles into Ghost. My current plan is to export the Medium articles, parse them, then insert them directly into the Ghost DB. Is this is a viable solution? I guess I have two questions: - Is Medium import going to be a feature offered any time soon? - How does the SEO configuration/setting work? Is it set up on article access? on article publish? on article creation? Would inserting articles directly into the DB break this process? Thanks!
- johnonolan 8y agoWe have no real way to do anything here, unfortunately. Medium deliberately export a totally vague dump of HTML files which don't even contain publication date and are essentially unintelligible. They also have no API to read from. There might be a route to creating a scraper, but that comes with its own set of challenges which are not insignificant and then potentially can also be misused by people scraping content which is not their own. So it's a tricky one. IMO Medium should provide a real export format and not hold people hostage... but you'd have to convince them of that
- binmanthrowaway 8y agoShould GDPR enable portability in the web apps? I think that is mandatory for a website to offer data take away in a standard format.
- kstrauser 8y agoWhat's the API support like these days? Can I use MarsEdit to easily post? Are there iOS apps for on-the-go thoughts?
- cyberferret 8y agoNice. I've been using Ghost for our development blog for a few years now [0]. Every time I have to maintain our main company blog, which is Wordpress, I am astounded by the incredibly messy and cluttered admin interface. Ghost just keeps it simple and easy enough for me to publish quick dev updates on our SaaS in seconds without having to wade through a ton of crud. I wonder if the 1.x -> 2.0 upgrade will be a simple ghost-cli command, or whether it will entail a complete reinstall on our Digital Ocean droplet? [0] - https://workplace.hrpartner.io https://workplace.hrpartner.io
- blfr 8y agoI was just thinking about ghost a few weeks ago! I used to use Ghost way back when and wanted to get back to it but the installation process has become really complex and brittle. I'm a little ashamed to admit that it beat me. The cli tool is very rigid. For some reason you cannot simply run ghost as the user ghost but you need some other user with sudo privileges to create the ghost user during the installation process. And if there's any problem at any point, it just breaks. I will try the npm path[1] but it looks pretty arduous as well. Is this a business decision to turn as many people as possible to the hosted version? Or is this just the state of node and modern web apps? [1] https://docs.ghost.org/docs/using-ghost-as-an-npm-module https://docs.ghost.org/docs/using-ghost-as-an-npm-module
- axxl 8y agoDigital Ocean has a one click install that configured a ghost blog and takes care of everything for you.
- blfr 8y agoI'm so old I still have a multi-purpose personal server instead of separate VPS/containers for everything.
- CM30 8y agoHonestly, I suspect most people use either traditional hosting or a personal server for their sites. The separate containers on VPS providers thing is significantly overrepresented on sites like Hacker News, and likely counts for why many scripts (not just Ghost) haven't quite cracked the mainstream yet.
- erisds 8y ago> Is this a business decision to turn as many people as possible to the hosted version? Or is this just the state of node and modern web apps? Ghost-CLI is an open source project, led and built almost entirely by contributors from the community. The process is rigid because they don't have enough hands to support more variations in environment.
- benfrain 8y agoI’m amazed no-one has mentioned the lack of a built-in commenting feature. The makers of Ghost are here appreciating the benefits of comments but sadly they haven’t made there way to Ghost yet. I’d love to move to Ghost from Wordpress but commenting is essential. And no. 3rd party Garbage like Disqus isn’t a viable option.
- gkoberger 8y agoA lot of blogs do just this... use Hacker News, Reddit or Twitter as their comments. Comments on blogs have become less relevant as time goes on. That being said, there are some decent Open Source Disqus clones out there you could probably use!
- always_good 8y agoBlog comments are visible and open to anyone reading the blog post. And the blog author can always see them and reply to them instead of chasing discourse across the internet. Reddit and HN topics become read-only after some time, so I'm not sure how they can replace blog comments. Twitter for comments, I don't understand. I guess you link to your canonical tweet and people reply to it? I find threaded conversation on Twitter to be just about unbearable.
- eugeniub 8y agoOof, commenting is the only thing tempting me to use WordPress on some of my websites over Jekyll.
- schlagetown 8y agoMy current favorite solution for comments is Discourse — they actually have a great plugin for WordPress that replaces the default WP comments. Maybe overkill for some, but really nice when building a real community (ongoing discussion rather than drive-by commenting) is a priority. I could see this being a similarly nice solution for Ghost! Though simpler native commenting support would be cool too.
- 8y ago
- dirtylowprofile 8y agoI updated to Ghost 2.0 last night and did not end well, though I managed to fix it by going to a sunken place looking for ghost.service. Hopefully in the next update it would be more stable. Also, one more thing I would like Ghost to improve is there SEO. My website hosted on DO is just 2-3 pages behind. Some of my posts don't even make it even the obvious meta and title.
- aphextron 8y agoGreat software
- OminStyle 8y agoAmazing progress throughout the years. Way to go Team Ghost!
- actionowl 8y agoAbout a year to 6 months ago I decided I wanted to try out the hosted version at ghost.org. It seemed I had already used up my free trial some time ago. So long ago I don't even recall doing it. I emailed support to see if I could get another trial. I was interested in paying for the pro version but wanted to make sure it was actually worth $29. I NEVER got a response from their support about my request. Just flat out ignored. Haven't been back since...
- codezero 8y agoThat’s a bummer. Sometimes small teams get very overwhelmed, and sometimes spam filters go awry. Did you try emailing them again, or contacting them on twitter? From what I can tell they are a team of eight with one dedicated support person, I empathize immensely with her.
- erisds 8y agoI totally understand that you feel ignored, however I can assure you our support team never ignores emails - so something must've gone wrong either with the original email or our reply. We're always happy to provide another free trial - or you can signup again with an email address variation.