« Back from Vacation | Main | Start With a Background Image »

Sunday, September 20, 2009

Back In The Saddle

It has been a long time since I blogged. I have been very busy finishing other projects. Now I am ready to begin using Thingamablog again. My intention is to create a new theme for Thingamablog and post the details here. For now, I will summarize what I know about the structure of a theme.

It appears that in Thingamablog a theme consists of three basic parts:

  • The style sheet, styles-site.css
  • The six templates in html
  • The special tags implemented by Thingamablog

Each component of the theme contributes its own, distinct features to the theme (although there is some crosstalk).

styles-site.css

Like any style sheet, this one supplies fonts and colors and sizes etc. There is some crosstalk between this file and the templates because it specifies some locations as well. That caused me some difficulties when I tried to customize the Thingamablog theme used on this blog, so I will have to look into that. I replaced some of the style sheet positioning by using tables in the templates.

The effects of the style sheet are handled by the browser when the page is displayed.

Templates

The templates specify the locations of things, such as headers and footers and content areas. The templates use the style sheet classes and id's to specify where things go. They also specify the positions of the blog data by using the special Thingamablog tags where the content of the blog is supposed to appear.

Thingamablog Tags

These tags are implemented in the Thingamablog program and know how to pull the content data out of the database.

When creating an entry in the blog, the information about the entry, such as the text that is typed into the entry and the dates and times, is entered into the database. When you publish the blog, the contents of the entry are pulled out of the database and written into the .html files in the positions indicated by the placement of the tags in the templates. The .html files are then uploaded to the server.

The reason for having a database is that the same information is published in more than one place. For example, the text of the entry is published in the main page, the category pages, the archive pages, the feed page, and the individual entry pages. A single copy of the text is kept in the database, and is written into various .html files before uploading to the server.

Since Thingamablog is a client side blog tool, all of the files are created statically on the local computer and then uploaded to the server. The online blogging tools use the same sort of technology, but the database exists out on the server, and the .html can be created dynamically by the server and sent directly to the browsers upon request. They do not have to actually create the .html files, although some of them do.

The Custom Tags are simply Basic tags (which contain static text) in which you can specify the contents of the tag. The semantics of the custom tag are the same as for the built-in Thingamablog Basic tags - you specify where the tag contents go by calling out the custom tag in the template.

I am hoping to unravel the details of how the Thingamablog themes work so that I can create an entirely new one for another blog.

As ye fool around, so shall ye learn.

Posted by Brian S. Kimerer at 11:04 AM

This site and all of its contents are copyright Brian S. Kimerer 2009