Skip to content
This repository
Browse code

Added release announcement.

  • Loading branch information...
commit 00fffee3decc65277892f356732b4e66459fa406 1 parent 16f9241
John MacFarlane authored

Showing 1 changed file with 80 additions and 0 deletions. Show diff stats Hide diff stats

  1. +80 0 RELANN-0.2.1.txt
80 RELANN-0.2.1.txt
... ... @@ -0,0 +1,80 @@
  1 +I'm pleased to announce the release of yst, now available on HackageDB.
  2 +yst generates static websites from YAML data files and StringTemplates.
  3 +This approach combines the speed, security, and ease of deployment of
  4 +a static website with the flexibility and maintainability of a dynamic
  5 +site that separates presentation and data.
  6 +
  7 +The easiest way to get a feel for yst is to try it:
  8 +
  9 +cabal update
  10 +cabal install yst
  11 +yst create testsite
  12 +cd testsite
  13 +yst
  14 +
  15 +yst attempts to fill a niche between two kinds of site creation tools.
  16 +On the one hand you have simple static site generators like webgen,
  17 +webby, nanoc, and my old custom system using make and pandoc. On the
  18 +other hand, you have dynamic web frameworks like rails and django.
  19 +For my own smallish websites, I found that the dynamic frameworks were
  20 +overkill. Nobody but me was going to edit the pages, and I didn't
  21 +want the trouble of writing and deploying a dynamic site, setting up
  22 +a web server, and administering a database. A static site would be
  23 +faster, easier to deploy, and more secure. But the dynamic frameworks
  24 +offered one thing that the static site generators did not: an easy way
  25 +to separate data from presentation. This was becoming increasingly
  26 +important to me as I found myself constantly updating the same
  27 +information (say, publication data for a paper) in multiple places (say,
  28 +a LaTeX CV and a differently formatted web listing of papers).
  29 +
  30 +What I wanted was a site generation tool that used YAML text files
  31 +as a database and allowed different kinds of documents to be produced
  32 +from the same data. I couldn't find anything that did just what I
  33 +wanted, so I wrote yst. By way of illustration, here are the build
  34 +instructions for HTML and LaTeX versions of a CV, plus a web page with a
  35 +list of papers:
  36 +
  37 +- url: cv.html
  38 + title: CV
  39 + template: cv.st
  40 + data_common: &cvdata
  41 + contact: from contact.yaml
  42 + jobsbyemployer: from jobs.yaml order by start group by employer
  43 + degrees: from degrees.yaml order by year desc
  44 + awards: from awards.yaml order by year desc group by title
  45 + papers: from papers.yaml order by year desc where (not (type = 'review'))
  46 + reviews: from papers.yaml order by year desc where type = 'review'
  47 + talks: from talks.yaml where date < '2009-09-01' order by date desc group by title
  48 + dissertations: from dissertations.yaml order by role then year group by role
  49 + theses: from theses.yaml order by year then student
  50 + courses: from courses.yaml order by number group by title
  51 + data:
  52 + <<: *cvdata
  53 + html: yes
  54 +
  55 +- url: cv.tex
  56 + title: CV
  57 + inmenu: no
  58 + template: cv.st
  59 + layout: layout.tex.st
  60 + data:
  61 + <<: *cvdata
  62 + html: yes
  63 +
  64 +- url: papers.html
  65 + title: Papers
  66 + template: papers.st
  67 + data:
  68 + papersbyyear: from papers.yaml order by year desc then title group by year
  69 +
  70 +yst's query language is limited, and there are lots of things you can
  71 +do with a full-fledged database that you can't do with yst. But yst
  72 +is ideal, I think, for small to medium data-driven sites that are
  73 +maintained by a single person who likes working with plain text. It
  74 +scratched my itch, anyway, and I release it in case anyone else has the
  75 +same itch.
  76 +
  77 +Code, documentation, and bug reports: http://github.com/jgm/yst/tree/master
  78 +
  79 +John
  80 +

0 comments on commit 00fffee

Please sign in to comment.
Something went wrong with that request. Please try again.