Hacker News new | comments | show | ask | jobs | submit login
Introducing Stasis: A new way to build static sites with Ruby (stasis.me)
133 points by winton 2070 days ago | hide | past | web | 32 comments | favorite



This looks like a very cool project, but how many of these tools do we need and how can we differentiate between them? Just in the Ruby world we now have: Webgen, Webby, Nanoc, Staticmatic, Jekyll, Ace, SassRoku, Hobix, Middleman +++ If we include Python, Node and Perl, there should be plenty more to choose from.


Do any of those have the trivial controller/directory model that Stasis has? It seems like a major win.


Blogofile (python) has something like that.

http://www.blogofile.com/


There are a few more Ruby ones around. I have a list at [0] but even that one is outdated, as it does not include Ace or Stasis yet… and I’m not familiar enough with Python/Perl/JavaScript/etc to know the state of site generators there.

Writing site generators is easy and homegrown site generators will fit the author’s need best, so there you have the reason why there are so many. Mind you that quite a few are no longer actively maintained. For example, StaticMatic and Webby have recently both been discontinued (see [1] and [2]) and their authors recommend MiddleMan and nanoc, respectively.

[0]: http://nanoc.stoneship.org/docs/1-introduction/#similar-proj...

[1]: http://groups.google.com/group/staticmatic/browse_thread/thr...

[2]: http://groups.google.com/group/webby-forum/browse_thread/thr...


One for each person who wants to learn how to build them. I recommend building this kind of thing to other people pretty often.


another nice one for ruby is frank[0]

[0]: https://github.com/blahed/frank


I've used nanoc more than a few times. On seeing this, after first I thought "Why would the community need this??"

However...

I dig the "controller"-based preprocessing and, especially, that the served pages are then processed through the typical host of rendering engines.

This should feel very familiar to anyone who has done any Rails or Sinatra.

High marks for obviousness! I may have to try this out!


like it, but can't use it emotionally, probably other german speakers also

name reminds to much at the cruelty the stasi has done. http://en.wikipedia.org/wiki/Stasi


Cool project. I just starting transitioning my blog from the bloated Wordpress to a static site using nanoc. Any (current or planned) benefits of using Stasis over nanoc or jekyll?


I created Stasis because jekyll wasn't versatile enough and nanoc seems a bit overly complex for what it is doing. I am trying to strike a good balance with Stasis.


Could you go into a little more detail about how Jekyll isn't/wasn't versatile enough? Maybe a use case or two where it failed (or was too complicated) for you?

I'm actually about to learn Jekyll to make a blog today, so I'm very curious. My primary reasons for going Jekyll are that (a) it seems to have the most mindshare (in the Ruby world and in general) and (b) I can just deploy using git with Github Pages.

Relatedly, if anyone is a Jekyll user (which seems pretty common around here), are there any plugins/modifications I should be using?


Jekyll is made for blogs. Specifically, blogs using HTML, Markdown, or Textile. Anything past that starts to become a hack.

There are inherent constraints to the framework because it must be "safe" enough for GitHub's environment. For example, an issue close to my heart:

https://github.com/mojombo/jekyll/issues/225


I'm a very big proponent of the Jekyll approach, and made a few plugins for my own use (https://github.com/josegonzalez/josediazgonzalez.com/tree/ma...). I also started the list of plugins on the Jekyll Wiki (https://github.com/mojombo/jekyll/wiki/Plugins), so I recommend you check both of those out.

Stasis seems nice, but I'm not sure the changes I'd have to implement to move to it would be worth the trouble.


Excellent. Thanks!

Any in particular that you think are sensible defaults? I looked at that plugin page earlier and it seemed like a lot to read. What are the core 3--5 plugins that anyone writing a blog should be using?


Yeah that's kind of what I'm finding with nanoc. Seems to be a large time investment at the start to understand how the whole compilation process works, and then to get the basic skeleton created for your site (or maybe it's just my stupidity?).

I'll see if I can give Stasis a try this weekend. Thanks for creating it!


Hi, author of nanoc here. This morning I’ve been playing around with Stasis and it does look like a nice tool for building and maintaining simple sites. I like the controller-based approach!

Now, here’s a quick (and undoubtedly biased) comparison between Stasis and nanoc.

Stasis and nanoc serve a different audience. Stasis is simple, nanoc is powerful. If I want to quickly build a simple site, I might even use Stasis instead of nanoc… :)

nanoc, quite unlike Stasis, focuses on being powerful and flexible. Due to this, it is not as simple as other site generators. You can build any site you want with nanoc!

For Stasis to be more powerful, it would need to support metadata, custom filters and multiple representations… perhaps more… but then it would leave its original scope and people would say about Stasis that it is too complex. :)


Looks really cool. I've been frustrated with Jekyll too.

Question: how would you create an index/archive page with links to other posts/pages (if you did want to use it as a blog)?


Does Stasis (or any of the other tools in this space) allow you to run a service on your web server that you could post new markdown files to, kicking off a recompile of your static site? I'd like to be able to post a new entry without having to hit the command line, re-render everything and rsnyc changes back up.


It looks like this could be done easily enough with the stasis server mode (http://stasis.me/#more).


But only if it uses Redis? You probably need a backup solution for folks w/o things like Redis.


Using git with a post-commit hook would work well for this.


I think too few companies are throwing out static websites because they think they need something "dynamic" such as a flashy contact form. If they just used static websites and just put an email address and such by which they could be contacted they could save quite a bit on development time and cost of hosting.


I've never used a static site builder in any language, but I'd be tempted to use this. The only problem I see is that, off the top of my head, I can't think of a use for all these extra features. What sort of use cases do people use these generators for (outside of the blogs some have mentioned)?


I've built a minimal "online presence" website for a friend's business with nanoc. It does not need any dynamism, since basically it's just: home, contacts page, directions page and products page (unlikely to change more than once a year).

It has the side effect against a joomla install or whatever that if he wants to change something I have to do it for him, but since this event is pretty rare and non time sensitive it's not a big deal.


If this works like I think it might, it could be a great tool for building mobile web apps with coffee script


Everyone seems to have one of these static site generators these days. Probably a lot of people, myself for instance, who have written their own over the years as well.

This one looks like it has some interesting ideas related to pre-processing using the 'controller' idea.


If you're about to overlook this because "it's just another damn static site generator", think again. I almost did, but I was very impressed with Statis! It sure is worth a look.


Gorgeous! I will definitely give it a try when I need to build a static site for the library I'm working on. I like the scrolling effect with the links on the documentation site.


Looks very nice and aesthetic. Simple to get started, way to go!


Sweet. This seems to be exactly what I was about to make a much worse version of myself. Good work.


It appears to be slashdotted.


Hosted on GitHub pages, so blame them :)




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: