IdleCuriosity About

About this site

HTML, CSS, XHTML

HTML/XHTML

The main pages of this site are constructed using HTML(Hypertext Markup Language) and CSS(Cascading Style Sheets). I have tried to use HTML that adheres as close as possible to the rules of XML and XHTML.

However, for some reason, certain browsers seem not to support window height tables when a page's DTD(Document Type Descriptor) is present so I have left the DTDs out. I think that perhaps the HTML/XHTML standards don't support it but the browsers implement it anyway(except when the DTD links them to the standard.)

CSS

The colours and formatting of the text is done by the stylesheets while the structure of the page is mostly in the HTML itself to allow non-css browsers to at least display everything in the right place.

At the moment I have only implemented the Red Green Blue colour scheme. At some point I may write others and perhaps even include a scheme for allowing the user to switch between themes.

About 3D

POV-Ray, HTML, CSS, mySQL, PHP, XML, XSLT, Flash

POV-Ray

My 3D creatures and spaceships are constructed and rendered in POV-Ray a free 3D rendering engine.

Macros in Creatures

The macros in creatures pages are constructed automatically by one of four methods.

  • Database - The database pages use PHP to construct HTML directly from a mySQL database of creatures and macros I set up for the purpose. This allows the pages to be constructed dynamically but requires a web server with PHP and mySQL installed.
  • Client XML - PHP can also be used to convert the database into a series of XML pages. When served to a browser along with a linked XSLT stylesheet these may be transformed into readable HTML. These pages require the use of an offline constructor to generate the XML so that the database can be altered without disturbing the web pages. Unfortuntely at the moment not many browsers support XML and XSLT and those that do don't seem to do it very well.
  • Server XML - XSLT extensions to PHP allow the transformation of XML using XSLT. By using this along with the XML the server can dynamically transform the XML into HTML and serve it to the browser. This means that the burden of transforming the XML is lifted from the client and the pages will be accessable to browsers that do not understand XML. Unfortuntely this requires PHP on the server to support the XSLT enxensions which isn't always the case.
  • HTML - Instead of generating XML from the database we may use PHP to generate HTML offline. This allows any webserver to serve the pages but still requires PHP to perform the offline transformation.

Animation

Within the 'macros in creatures' pages are my creature animations. These are rendered in POV-Ray then imported into a flash movie for use on the web page. The animation is loaded up only when the user clicks on a button. This allows the web page to load relatively speedily because animations aren't loaded up until they are needed. When the flash is activated a load bar indicated the load progress animation.

About Writing

LaTeX, C, HTML, CSS

Writing

I write in LaTeX because it allows me to define macros for use with names and other constants in the text. This allows me to change these things simply by changing the macro and know that wherever I have used the macro in the text it will be changed. This helps maintain consistency when I decide that I want to rename someone or something in the story.

C

To translate the LaTeX to HTML for the web I wrote a little C program. Although there is a LaTeX to HTML program already in existence I found that it did too much, too well for my purposes and that I really wanted something much simpler. Rather than translating LaTeX formatting, spacing and colouring and all into HTML that looked exactly the same I wanted something that would simply convert the text and allow me to apply stylesheets to the result so that I could control it's appearance on the web.

My htmlatex program reads in LaTeX and outputs a set of reasonably generic HTML pages whoose appearance can be altered by the use stylesheets. This allows the presentation of text in a wide range of page styles.

C++

At the moment I am learning C++. I intend to use it to create a new version of htmlatex which will output XML instead of HTML. XML will allow me an even greater degree of control over the presentation of the text through the use of XSLT.

E-mail: andrew@idlecuriosity.org