From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Emsley Newsgroups: gmane.lisp.guile.user Subject: Re: scheme -> (X)HTML Date: Mon, 31 Mar 2008 17:41:15 +0100 Message-ID: <47F1142B.302@bioch.ox.ac.uk> References: <20080325193702.6B6AE94049@webmail220.herald.ox.ac.uk> <2bc5f8210803251253p6f07911brcceaa1cc2bf949c1@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1206981827 5757 80.91.229.12 (31 Mar 2008 16:43:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 31 Mar 2008 16:43:47 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Mar 31 18:44:17 2008 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JgN79-0003xf-0T for guile-user@m.gmane.org; Mon, 31 Mar 2008 18:44:07 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JgN6X-0005dW-58 for guile-user@m.gmane.org; Mon, 31 Mar 2008 12:43:29 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JgN4T-0004dZ-0j for guile-user@gnu.org; Mon, 31 Mar 2008 12:41:21 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JgN4R-0004ca-LV for guile-user@gnu.org; Mon, 31 Mar 2008 12:41:20 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JgN4Q-0004cS-N3 for guile-user@gnu.org; Mon, 31 Mar 2008 12:41:18 -0400 Original-Received: from relay0.mail.ox.ac.uk ([129.67.1.161]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JgN4Q-0007Tt-AA for guile-user@gnu.org; Mon, 31 Mar 2008 12:41:18 -0400 Original-Received: from smtp0.mail.ox.ac.uk ([129.67.1.205]) by relay0.mail.ox.ac.uk with esmtp (Exim 4.68) (envelope-from ) id 1JgN4O-0005aI-1F for guile-user@gnu.org; Mon, 31 Mar 2008 17:41:16 +0100 Original-Received: from impala.biop.ox.ac.uk ([163.1.16.107]) by smtp0.mail.ox.ac.uk with esmtp (Exim 4.68) (envelope-from ) id 1JgN4N-00043Q-0P for guile-user@gnu.org; Mon, 31 Mar 2008 17:41:16 +0100 User-Agent: Thunderbird 2.0.0.12 (Macintosh/20080213) In-Reply-To: <2bc5f8210803251253p6f07911brcceaa1cc2bf949c1@mail.gmail.com> X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6505 Archived-At: Julian Graham wrote: > On Tue, Mar 25, 2008 at 3:37 PM, Paul Emsley wrote: > > >> Dear Guilers, >> >> I have in mind to write a little script that makes a web page about the state of >> various files. >> >> I'd like to use some schemey way of doing this. s-expression -> HTML perhaps. >> >> What is the thinking guile-user's way of approaching this? >> > > Hi Paul, > > There are several good tools out there for doing this: Oleg Kiselyov > has written a Scheme-based port of SAX called SSAX [1] that can read > and emit S-expressions in a format he calls SXML. It's available for > Guile as part of Andy Wingo's guile-lib [2]. For permissive HTML > parsing, Neil Van Dyke has written HtmlPrag [3]. And if you're > interested in a more DOM-based approach, I've got a module called SDOM > [4]. > > Hope that helps! > > Regards, > Julian > > > [1]: http://okmij.org/ftp/Scheme/SXML.html > [2]: http://home.gna.org/guile-lib/ > [3]: http://www.neilvandyke.org/htmlprag/ > [4]: http://www.nongnu.org/sdom/ > > Hi Julian, Thank you and others for replying to my query. I looked at [1] and [2] in your list - I didn't want to parse XML - not yet anyway. Trying [1] I found that Oleg made me jump through hoops with his idiosyncratically organised web pages. That put me off a bit. When I tried his code, it was not clear to me where the output was going. So I tried [2]. I ended up using [2] because I like reading Andy Wingo's blog and it just worked out of the box anyway. It was such fun! I've not quasiquoted so deeply before. I'm still tinkering with the script - I use it to see how my hetrogeneous overnight builds got on. code here: http://coot.googlecode.com/svn/trunk/build-web-page-builder.scm results here: http://www.ysbl.york.ac.uk/~emsley/coot/build-info.html (Incidentally, the FC3 build seems to fail because guile-gtk-2.1 fails to build (it fails in make, not configure. Is guile-gtk-2.1 supposed to work on gtk+-2.4? ... not completely the right place to ask, I guess). I have a question about the output. How do I put line breaks into the generated text? All on one line is fine for my browser - but makes it hard to eyeball the HTML. After I wrote it (and saw how concise the sxml translator was), I though "so what's all the fuss about PHP?" One of the major things, perhaps, is the generation of images in-line. So I thought "couldn't guile+sxml do something similar making SVGs on the fly?" Is that being quietly coded up by someone? Making a few graphs on the fly shouldn't be so hard, should it? In fact, I was even thinking of doing it myself :) Regards, Paul.