6 ms·
Browsed the code a little bit and my overall impressions are the while the code quality is good, it's a shame that it seems to be tightly coupled to doing a dat
by Touche 13y ago
Browsed the code a little bit and my overall impressions are the while the code quality is good, it's a shame that it seems to be tightly coupled to doing a database as the backend. I was hoping to fork Ghost, or even better just provide a plugin for it, that uses static file creation instead of a db backend but looking at the code this looks like it's going to be a bit of work to do. I'll probably still do it but it would have been nice if the db stuff had been abstracted a little further out
- Anonmattymous 13y agoI completely agree, if you decide to do it and need any help PM me. With something lightweight like this it would definitely be a lot better with a simple file system instead of a whole database that you need to set up and deal with. I have done something similar before in PHP, but the Ghost front end is really nice.
- thecolorblue 13y agoSecond on PM'ing for help. I have been interested in node.js CMS's and this has been the most promising one. I have not dug into the code yet.
- 3825 13y agoHow do I PM someone on hacker news?
- cfontes 13y agoYou don't. Maybe you can try looking into one profile.
- thecolorblue 13y agoYeah, my bad, I assumed you could. send me a message on twitter. @thecolorblue.
- deleted 13y ago[deleted]
- Cthulhu_ 13y ago> I have been interested in node.js CMS's and this has been the most promising one. But it is /not a CMS/. It's a blogging platform, and it set out to not become what Wordpress has turned into (a CMS).
- subpixel 13y agoThe difference between 'CMS' and 'publishing tool' is semantic. Ghost is connected to a database, allows you to create content and manage assets, and if you read through the discussions in their forum it's clear many people are already excited to use Ghost not just to blog, but to create websites. That's not to say they will become Wordpress, but just to point out that content management is in fact part of what Ghost is created to do.
- erisds 13y agoThe default database is SQLite, which is a file and doesn't need to be setup or dealt with :)
- crucialfelix 13y agoAnd needs to lock when saving, so you can't have multiple users saving at once. It only works for single authors. Fine for a default though. As long as you can switch it later.
- cheshire137 13y agoJust curious, why not go with Jekyll if you want something lightweight and static?
- Touche 13y agoI want the Ghost admin interface.
- subpixel 13y agoHave you looked at prose.io?
- babby 13y agoBeen watching Ghost for a while and ever since I saw it get so much funding I thought to myself; with those pledged features I could do this alone, better, faster. Since then I have been sidetracked with a closed source somewhat-overlapping project but now that Ghost is out I plan to steal some ideas people actually like from it and continue building my own platform. Kinda makes me chuckle in that they got payed to do this and yet their feature set is still so underdeveloped, for a blogging platform of all things. I think now that you've made your point I may abstract models to the point where the database can be either MariaDB or a bunch of JSON files/SQLite. Its tricky because I build databases for performance and scalability over flexibility. To give you an idea of what I mean, Wordpress makes me cringe in the way they handle their tags, categories etc. and the sheer amount of SQL queries and joins for a simple front page. I make at most 2 queries for the front page (excluding sidebar, which would be cached), the user session authentication and the articles. I make no queries if I can help it ( Caching in node.js is so fun ). Categories are always in memory, along with user roles, settings etc. It's really quite glorious having a readily available memory store. I'm getting around ~500 queries per second to my front page in apachebench, which would normally have about 7-10 queries to the database.
- rmrfrmrf 13y agoHonestly, a better Wordpress is something that the majority of people with a reasonable understanding of web development and database design (or hey, with a NoSQL store, maybe not even that! /troll) could do in a weekend. However, as you've said, we all have other things to do, but more importantly, it's the free upgrades and transfer of liability that make Wordpress enticing. I'm sure there are plenty of developers out there (myself included) that are happy to say "there's a bug in Wordpress that we'll need to patch" vs. "there's a bug in my code that we'll need to patch".
- ryanSrich 13y agoBut it's also the community. The WordPress community is rivaled by none and that makes it a hard option to pass up on a budget. edit: This isn't to say I prefer WordPress over something like Ghost. What I do prefer is something stable with a healthy community. I wish Ghost as well as others like it the best of luck in getting there.
- calinet6 13y agoUsing a database should really not be a deal-breaker... you should evaluate it on other factors. My gripe is that it appears tied to SQLite, and I can't use Postgres. Oh well, wasn't planning on using it anyway.
- tgriesser 13y agoShouldn't be tied to SQLite (the underlying query builder/orm support Postgres), it's just not "officially" supported yet. So in theory putting in the correct connection config should allow you to use Postgres.
- fractalsea 13y agoI find it odd that you feel put off by the single choice of database, while also arguing that users shouldn't mind being tied to databases in general. Surely using SQLite when your setup is better suited to PostgreSQL is a less harmful trade-off than the case where files would have been better suited to your system/requirements.
- calinet6 13y agoI suppose. I have never understood an aversion to databases in general (though I do understand the general concept that the filesystem is, in a sense, a perfectly fine database for many purposes). I just like Postgres, that's all.
- gingerjoos 13y agoI haven't written node code before, so correct me if I'm wrong. The package.json file indicates MySQL as an optional [1] : "optionalDependencies": { "mysql": "2.0.0-alpha9" }, And this guide [2] seems to indicate that PG support is possible. [1] https://github.com/TryGhost/Ghost/blob/master/package.json https://github.com/TryGhost/Ghost/blob/master/package.json [2] http://www.howtoinstallghost.com/how-to-install-ghost-on-heroku/ http://www.howtoinstallghost.com/how-to-install-ghost-on-her...
- diminoten 13y ago
- jeremydw 13y agoGhost is super cool and I love the UI, but I also find that having a persistent database limits some of the portability. And, depending on what's in the database, it might mean that developers can't use their favorite tools (like Sublime Text, etc.) to author content, develop and design templates, etc. This is a bit of a shameless plug, but I figure it's relevant to this topic. I just put up blog post introducing my new project, Grow (http://about.grow.io/blog/all-i-want-to-do-is-build-a-web-site/ http://about.grow.io/blog/all-i-want-to-do-is-build-a-web-si...). Grow overlaps with Ghost in some ways, but attempts to be a full-fledged, modern file-based CMS and is not designed just for blogs alone. I've been following all the replies in this thread to get a better idea on what people are looking for, and I think I've nailed it. Basically, the way I've architected Grow is the whole system is file-based: content is stored in Markdown or YAML files, templates are stored as Jinja2 templates, separate from the content. When you start up a Grow server for development, essentially what amounts to a super lightweight in-memory index is created from the file structure, and that allows your site to be generated (including pages that leverage complicated queries or access content through taxonomies). This design keeps everything incredibly portable (zero-configuration development AND zero-configuration deployment) – which is one of the values that I hold to be very important. Anyway, the project is still super young (and my blog post is light on technical details, but I'm working on it), so I'm interested in getting any early feedback.
- moneyrich4 13y agodisagree the db is sqlite by default, and its stored in content/ with your themes and other stuff (?) so you just backup your content directory ;d
- pingswept 13y agoI was planning on doing this as well. If you do it, where might it appear on Github?