DragonFly submit List (threaded) for 2004-02
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
New website (inspired by the "Website layout" thread)
Over a beer (OK OK, several) with a friend during new years, the topic
came up of the current dragonfly.org website. I found it quite hard to
follow, and saw that is very complex without any real gain at all.
So, instead of starting a huge thread on converting to SGML, I spent a few hours
tonight and did it myself, so that everyone could actually see the results.
Please peruse http://dragonfly.drunkmonk.net to see the final product.
You can grab the source at: http://dragonfly.drunkmonk.net/www.tar.bz2
As always, comments are welcome!
(Note: there are probably mistakes, as i did this very quickly as a
proof-of-concept only, though it is actually in it's *completed* form, just not
nitpicked to death to ensure correctness)
Below are a few notes I made during the conversion process:
Why SGML?
A few reasons:
* The SGML HTML DTD will do offline-HTML syntax checking.
* Static website (improves speed).
* Site layout in CVS is exactly the same as WWW.
* DSSSL backend provides the ability to add advanced features.
General HTML:
* The website is now backwards compatible to first generation browsers, while
some people see this as unimportant, I'd like to say a few things on this
subject:
- A lot of people still use first generation browsers
- Advanced CSS takes a while to compile (even on modern browsers)
- It makes things look very broken for text-only browsers
- Advanced CSS is brutal for people using teleprompters for the blind
- This is a technical site, not http://www.disney.com
* The site looks far better in text-only browsers. (eg, w3m www.dragonflybsd.org
vs w3m dfly.ten15.org)
Search engine enhancements:
* added meta keywords
* added meta http-equiv content type
* any URLs ending in *.cgi are normally NOT indexed by search engines,
this is very bad, as they assume it is dynamic content -- while some
search engines are smart enough to figure this out, most are not.
URLS:
* Lowercase is far better for the URLs, as this is a technical site,
most people will be typing in the locations by hand, thus uppercase is
annoying.
General:
* Made an ICO, it's very simple, used from smalldf.jpg
* Added ALT tags for the blind, where necessary.
Added features:
* CGI to handle error documents (found in /error, /cgi/error.cgi, thanks petef!)
* Site map -- this is *VERY* important, to help those users who are not sure
what they are looking for, it allows you to link various areas of the site
using alternate names.
* Search engine using HTDig.
* <insert other things i may have forgotten in here>
Nits:
* In order to support that top <hr> the main <table> had to be made a
bit more complex than I'd like, I'd say lose it, it's not worth the
complexity (in rendering) just for a single line.
Not done:
* Summary fields for tables, for the blind.
Notes:
* It is *very* possible to use a WYSIWYG editor with this system, all that is
required is inserting proper <!-- ... --> blocks in various areas of the site,
then cutting and pasting the source created within the specific blocks
(editing the _rendered_ HTML page directly) then inserting them back into the
SGML source -- most fancy editors can do this automatically, hense why you see
a lot of comment blocks in the larger sites.
* Static pages are cool.
For Apache, this is the configuration i'm currently using:
<VirtualHost dragonfly.drunkmonk.net>
ServerAdmin webmaster@xxxxxxxxxxxxx
DocumentRoot /www/www.dragonfly.org
ScriptAlias /cgi/ "/www/www.dragonfly.org/cgi/"
ServerName www.ten15.org
ErrorLog /logs/www/www.dragonfly.org/error_log
CustomLog /logs/www/www.dragonfly.org/access_log combined
ErrorDocument 400 /cgi/error.cgi?400
ErrorDocument 403 /cgi/error.cgi?403
ErrorDocument 404 /cgi/error.cgi?404
ErrorDocument 408 /cgi/error.cgi?408
ErrorDocument 500 /cgi/error.cgi?500
</VirtualHost>
For HTDig, read htsearch.README in the cgi directory, it's extremely
straightforward. rundig -c /www/www.dragonfly.org/htdig/htdig.conf will
update the db (default locations are all in htdig.conf)
Amar.
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]