Discussion:
Factoring out subtrees
Daniel Gackle
2006-12-21 06:01:41 UTC
Permalink
Hi, I have a really elementary question. I'm generating html that has stuff
duplicated in it, like the link tag in this example:

(defun page1 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (:link :rel "stylesheet" :type "text/css" :href "style.css"))
(:body "hi"))))

(defun page2 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (:link :rel "stylesheet" :type "text/css" :href "style.css"))
(:body "there"))))

How do I eliminate it? Is there a way to do the following?

(defun page1 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (css-me-up "style.css"))
(:body "hi"))))

More generally, I'd like to build html trees and transform them in various
ways before passing them to the generator. It feels like there must be an
obvious answer here, but I'm missing it... so I'm asking y'all instead.

Thanks,
Dan
Edi Weitz
2006-12-21 07:51:44 UTC
Permalink
Post by Daniel Gackle
Hi, I have a really elementary question. I'm generating html that
(defun page1 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (:link :rel "stylesheet" :type "text/css" :href "style.css"))
(:body "hi"))))
(defun page2 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (:link :rel "stylesheet" :type "text/css" :href "style.css"))
(:body "there"))))
How do I eliminate it? Is there a way to do the following?
(defun page1 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (css-me-up "style.css"))
(:body "hi"))))
More generally, I'd like to build html trees and transform them in
various ways before passing them to the generator. It feels like
there must be an obvious answer here, but I'm missing it... so I'm
asking y'all instead.
Maybe this one?

http://weitz.de/cl-who/#convert-tag-to-string-list

Cheers,
Edi.
Daniel Gackle
2006-12-21 22:28:09 UTC
Permalink
< Maybe this one? >

Doh! Yes. I must have read that at some point.

Thanks Edi,
Dan


-----Original Message-----
From: Edi Weitz [mailto:***@agharta.de]
Sent: Thursday, December 21, 2006 12:52 AM
To: Daniel Gackle
Cc: cl-who-***@common-lisp.net
Subject: Re: [cl-who-devel] Factoring out subtrees
Post by Daniel Gackle
Hi, I have a really elementary question. I'm generating html that
(defun page1 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (:link :rel "stylesheet" :type "text/css" :href
"style.css"))
Post by Daniel Gackle
(:body "hi"))))
(defun page2 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (:link :rel "stylesheet" :type "text/css" :href
"style.css"))
Post by Daniel Gackle
(:body "there"))))
How do I eliminate it? Is there a way to do the following?
(defun page1 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (css-me-up "style.css"))
(:body "hi"))))
More generally, I'd like to build html trees and transform them in
various ways before passing them to the generator. It feels like
there must be an obvious answer here, but I'm missing it... so I'm
asking y'all instead.
Maybe this one?

http://weitz.de/cl-who/#convert-tag-to-string-list

Cheers,
Edi.
Daniel Gackle
2006-12-21 23:55:08 UTC
Permalink
By the way, your last example on that page appears to be missing an angle
bracket, as seen in the sample output after '0':

<table border='0'<tr><td>1</td> ...

I assume you need a (list ">") before (funcall body-fn body) in the final
method?

Dan

-----Original Message-----
From: cl-who-devel-***@common-lisp.net
[mailto:cl-who-devel-***@common-lisp.net] On Behalf Of Daniel Gackle
Sent: Thursday, December 21, 2006 3:28 PM
To: cl-who-***@common-lisp.net
Subject: RE: [cl-who-devel] Factoring out subtrees

< Maybe this one? >

Doh! Yes. I must have read that at some point.

Thanks Edi,
Dan


-----Original Message-----
From: Edi Weitz [mailto:***@agharta.de]
Sent: Thursday, December 21, 2006 12:52 AM
To: Daniel Gackle
Cc: cl-who-***@common-lisp.net
Subject: Re: [cl-who-devel] Factoring out subtrees
Post by Daniel Gackle
Hi, I have a really elementary question. I'm generating html that
(defun page1 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (:link :rel "stylesheet" :type "text/css" :href
"style.css"))
Post by Daniel Gackle
(:body "hi"))))
(defun page2 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (:link :rel "stylesheet" :type "text/css" :href
"style.css"))
Post by Daniel Gackle
(:body "there"))))
How do I eliminate it? Is there a way to do the following?
(defun page1 ()
(with-html-output-to-string (*standard-output*)
(:html
(:head (css-me-up "style.css"))
(:body "hi"))))
More generally, I'd like to build html trees and transform them in
various ways before passing them to the generator. It feels like
there must be an obvious answer here, but I'm missing it... so I'm
asking y'all instead.
Maybe this one?

http://weitz.de/cl-who/#convert-tag-to-string-list

Cheers,
Edi.
Edi Weitz
2006-12-22 07:24:51 UTC
Permalink
Post by Daniel Gackle
By the way, your last example on that page appears to be missing an
angle bracket
Yes, thanks for the note. This release fixes that.

Cheers,
Edi.

Loading...