[Seaside] Seafox HTML -> Seaside render methods translator
Frank Shearar
frank.shearar at angband.za.org
Sun Aug 1 20:02:35 UTC 2010
On 2010/08/01 21:16, Nick Ager wrote:
> Hi
>
> I've attached an initial release of a small side project I've been
> working on. It's called Seafox and it's a Firefox extension which
> translates HTML into Seaside render methods. It's far from perfect but
> hopefully useful in this initial version. To install, File->Open from
> within Firefox. A Seaside star-fish icon should appear at the bottom
> right of the browser. Open a page of html which contains some html you
> want to embed in a component. Press the "Seafox" button and a new tab
> will appear with a Seaside translation of the html.
>
> Why? The background to the project is that often when I try advocating
> Seaside to my non-Seaside developer friends, they protest that Seaside
> won't fit into their workflow. Their excuse is that they receive html
> from their designers then use that as their template. I know that
> templates vs Seaside render methods + CSS is a well trodden path (and
> don't want to reopen that discussion), instead I thought if I could make
> something that would give non-Seaside developers a start by taking a
> page design and translating into Seaside render methods that
> might alleviate one perceived obstacle.
>
> I've uploaded the code to http://www.squeaksource.com/Seafox. There's a
> ConfigurationOfSeafox in the metacello repository [1]. To install the
> code download ConfigurationOfSeafox and execute:
>
> (ConfigurationOfSeafox project version: '0.1') load
>
> The code registers a Seaside app at http://localhost:8080/seafox which
> shows the html->seaside element mapping and the attribute mapping as
> well as giving a link to download the extension, The extension is
> dynamically created, and if you run it in Firefox, installed.
>
> I've also uploaded the application to:
> http://seafox.seasidehosting.st/ You can install the extension directly
> from there.
>
> Warning: I installed the code in the Seaside30rc to test it. The image
> froze when I tried browsing to the app. I haven't noticed this problem
> in non-one click installations, but wouldn't load it into you main
> working image.
>
> I should reiterate that it's not a perfect mapping, but hopefully it
> might be useful to a few people.
I'd been thinking of, just to get to grips properly with Seaside,
rewriting a PHP application. And this might be just the guy to help ease
the way. I just installed it into one of Andreas' Seaside 3.0 one-click
images, and it works great: firefox has the plugin installed, and I can
see the output!
Also, thanks for writing something that says when something bad happens:
<div id="pageTitleR">Über <b>Frank Shearar</b></div>
becomes
html div id: 'pageTitleR'; with: [
html text:'Über '.
"Unrecognised element 'b'"
(html tag: 'b') with:'Frank Shearar'
].
and
<img src="/images/16/Report.png" title="" width="16" height="16"
border="0" align="absmiddle" ></img>
becomes
html image width: 16; height: 16; "unmapped attribute->" attributeAt:
'border' put: '0'; "unmapped attribute->" attributeAt: 'align' put:
'absmiddle'; title: ''; url: '/images/16/Report.png'.
(Yes, I know img tags don't have align or border attributes anymore.
It's inherited legacy stuff.)
So again, thanks Nick!
frank
More information about the seaside
mailing list