Side bar

  Colour editing
  Image creation
  JS Tricks
HTML³: Choices |

HTML³ options

This page describes the current set of options available to HTML³ users, and is subject to rapid change. It describes both the Options window, and the User details window.

Relative Files

Many windows in HTML³ allow you to drop files onto them, and they will use this information to, for instance, create the HTML needed to display a graphic. Most of these will have a small tick box next to them with words to the effect of Make dragged files relative. This is useful if, for instance, you keep your graphics in a separate directory to your HTML files, because the program will work out the best way to get from one file to the other.

However, to be able to do this it needs to know which HTML file you're working on! All you have to do is create your HTML file and drag it to the big white arrow on this section of the options window. Alternatively you can drop the directory that is going to contain the HTML file onto the arrow instead - for instance, if you have a directory called ADFS::HardDisc4.$.site, and are going to create a file called index/html in that directory, just drag the site folder here.

Relative linking

Relative linking

Having to open the Options window to do this every time your start a new file or move directory will get very tedious after a while though, so here are a couple of tips to speed things up:

  • The program only really needs to know how to get from files in one directory to file in another directory, so if you start work on another HTML file in the same directory as the first file, you don't have to bother dragging this second file to HTML³ - it's kind of in the same place, so the program will still be able to work out the correct route.
  • You don't have to open the Options window to use this option - just drag the HTML file or directory to the HTML³ iconbar icon, and you'll hear a high-pitched beep - this means the current working directory has been set.
Note that certain files being dragged onto either the iconbar icon or this window will change other options: dropping SHTML, PHP or WML files here will switch on the relevant output functions (see below). If this is the case you'll hear a slightly lower pitched beep than the directory set beep; if both actions are taking place then you'll hear a two-toned beep.


Character optionsAs with Email, web pages are only really supposed to have a very limited set of characters in them - basically, plain text, numbers, and a small set of punctuation characters. To get fancy characters - such as foreign letters, the pound sign, characters that are used by HTML to make up commands and so on - you have to use character entities. These can either be done as numbers - for instance,   - or using special names -   - to do the same job. HTML³ supports both kinds on its Character window, and this option allows you to switch between the two types. Note though that some characters might not work properly in one form or the other, and in some cases HTML³ may override your choice here to try and provide the best version. Just use whichever you find easiest to read, and let HTML³ worry about whether this is the best format.

If you're not the sort of person that can look at a three-digit number and convert it into ISO-9660 ASCII in your head, or remember a list of around 127 character names, then you're probably the sort of person that has a life. I don't have a life, so I don't need the next option - Add reminder. This puts a comment after the character entity to remind you what character you've just entered - for instance, &#160;<!-- hard space -->


When dragging files to various windows of HTML³, you can get the program to correct the file extensions so that the links work properly on other computers. This is especially handy when you're using ArgoNet's WebLoad program to upload your website - because this also corrects extensions, but as it does it to the files itself you need the links to those files to point to the right place. In turn, WebLoad does this because older versions of RISC OS have a limit of ten characters in a filename, so for instance a file that should be called index2/html gets shortened to index2/htm, and index20/html gets shortened to index20/ht, and so on. If you are stuck with this situation, then this combination of HTML³ and WebLoad renaming everything for you can be handy; if you're using a whizzy RISC OS 4 machine, or just a normal machine but are running LongFiles 2 (which I highly recommend), then you probably won't need this option at all.



Note that with this option switched on, you can change what HTML, archive and JPEG files have as their extensions, which should match WebLoad's options almost exactly (although I have added a few extra options in case you're not restricted to using ArgoNet's software, and just like this option). GIF should always be /gif, so you can't alter what GIFs get changed to!

Named colours

Colour ListIn various parts of HTML³ you'll be able to choose the colour of things - text, backgrounds and so on. You should be able to do this in a variety of ways, such as using the RISC OS colour picker, or from a menu containing a list of named colours.

This option allows you to change what list of colours is presented; there are a number of pre-defined lists included with HTML³, which are covered in more detail on the page concerning colour editing. The default file set when you first use HTML³ is a simple list of useful colours based on my own ArtWorks colour list, but not very subtle. You can switch to using colours which are based on Internet standard colours, colours "safe" for use on all browsers and operating systems, or lists taken from graphics packages or printing houses. You can even define your own lists, as these files are plain text!


This section has been extended quite a bit as of HTML³ version 3.50, to the point where you don't have to output HTML at all!

Capitals, Lowercase and Don't care

Some people like to write HTML with all the tags in capital letters, so that they stand out more from ordinary text; others, presumably the ones with decent text editors which highlight HTML tags in different colours, think that using capital letters all over the place is too "shouty", and if they've spent too much time on newsgroups and reading emails they can complain of getting headaches from reading too many capital letters in one place. And then there's people like me, who don't really care what the rulebook says and just uses any old mix of case (generally I type smaller tags, like <P>, in capitals so they stand out, and longer tags, like <font color="#ffffff">, in lower case). This option allows you to output in the case of your choice - Capitals, lowercase, or my brand of mixed nuts. Note that WML and XHTML must be lowercase, so you don't get a choice with these options selected.

