Launching www.indiaguide.pl

August 10, 2008

Since this blog will mostly cover XML content, CSS waterfalls and SVG designs, newly launched www.indiaguide.pl is a good introduction.

how it started

I met the author, Danuta Orlewicz, several years ago at a presentation about Nepal. She is an experienced guide, leading countless groups to Indian subcontinent since 1997. We agreed that a website on history of India – in Polish it’s Indie, plural – and her personal views, together with a myth debunking section would bring something fresh to the subject, mostly covered by travel photo galleries and mid-1990s look of few online books. Work started in 2004, first as pure writing using a gem of software called Keynote (not Apple’s presentation tool), and then, in late 2007, I moved in, migrating content to XML, while last months were spent on heavy XSLT/XHTML/CSS work.

Keynote saves

Keynote is an open-source tabbed notebook, its interface remotely resembling a classical website with tabs (notes) and navigation trees holding single articles (nodes). For versioning purposes I used a nice export feature, which split entire book into single nodes, which were then stored in SVN repository. This proved very useful because the author used to review and change almost every article until the very end. Diff ‘Em All became my content prayer.

markup invests

Now to XML. I needed a standard and TEI was the best choice because DITA and Docbook are too technical and I just didn’t want to stare at <procedure>, <step> and <guimenu> tags in my editor’s insert XML helper window. Initially, I invented my own markup but dropped the idea, fearing to be slashed with Ockham’s razor. One XSLT stylesheet migrated what was already done to TEI. Rest was jEdit with its awesome editing capabilities.

indexing embraces

The idea of custom indexing indiaguide.pl originated when I realized the incredible amount of names, terms and other index-friendly material. TEI doesn’t particularly support indexing (nor does it discourage it), and it all relied on nested grouping with XSLT 2.0. This technique will be covered in a dedicated post on this blog, soon to come.

SVG curves

Inkscape was a main graphic editor here. So far little deep SVG work was done, such as data-driven graphics or even hand editing, but things will change when a map section will be added in the beginning of 2009. I plan to mark locations using geo coordinates and convert it to SVG.

CSS rounds

The main reason to mention CSS here is the transition from single file or chaotic includes structure to a cleaner solution. There is one main CSS file for @import statements with #id layout declarations and several files holding separate definitions for font, color, box (block), table, browser defaults reset (normalize), IE6, IE7 and FX (non-standard).

I also chose to round corners of some DIVs with proprietary CSS, which is supported by Firefox and Safari, as I personally hate image based techniques for this. So there are two aspects of the website, rectangle (for IE) and rounded, which is relatively small figure when compared with the number of hindu god incarnations.

Opera is behind with CSS defined radius, but the new SVG background support feature, introduced with 9.50 version, should provide a good alternative.

conclusion

The indiaguide.pl experience will probably lead to creating a flat file framework for developing static websites using XML single-sourcing concept. Leading actors are already in place:

  • Keynote (or another tabbed notebook),
  • TEI (or another industry XML dialect),
  • XSLT 2.0

And supporting characters include:

  • XSL-FO – for PDF output,
  • project documentation – now it’s something for DITA or Docbook,
  • spell checking environment – will require output to ODF,
  • XML native database - for rapid queries using XQuery

And here is main page of indiaguide.pl:


Follow

Get every new post delivered to your Inbox.