From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.user Subject: ANN: Guile-Present 0.1.0 released Date: Wed, 11 Jul 2007 12:50:45 +0200 Message-ID: <1184151045.19170.15.camel@localhost.localdomain> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1184158500 14970 80.91.229.12 (11 Jul 2007 12:55:00 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 11 Jul 2007 12:55:00 +0000 (UTC) To: guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Wed Jul 11 14:54:57 2007 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 1I8bib-0006X3-Kr for guile-user@m.gmane.org; Wed, 11 Jul 2007 14:54:57 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I8bib-0008QO-6N for guile-user@m.gmane.org; Wed, 11 Jul 2007 08:54:57 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1I8bhx-0007zH-73 for guile-user@gnu.org; Wed, 11 Jul 2007 08:54:17 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1I8bhu-0007yF-8w for guile-user@gnu.org; Wed, 11 Jul 2007 08:54:16 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I8bhu-0007y6-3G for guile-user@gnu.org; Wed, 11 Jul 2007 08:54:14 -0400 Original-Received: from ambient.dashsystems.com ([216.27.85.7] helo=kettle.ambient-hosting.net) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1I8bht-0004ca-MZ for guile-user@gnu.org; Wed, 11 Jul 2007 08:54:13 -0400 Original-Received: from localhost.localdomain (ambient-hosting.net [10.1.6.1]) by kettle.ambient-hosting.net (Postfix) with ESMTP id 625298808B for ; Wed, 11 Jul 2007 08:54:02 -0400 (EDT) Original-Received: by localhost.localdomain (Postfix, from userid 1000) id 11ED91180FF; Wed, 11 Jul 2007 14:53:37 +0200 (CEST) X-Mailer: Evolution 2.11.4 X-detected-kernel: Linux 2.4-2.6 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:6045 Archived-At: Hey hackers, I am pleased to announce the first release of Guile-Present, version 0.1.0. It may be obtained at: http://wingolog.org/pub/guile-present/guile-present-0.1.0.tar.gz What is Guile-Present ---------------------- Guile-Present is a library to make presentations with Guile Scheme. See http://wingolog.org/software/guile-present/ for more information. Since this is the first release, I'll explain a bit more here. I've been trying to avoid powerpoint-style applications for a while, especially OpenOffice. It's good for some people but it hurts my brain. After poking about for a while, I decided to make presentations with SVG graphics, with each layer being one slide. I wrote a tool (in Guile) to split the SVG file into layers, and then make a PDF out of that. However, the process was not satisfying: it was too hard to enter in the text, and I always had to think about alignment. I wanted to be able to make an SVG presentation programmatically. It turns out that the standard XML manipulation combinator, pre-post-order (available from guile-lib's packaging of ssax), is not well-suited to performing layout operations. This is because pre-post-order effectively maps across XML child elements instead of passing a layout seed. So I started looking how to recast pre-post-order as an extended tree fold (foldts from Oleg's SSAX paper). I wrote up the results in a paper that I submitted to SFP 2007, http://wingolog.org/pub/fold-and-xml-transformation.pdf. We'll see if it gets accepted, but in any case, Guile-Present is an application of the fold-layout operator presented there. (Guile-Present's fold-layout is slightly different, as it allows for external stylesheets.) In addition to the ability to render declarative SXML documents into SVG, Guile-Present can also parse files written in Emacs' Org Mode. So, you can write a presentation like this: --> * Slide title Some text * Bullet point * subpoint Foo ** Another slide ** Another.. <-- You get the idea. Guile-Present provides a command-line script to transform org-mode files into PDF presentations. The resulting presentations are clean but not pretty; I'd like to add more in that regard in the future (read: the next time I have to give a presentation). As a bonus, Guile-Present is completely documented! You have PDF, info, online help, etc. You can read it all from the web site. Well, that's that. Comments welcome. Happy hacking, Andy. -- http://wingolog.org/ _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user