Just a heads up that Stasis 1.0.0 has been released. The API has been stable for two months now. I've built three sites with it, and I know of two other sites built with Stasis too:
- The docs for SinonJS: http://sinonjs.org/ - J David Smith's blog at http://atlanis.net/blog/ He even wrote a blog post about it here: http://atlanis.net/blog/posts/new-site-stasis.html So if you were on the fence because of the 0.x release, worry no more. :) Building a static site is an excellent way to have fun with Clojure, and get a lightning fast web site that can handle any amount of traffic. - Magnar On Thursday, January 23, 2014 11:16:48 AM UTC+1, Magnar Sveen wrote: > > Stasis > > A Clojure library of tools for developing static web sites. > > <https://gist.github.com/magnars/32dbca91bdb0987ea4ba#another-static-site-framework-why>Another > > static site framework? Why? > > Well, that's exactly it. I didn't want to use a framework. I don't like > the restrained feeling I get when using them. I prefer coding things over > messing around with configuration files. > > I want to > > - code my own pages > - set up my own configuration > - choose my own templating library > - create my own damn stylesheets > > *Statis offers a few functions that are pretty useful when creating static > web sites.* > > No more. There are no batteries included. > > If you want a framework that makes it really quick and easy to create a > blog, you should take a look at these: > > - misaki <https://github.com/liquidz/misaki> is a Jekyll inspired > static site generator in Clojure. > - Madness <http://algernon.github.io/madness/> is a static site > generator, based on Enlive and Bootstrap. > - Static <http://nakkaya.com/static.html> is a simple static site > generator written in Clojure. > - Ecstatic <http://samrat.me/ecstatic/> creates static web pages and > blog posts from Hiccup templates and Markdown. > - incise <https://github.com/RyanMcG/incise> is an extensible static > site generator written in Clojure. > > They generally come with a folder where you put your blog posts in some > templating language, and a set of configuration options about how to set up > your blog. They often generate code for you to tweak. > <https://gist.github.com/magnars/32dbca91bdb0987ea4ba#usage>Usage > > The core of Stasis is two functions: serve-pages and export-pages. Both > take a map from path to contents: > > (def pages {"/index.html" "<h1>Welcome!</h1>"}) > > The basic use case is to serve these live on a local server while > developing - and then exporting them as static pages to deploy on some > server. > > <https://gist.github.com/magnars/32dbca91bdb0987ea4ba#serving-live-pages-locally>Serving > > live pages locally > > Stasis can create a Ring handler to serve your pages. > > (ns example > (:require [stasis.core :as stasis])) > (def app (stasis/serve-pages pages)) > > Like with any Ring app, you point to your app in project.clj: > > :ring {:handler example/app} > > and start it with lein ring server-headless. > <https://gist.github.com/magnars/32dbca91bdb0987ea4ba#exporting-the-pages>Exporting > > the pages > > To export, just give Stasis some pages and a target directory: > > (defn export [] > (stasis/export-pages pages target-dir)) > > When you've got this function, you can create an alias for leiningen: > > :aliases {"build-site" ["run" "-m" "example/export"]} > > and run lein build-site on the command line. No need for a lein plugin. > <https://gist.github.com/magnars/32dbca91bdb0987ea4ba#example-apps>Example > apps? > > The static page that prompted me to write Stasis is currently closed > source, but I'm in the process of turning my 4 other static sites over. The > simplest, and first to be done, is: > > - > > whattheemacsd.com (source) <https://github.com/magnars/what-the-emacsd> > > Uses Enlive <https://github.com/cgrand/enlive> for templating, and > Optimus <https://github.com/magnars/optimus> for frontend optimization. > > I'm also working on the Emacs Rocks! <http://emacsrocks.com/> webpage, > where I'll use hiccup instead of Enlive. > <https://gist.github.com/magnars/32dbca91bdb0987ea4ba#is-it-stable>Is it > stable? > > It's still on a 0.x release, but I feel the API has jelled enough now to > open source it. I don't expect any major changes at this point. I'll likely > push it to 1.0 at the end of the month. > > <https://gist.github.com/magnars/32dbca91bdb0987ea4ba#again-why-not-use-one-of-the-existing-frameworks>Again, > > why not use one of the existing frameworks? > > I think the existing frameworks are great if they fit your style. Stasis > imposes no styles. There are very few decisions made for you - no markdown > vs asciidoc, no enlive vs hiccup. No configuration options. You have to > make them. > > So, yeah ... I think Stasis would be a great starting point if you want to > create the 6th static site framework to go in that list at the top. :-) > > > - Magnar > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.