Looking more into the skinning issue, it looks to me like the file skins.c
contains a bunch of stuff that could be generated trivially from a script of
some sort.  Is there any interest in me making the skinning system more
flexible so it's easier to add a new skin by basically just checking in
three files under a new directory?  The idea would be something like this:

<fossil source root>
| ...
+- skins
| |
| +- skinname1
| | |
| | +- skininfo.txt
| | |
| | +- style.css
| | |
| | +- header.html
| | |
| | +- footer.html
| |
| +- skinname2
| ...

Then inside src would be a utility like translate that walks over all the
subdirectories of ./skins, grabs the explanatory information from
skininfo.txt, grabs the style, header and footer code and builds skins.c
exactly as it is now (but with more skins, naturally) before translate is
run on it and fossil as a whole is built.

The advantage to this system is that people can add new skins easily,
without any C hacking, by simply providing four files under a subdirectory
of ./skins:

   - skininfo.txt provides the name of the skin, a brief description and
   (optionally) the name of the author.
   - style.css, header.html and footer.html just do what their respective
   sections in skins.c do.

A further advantage is that people unfamiliar with C won't accidentally
insert subtle, hard-to-catch bugs.

-- 
"Perhaps people don't believe this, but throughout all of the discussions of
entering China our focus has really been what's best for the Chinese people.
It's not been about our revenue or profit or whatnot."
--Sergey Brin, demonstrating the emptiness of the "don't be evil" mantra.
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to