[Kepler-Project] Static page rendering with Kepler

Andre Carregal carregal at fabricadigital.com.br
Mon Dec 17 19:28:17 GMT+3 2007


On Dec 17, 2007 8:07 PM, Ralph Hempel <rhempel at hempeldesigngroup.com> wrote:
> Here's a possibly dumb question - and here's how I got to
> the point of having to ask it...

This is surely not a dumb question and the answer is also surely not simple. :o)

> 1. Let's say my ISP won't let me install Lua, and I don't
>     want to switch ISPs.
> 2. Let's also say I like the idea of using Kepler to render my
>     site because it lets me use my favorite scripting language
>     to make it easy to generate template based pages.
> 3. Let's further say that my ideal mode of operation would be
>     to have Kepler running on a local machine, and to somehow
>     get it to render or generate my entire site (some dozens of
>     pages)

This is a much more common scenario that it seems at first glance.
Another use for this would be generating offline documentation or even
a site on a read only media.

> Here's is the question....
>    Is Kelper at all useful if I want to render a site locally?
>
> Once the content is generated, I can move it up to my actual
> provider by ftp or whatever, but I want to have Kepler to
> make the site.

To do that you have some options, depending on how your site is structured.

- If your site is based on a regular structure, say a database, it may
be easier to simply iterate the database and generate each page using
LP or Cosmo. Here each page may use some ID from the database as its
name.

- If your site is non structured, then you will have to write a
crawler smart enough to make sure it covers everything but only once.
Here the page name may be a problem if you want it to be "nice", but
if you don't mind the name you can simply use some contraction of the
original URL.

The problem is that for each page, CGILua will try to generate URLs
for another CGILua page, but since you don't want this you will have
to change cgilua.mkurlpath and cgilua.mkabsoluteurl to point to the
new names (see above) instead of the standard URLs.

Bottom line is, Kepler already offers you two template engines (LP and
Cosmo) and CGILua is flexible enough to handle the details, but you
still have to write the iterator and make sure the URLs match the new
names.

Hope that helps

André



More information about the Kepler-Project mailing list