Oh, look at that. Thanks! :)
On Thu, Jan 23, 2014 at 11:27 AM, Dmitry Groshev <lambdadmi...@gmail.com>wrote: > And here is a link to the project, just in case you've missed it like I > did: https://github.com/magnars/stasis :) > > > On Thursday, January 23, 2014 2:16:48 PM UTC+4, 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 a topic in the > Google Groups "Clojure" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojure/nHaYzpcQpmc/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > -- -- 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.