

Cryogen: a friendly static site generator - yogthos
http://cryogenweb.org/

======
mrec
Do you not see the contradiction in advertising something as "friendly" and
"made easy", then having the first "Simple" bullet be "Shipped as a Leiningen
template"? 

You're pitching at (non-technical?)  users who want a static site generator,
and then assuming they're automatically Clojure developers. 

~~~
yogthos
It doesn't require any Clojure knowledge to use.  You simply have to install a
build tool to run it.  The site generation is configured entirely through
config variables and templates are plain HTML. 

~~~
CJefferson
If it doesn't require it, then don't use words you don't define in the first
sentence of your webpage. 

I'm currently on the lookout for a static website generator (new year, new
blog).  This webpage is very off putting. 

The quick start guide -- install lenonwhatever, fine.  The start new project? 
In what?  When do I install your thing?  Is your thing lenonwhatever? 

~~~
yogthos
The specific commands that you have to run are listed right on the front page. 

When you have lein installed, which involves grabbing the script and running
it, then you simply run "lein new cryogen my-blog" and that's it.  You now have
your static site generator ready to go in the folder called "my-blog". 

You got to the folder and run "lein ring server" to serve the site locally and
watch for any changes you make.  It's literally a 3 step process.  Not sure what
part of it you found off putting specifically. 

~~~
CJefferson
You forget I don't know clojure.  How do I install cryogen?  Neither the 3 step
guide, or the terminal, are complete by themselves. 

I suspect you want people to do step 1 of your 3 step guide, then switch to
the terminal, then switch back for step 3 of the 3 step guide?  I would
recommend making that clearer :) I like a guide I go through step by step,
here it seems I have to follow nonlinearly. 

~~~
detaro
Apparently,

> lein new cryogen my-blog

is "create a new project" and Leiningen will automatically look up what
cryogen is on clojars.org and fetch the appropriate template, so you don't
have to explicitly install cryogen.  You really just have to install Leiningen
and run the commands given in the box.  But I also needed to look at the docs
of the different parts to understand that, so definitively potential for
improvement there. 

Also, it would be nice to find out the language immediately, outside of
Clojure-space most people probably don't know what Leiningen is or that it has
something to do with Clojure. 

------
lotyrin
Is the file type-based directory structure required?  I find it redundant (my
files already specify their type with extensions) and counter-intuitive (I'd
expect to find two posts in the same "posts" directory, regardless of their
type). 

------
nilliams
Is there any advantage (to the end-user) of using a 'Clojure map' for the
front matter of a post, rather than using YAML like site generators from other
languages do, e.g. Jekyll, Wintersmith (Node), Mynt (Python). 

I kinda like that my markdown files are cross-compatible with any of these
various site generators and would say that YAML front matter is something of a
de-facto standard? 

If avoiding YAML is an opinionated stance aimed at fellow Lispers, then I
think that's fair, but I think the messaging should perhaps be more along the
lines of 'this is a site generator for Clojure people', not 'this is the
_easy_ site generator'. 

I don't think that's a bad thing, as a lot of people prefer to use a site
generator written in their language of choice. 

Of course this could be made a moot point by offering a YAML plugin and a
single line in the docs saying '... or you can use YAML syntax if you'd
prefer'. 

Also w.r.t using Clojure maps, the metadata section of the writing posts [1]
docs page could use a full example, otherwise I need to google Clojure map
syntax. 

[1] [http://cryogenweb.org/docs/writing-
posts.html](http://cryogenweb.org/docs/writing-posts.html)

~~~
lacarmen
Avoiding YAML is opinionated :) I'm using the Clojure reader to parse Markdown
files.  It reads the next form from an input stream and returns the object
represented by that form so by using a Clojure map to represent the metadata,
there is no need to do additional parsing.  The rest of the Markdown file is
read line by line. 

And I'll make a note to add a full example of the metadata in the docs. 

------
Gonzih
How hard will it be to use custom layouts and custom pages using this
generator? 

~~~
yogthos
The layouts are just plain HTML with CSS or SASS.