This is a cool project.  I primarily use static site generators to build 
the front-end for sites that I will use enlive to template inside my app.

I currently use: http://harpjs.com for this purpose because it allows easy 
integration of LESS and Jade which are auto recompiled & watched by the dev 
server.  

This allows minimal html/css/js to be handwritten then it gets compiled to 
the static site, from there I use only enlive for templating.  All in all 
it is a very fast way to create the front-end templates for web apps.

How does stasis compare to this?  Could I replicate it?  Or is this just 
too far from the intended workflow of Stasis?


On Monday, March 3, 2014 4:51:02 PM UTC-5, Magnar Sveen wrote:
>
> 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.

Reply via email to