Output WML

WML (Wireless Markup Language) is a cut down HTML style language, but aimed purely at mobile devices such as mobile phones. HTML³ has now been upgraded to output in this language; however you may notice that, if you switch some of the more complicated options on in some windows, they don't make any difference to WML output; this is because there is no equivalent WML tag or attribute.

Output XHTML

This tells HTML³ to output HTML4.xx; it's basically the same as HTML3, but "properly formed" - all tags that are opened must be closed (such as <p>...</p>, and single tags such as <br> must be changed to <br /> (in effect, they contain their own closing tag). Tags also have to be lower case.

Output to Perl (with print statement)

I often write programs in the Perl language which are run on a web server and output dynamically-generated HTML. However, you can't just dump HTML in the middle of a Perl program without some form of encoding (well, there are ways, but that's beyond the scope of this documentation). So, Output to Perl will encode things like speechmarks, dollar signs and so on so that they can be used by the Perl program. With the with print statement option switched on as well each line starts with the command print and a speechmark, and each line is terminated by a Perl linefeed mark, the speechmark is closed, and a semicolon is put on the end to terminate the print statement. For example, <img src="foo"> comes out as print "<img src=\"foo\">\n";.


SSI stands for Server Side Includes; originally HTML³ was written to use only straight Apache-style includes, but now it can output in PHP3 and ASP also - just think of them as alternative formats or languages. So, True SSI basically says the server side include window will output straight Apache SSI commands, PHP will make it output PHP-style tags instead, and ASP will get it to write small VBScript (Visual Basic) programs to do the same thing.

Side bar

Side barThe side bar gives you quick access to all of the windows that make up HTML³ - you can click on it to open windows, drag files to it, and so on. It usually appears on the left hand side of the desktop, in a tall, thin shape.

Always on top is invaluable when you're editing you website and have lots of windows open - you'll probably have a web browser window open displaying a page, a text editor window with the HTML source you're editing in it, and maybe a few filer windows containing images or HTML files. Always on top detects if anything is obscuring the HTML³ side bar, and if so brings it back to the top so you never lose it.

If you don't like the tall, thin sidebar (perhaps because it gets in the way, obscuring text when you're trying to edit it and so on), you can switch on the Horizontal option and HTML³ will switch to using something shorter but wider, suitable for putting at the top of the screen perhaps. It works in exactly the same way - you can drag files to it, click on it, get it to automatically stay on top etc. - the only change is the shape.


A couple of miscellaneous options here:

Acorn font names

In a couple of places - the Effects window for instance - you can select font faces, which is basically changing the typeface that text is displayed in.Acorn font names changes some of the names on the list of available fonts from the PC versions to something a little more familiar to RISC OS users. It doesn't do it for all fonts - because they probably don't have a well-known RISC OS equivalent name - and it doesn't change the output, because this always has to use the PC font names.

Alt Key

Modern keyboards have a few extra keys on compared with the old RiscPC keyboards - these were introduced to add extra shortcuts to Windows 95, but can be accessed under RISC OS if you have RISC OS 4 (or a hack module by Justin Fletcher). However, as no RISC OS programs seem to use them I thought it might be a good idea to use them for the keyboard shortcut to open HTML³ windows instead of the ALT key.

PC pandering


User Details

UsersThis window allows you to set up your identity, and in the Profiling section you can optionally add the identity of the person or company you're designing the website for. This is not any kind of registration information, it's purely there to help you, so there's no point in faking it! The information from this window is fed into the Address and Footer windows for instance so that you can quickly set up links to your site or footers with your client's contact email address in it.

The first section is fairly self-explanatory - you just put in your name, a nickname, your email address and the address of your web site - so you can safely skip this section and go to the section about profiling. However, you might want to give some thought to how you present yourself, so here's a few examples of how to use it, using my own details as a guide:

  • Real name:
    • okay, that's Richard Goodwin, or ...
    • Rich for short.
    • Or, if I wanted to be more formal, R. Goodwin.
    • Or, if I decided that I didn't want to be known by my real name, I could put in a nickname here and leave the Nickname/title area for a more technical title, so I could have Real name: Mabel.
    • Or I could have my company name here if I wanted to publicise my own design house - but I don't need to put the name of the company I'm actually designing the site for because there's the whole profiling section below, so I might as well stick to something that's more about me.
  • Nickname/title:
    • I sometimes go under the "nickname" of House of Mabel Design...
    • but I could also use the title Webmaster instead, especially if I've already used Mabel as my Real name.
  • Email address: an email address that I use often, and is to be associated with my name or nickname - if I've used the title Webmaster, I might want to use something like,, or the more personal It's for when people want to get in touch with the site designer - if this is different than the owner of the site, that is I'm designing the site for someone else, then I can use the Profiling section below to enter their details too.
  • Homepage URL: This is for my home site, so that people can come and see what I have to say - perhaps I'm designing a site for a client, and want to have a link in the footer so people visiting the site can come and look me up, and perhaps hire me to do their site - that'd be nice!
  • Phone number: This is my contact number; when in WML mode you can't have email links, so a 'phone link will be used instead. Basically email links either don't work, or worse, generate errors; I've only seen one device (an Ericsson R380) that can handle email links properly, as it has an in-built email client. Obviously I made this decision as anything that appears broken is obviously bad for your image as a designer, but don't feel that you have to give people you 'phone number, and be very wary of using your home number. A company/educational establishment's switchboard is much better at handling this type of call.
So, to summarise, I could have the following (missing of the long URLs to save space):
Richard Goodwin, the Webmaster,, as in "Site designed by Richard Goodwin. Click here to email the Webmaster"
Rich Goodwin, Mabel,, as in "Site designed by Rich Goodwin" or "Site designed by Mabel".
Code Monkey, House of Mabel Designs,, as in "Site designed by Code Monkey. Click here to email House of Mabel Designs" (a trick - info@ wasn't in this list. But it could have been in the profiling section...)

Play with it. It's your identity. You know you better than I do.


Switch this on, and you get access to a second set of details. They can be used in exactly the same ways as the user details, it just allows you to have information about your client without having to sacrifice information about you - your client might be paying the bills, but that's no reason to lose your identity! Note that the only difference is that clients can't have nicknames.

Don't forget that the client could be you - that is, if you're working on your own website, there's nothing stopping you from switching on profiling and using it to have more technical information about your site - for instance, you might have the whole Site designed by Code Monkey thing set up in the personal details section, but you want the site to be Copyright Richard Goodwin 2000

Save as...

HTML³ saves a lot of its data when you quit the program, so when you restart you should find the program set up in almost exactly the same state as when you last used it. This is fine when you only have one web site to look after, but when you do work for more than one site - or even if you use different colour or graphic schemes on different parts of your site - you're back to having to set everything back up by hand when you want to work on a different site. You might have saved that header colour scheme, but chances are all those commonly used email addresses, links and graphics aren't stored in the history any more, because they've been overwritten by data from another site. Wouldn't it be great if there was a way of keeping separate data files for each site, without having to keep entire duplicate copies of HTML³ everywhere?

!html³appThat, in a nutshell, is what you can do here. The main program can create simple applications which just store HTML³ data files - I call them data applications. You can load them while HTML³ is running and, after confirming that you really want to do this, the program will load in the data contained inside, and will subsequently save any data to it, including when the program is quit. This also means that HTML³ can be run on a read-only filing system, but still be able to save data without throwing up errors. If HTML³ is not running when you run one of these applications, the application will try to run the main program and the data from the simple application is used as the default.

The idea is that you have one of these applications in every website directory on your hard drive. For instance, I have one that knows about my web site - currently with a white background, brown text and blue links, situated at SCSI::Kaye.$; I have one for writing articles for Acorn Arcade, which I store at SCSI::Rhys.$.Develop.Arcade with black backgrounds, white text and various shades of beige for headlines, some custom SSI commands for headers and footers have been built into the custom macros in the Address window, and a stock set of graphics like the horizontal bar can be got at easily; this differs from the various ArgoNet site sections - Main Argo, Links, NewSupport, ArgoGroup and so on, all of which are similar but have slightly different colour schemes. Setting all this up by hand each time would be a nightmare, but now I just have separate data applications for each site.

All you have to do is type in a valid application-type filename into the white box - a "!" character followed by nine characters which can be a mix of alpha-numerics or some punctuation that doesn't clash with the special filing system stuff - and then you drag this to whatever directory you want to save it to. The application will create itself there if it can; it'll copy the currently used data files in, plus all the stuff it needs to work like a !Run file, an icon file which looks like a cut-down version of the main HTML³ one, and a help file so everyone knows what it is.

It's intelligent enough not to allow !HTML³ as a filename - you won't be able to tell it from the main program, and all sorts of confusion will occur - and will stop you from overwriting existing applications (so you won't mess things up if you try to save as !ArtWorks for instance, although I wouldn't recommend trying it!). And after creating the new application, you're still asked for confirmation before switching from the existing data area to this new application.

Two suggestions when using creating a new data application: firstly, don't type in your user/profiling data and then, without saving, create a data application; as the data application copies the existing data files across and starts using them, you'll see your new user data vanish, to be replaced with whatever was saved last time! Either save your new setting before creating the data application, or create the data application and then change the user/profiling data. Secondly, if you get into problems, want to delete the data application or whatever, there's a button to switch back to using HTML³'s own internal data storage area - but note that you still have to confirm whether you want to switch to this storage area, because you might have clicked on the button by accident!

HTML³: © Richard Goodwin 1997-2002