On 9/9/17, Sean P. DeNigris <s...@clipperadams.com> wrote:
> I'd like to create HTML via a DSL, like Seaside's canvas builder, but
> without
> loading a whole web framework. Any ideas?
>

Hello Sean


1.
One idea is _not_ to go for a HTML builder DSL but for a document
model plus a generator.
The generator is a visitor for the document object model.

There is the Pillar document model and a visitor already in place.

The current challenge  - actually it is not a challenge - but just
needs some time -  is to extract the Pillar document model (easy) and
the tests (needs more time)  so that it can be loaded as a stand-alone
package.

See a long discussion in a thread in August about including Pillar in the image.

The same then applies for the HTML generator. That is just a file-out
from an image which has the full Pillar loaded.

So IMHO it is not so much about inventing a new HTML builder DSL but
to "mold" exisiting infrastructure into shape.

This has the advantage that you can generate other representations easily.


2.
Another idea is to look at HttpView2 done 10 years ago and come up
with a revised version.
http://wiki.squeak.org/squeak/182

    "No Files. No HTML. Just Smalltalk code!"

A builder: http://wiki.squeak.org/squeak/637
The element hierarchy: http://wiki.squeak.org/squeak/840


Discussion
---------------

Comparison of 1 and 2

In 1 you use a document model (DOM) which is independent from the
representation in HTML code.

Than you have a generator generating the HTML code. The DOM is
actually quite close to the HTML DOM.

The Pillar DOM is nicely supported in Pharo with the inspector.

Neither 1 nor 2 actually take CSS into account. An issue which is
important when you generate web pages.

So from the Smalltalk data model point of view (web document modeling)
you have a Smalltalk object which is then rendered on two output
streams

- HTML
- CSS

Things get interesting in particular if you want to generate
responsive web sites.
The you need to do more on the CSS side and with generating pictures as well.

Regards
Hannes

>
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>

Reply via email to