![]() |
![]() |
|||||
|
|
Linux Web Authoring
O what a tangled web we weave...
Oh my god, they closed the coffee shop - the bastards!
Dateline October 2002: After months of not doing anything at all with my website, I finally decided to head off to my favourite coffee bar in Brighton again to do some XHTML over a tall cappucino. The pictures below show on the left, how the coffee shop looked last time I went there and, on the right, how it looked this morning as I walked to work with my digicam - spot the difference... :-(
But it's okay - I've found somewhere new to hang out at lunchtimes. The Bystander cafe does the most amazing cheeseburgers, very bad for your cholesterol levels but very tasty! Has the advantage over somewhere like CrapDonalds that the food gets cooked when you order it and not before. The staff are pleasant and the coffee is pretty good, too. Well worth dropping in if you happen to find yourself hungry outside Brighton station one day.
I've had a web site of one sort or another on the go for quite some time. The site you're currently looking at is way more slick and sophisticated than some of my earlier efforts - people have actually taken the trouble to e-mail me saying they like the design and wanting to know how I do it. So here goes... Bluefish-0.7
You can (in theory at least!) get away with nothing more than a plain text editor to write the pages of a web site. This is probably okay for a site with 2 or 3 entirely static pages that don't get updated very often. Back in the real world, however, you're going to want a little bit of help. There are a whole heap of HTML/XHTML authoring tools around for Linux, ranging from the lean but functional Gnotepad, through to software such as Screem and Quanta, which offer basic project management tools in addition to having extensive (and in some cases customisable) tools for inserting HTML code into your web pages at the click of a mouse button. My preferred choice is a neat little program called Bluefish. At the time of writing, this is up to version 0.7. The screen shot shows an initial draft of this very page being edited. Click on the image for a bigger Bluefish screenshot (50,521 bytes). wml-2.0.8
Anyone who's done a bit of web development will have spotted from the screen shot that my pages don't appear to be marked up using what you'd call 'standard' XHTML. I use Website Meta Language to help with managing the site content. This is an absolutely wonderful bit of software that I discovered a few years ago. At the risk of offending the author(s) of this fine piece of code, I'll describe it as a templating tool, but in reality it's much more than that, and I've so far only just scratched the surface of what WML can do. As an example, take the menu of links that appears down the left hand side of every page on this site. The traditional approach would have the same XHTML code for this in every page on the site. To add a new item, I would have to add it manually into each file. Using WML, I can create an include file, just the same as in a 'C' program, and simply reference this in the WML 'source' document for each page. gimp-1.2.3
Gimp (GNU Image Manipulation Program) is the graphics app for Linux. I use it as a final 'pre-press' tool for all of the graphics files that appear on this site. What you can't do with an image file in Gimp really isn't worth doing anyway! Get yours at the Gimp website.
GNU make-3.79.1
Finally, in order to convert the .wml documents that I maintain in Bluefish into usable XHTML, I use a simple Makefile in my web site project directory. This calls the wmk(1) command which is part of the Website Meta Language toolkit. The Makefile itself looks like this: # # rebuild web site from .wml source files # WML=wmk ORIGIN=/home/phile/proj/website SRC = $(ORIGIN)/source OBJ = $(ORIGIN)/site INC = $(ORIGIN)/include JS = $(ORIGIN)/scripts DEPS = $(INC)/pagehead.h \ $(INC)/menu.h \ $(INC)/pagefoot.h \ $(INC)/disclaimer.h \ $(INC)/metatags.h all: site site: about family faq feedback \ index linux machines python \ shell adsl spacewatch stsplus \ getlinux guestview website \ bfscreen %: $(SRC)/%.wml $(DEPS) $(WML) -I $(INC) -I $(JS) $< -o $(OBJ)/$*.html Other bits & bobs
There are a couple of other things that aren't really central to building/maintaining my site, but which deserve a mention all the same... In order to get the pages onto the web server, any old FTP client will do, I use gftp-2.0.11 do do my uploads - it's a very capable GUI for an otherwise dull and fairly inflexible command line protocol. The early versions of this were a bit flaky, but it's come on in leaps and bounds in the last 18 months, and I'd now recommend it to anyone. I've also started playing around with Sitecopy-0.11.4, a handly little program which has the ability to track the changes you've made to your web site and only upload the pages that you've done something to. This is (of course!) much quicker than uploading the entire site every time you make the slightest little change. |
![]() |
||||
|
I've done my best to ensure that the information given on this site is accurate.
If you make any use of this information, however, you do so entirely at your own risk.
If you lose your job, your house blows up or your dog dies, it's not my fault, okay?
All trademarks and copyrights are owned by their respective companies. Linux is a trademark of Linus Torvalds. HTML coding done
using Bluefish-0.7, together with
wml-2.0.11 (19-Aug-2006) and graphics by The Gimp.
Copyright © 2004 Phil Edwards mailto: webmaster (at) linux2000.com Last updated Wed Jun 30 14:07:09 2010 |