Re: [Haskell-cafe] ANN: yst 0.2.1

2009-08-03 Thread Robert Wills
I had a play with this yesterday and thought it looked very useful (like 
all of John MacFarlane's tools).  I'm probably going to use it for a 
site I'm working on.


-Rob
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: yst 0.2.1

2009-08-03 Thread Jinjing Wang
It's possible to serve the generated site with maid, in case apache is
not available:

cabal update
cabal install maid

yst create testsite
cd testsite
yst

cd site
maid

now goto http://localhost:3000/

On Mon, Aug 3, 2009 at 9:05 AM, John MacFarlanej...@berkeley.edu wrote:
 I'm pleased to announce the release of yst, now available on HackageDB.
 yst generates static websites from YAML or CSV data files and
 StringTemplates. This approach combines the speed, security, and ease of
 deployment of a static website with the flexibility and maintainability
 of a dynamic site that separates presentation and data.

 The easiest way to get a feel for yst is to try it:

 cabal update
 cabal install yst
 yst create testsite
 cd testsite
 yst

 yst attempts to fill a niche between two kinds of site creation tools.
 On the one hand you have simple static site generators like webgen,
 webby, nanoc, and my old custom system using make and pandoc. On the
 other hand, you have dynamic web frameworks like rails and django.
 For my own smallish websites, I found that the dynamic frameworks were
 overkill. Nobody but me was going to edit the pages, and I didn't
 want the trouble of writing and deploying a dynamic site, setting up
 a web server, and administering a database. A static site would be
 faster, easier to deploy, and more secure. But the dynamic frameworks
 offered one thing that the static site generators did not: an easy way
 to separate data from presentation. This was becoming increasingly
 important to me as I found myself constantly updating the same
 information (say, publication data for a paper) in multiple places (say,
 a LaTeX CV and a differently formatted web listing of papers).

 What I wanted was a site generation tool that used YAML text files
 as a database and allowed different kinds of documents to be produced
 from the same data.  I couldn't find anything that did just what I
 wanted, so I wrote yst. By way of illustration, here are the build
 instructions for HTML and LaTeX versions of a CV, plus a web page with a
 list of papers:

 - url: cv.html
  title: CV
  template: cv.st
  data_common:  cvdata
    contact: from contact.yaml
    jobsbyemployer: from jobs.yaml order by start group by employer
    degrees: from degrees.yaml order by year desc
    awards: from awards.yaml order by year desc group by title
    papers: from papers.yaml order by year desc where (not (type = 'review'))
    reviews: from papers.yaml order by year desc where type = 'review'
    talks: from talks.yaml where date  '2009-09-01' order by date desc group 
 by title
    dissertations: from dissertations.yaml order by role then year group by 
 role
    theses: from theses.yaml order by year then student
    courses: from courses.yaml order by number group by title
  data:
    :  *cvdata
    html: yes

 - url: cv.tex
  title: CV
  inmenu: no
  template: cv.st
  layout: layout.tex.st
  data:
    :  *cvdata
    html: yes

 - url: papers.html
  title: Papers
  template: papers.st
  data:
    papersbyyear:  from papers.yaml order by year desc then title group by year

 yst's query language is limited, and there are lots of things you can
 do with a full-fledged database that you can't do with yst. But yst
 is ideal, I think, for small to medium data-driven sites that are
 maintained by a single person who likes working with plain text. It
 scratched my itch, anyway, and I release it in case anyone else has the
 same itch.

 Code, documentation, and bug reports:  http://github.com/jgm/yst/tree/master

 John

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe




-- 
jinjing
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: yst 0.2.1

2009-08-03 Thread Nicolas Pouillard
Excerpts from John MacFarlane's message of Mon Aug 03 03:05:00 +0200 2009:
 I'm pleased to announce the release of yst, now available on HackageDB.

Great! I've used it for a web site of mine today with success.

-- 
Nicolas Pouillard
http://nicolaspouillard.fr
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANN: yst 0.2.1

2009-08-02 Thread John MacFarlane
I'm pleased to announce the release of yst, now available on HackageDB.
yst generates static websites from YAML or CSV data files and
StringTemplates. This approach combines the speed, security, and ease of
deployment of a static website with the flexibility and maintainability
of a dynamic site that separates presentation and data.

The easiest way to get a feel for yst is to try it:

cabal update
cabal install yst
yst create testsite
cd testsite
yst

yst attempts to fill a niche between two kinds of site creation tools.
On the one hand you have simple static site generators like webgen,
webby, nanoc, and my old custom system using make and pandoc. On the
other hand, you have dynamic web frameworks like rails and django.
For my own smallish websites, I found that the dynamic frameworks were
overkill. Nobody but me was going to edit the pages, and I didn't
want the trouble of writing and deploying a dynamic site, setting up
a web server, and administering a database. A static site would be
faster, easier to deploy, and more secure. But the dynamic frameworks
offered one thing that the static site generators did not: an easy way
to separate data from presentation. This was becoming increasingly
important to me as I found myself constantly updating the same
information (say, publication data for a paper) in multiple places (say,
a LaTeX CV and a differently formatted web listing of papers).

What I wanted was a site generation tool that used YAML text files
as a database and allowed different kinds of documents to be produced
from the same data.  I couldn't find anything that did just what I
wanted, so I wrote yst. By way of illustration, here are the build
instructions for HTML and LaTeX versions of a CV, plus a web page with a
list of papers:

- url: cv.html
  title: CV
  template: cv.st
  data_common:  cvdata
contact: from contact.yaml
jobsbyemployer: from jobs.yaml order by start group by employer
degrees: from degrees.yaml order by year desc
awards: from awards.yaml order by year desc group by title
papers: from papers.yaml order by year desc where (not (type = 'review'))
reviews: from papers.yaml order by year desc where type = 'review'
talks: from talks.yaml where date  '2009-09-01' order by date desc group 
by title
dissertations: from dissertations.yaml order by role then year group by role
theses: from theses.yaml order by year then student
courses: from courses.yaml order by number group by title
  data:
:  *cvdata
html: yes

- url: cv.tex
  title: CV
  inmenu: no
  template: cv.st
  layout: layout.tex.st
  data:
:  *cvdata
html: yes

- url: papers.html
  title: Papers
  template: papers.st
  data:
papersbyyear:  from papers.yaml order by year desc then title group by year

yst's query language is limited, and there are lots of things you can
do with a full-fledged database that you can't do with yst. But yst
is ideal, I think, for small to medium data-driven sites that are
maintained by a single person who likes working with plain text. It
scratched my itch, anyway, and I release it in case anyone else has the
same itch.

Code, documentation, and bug reports:  http://github.com/jgm/yst/tree/master

John

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe