(use ursetto-html) (define (p . body) `(p ,@body)) (render (page "Ursetto Consulting, Inc. - Resume - SXML readme" 'resume (content (p "My resume is stored in " (link "/src/resume/resume.scm" "SXML format") " and transformed to HTML using the " (egg-link "sxml-tools") " and " (egg-link "sxml-transforms") " extensions to Chicken Scheme, which I ported from the " (link "http://ssax.sf.net" "SSAX project") ".") (p "To produce PDF, I just print to PDF with Safari, using the " (link "/css/resume-print.css" "resume print-media stylesheet") ".") (p "The text version is produced by dumping the HTML page to text with " (link "http://w3m.sourceforge.net/" '(tt "w3m -dump")) ", followed by a bit of manual editing.") (p "A long time ago, my resume was stored as XML and transformed to HTML using XSLT. However, this was tedious, inexpressive and inflexible. S-expressions provide a more natural representation of XML, and Scheme provides a more flexible and powerful approach to transformation, because" (& 'mdash) "as with all true Lisps" (& 'mdash) '(em "code is data.") " " (link "http://mumble.net/~campbell/emacs/paredit.el" "Paredit") " simplifies the editing process.") (p "The " (link "resume.xml.txt" "XML") " and " (link "resume.xsl.txt" "XSL") " source is still available if you'd like to see how it was done."))))