Posty oznaczone jako ‘TEI’

Rusza www.indiaguide.pl

sierpień 10, 2008

Uznałem uruchomienie www.indiaguide.pl za dobry początek tego bloga, zważywszy, że temat zahacza o połowę spraw, które będą tu poruszane.

początki

Spotkałem autorkę, Danutę Orlewicz, na początku 2004 roku podczas prezentacji na temat Nepalu. Okazało się, że jest doświadczonym przewodnikiem, prowadzącym od 1999 roku wycieczki na subkontynent indyjski. Szybko ustaliliśmy, że robimy stronę o Indiach, jej doświadczeniach i poglądach, przy okazji obalając mity narosłe wokół tamtej kultury. Chodziło mi także o odświeżenie formuły pisania o tak odległym kraju jak Indie i wyjście poza schemat dziennika podróży albo gigantycznej galerii zdjęć. Praca trwała od 2004 roku, początkowo jako pisanie w świetnym programie Keynote (nie chodzi o narzędzie Apple do prezentacji), aż w końcu 2007 wkroczyłem do akcji migrując teksty do XML, by przez kilka ostatnich miesięcy rzeźbić w XSLT, XHTML i CSS.

Keynote zbawił

Keynote to program open-source z kategorii notatnik z zakładkami, którego interfejs przypomina klasyczną strukturę strony WWW, z zakładkami (tabs) i drzewami nawigacji po pojedynczych tekstach (nodes). Jedna z opcji eksportu pozwala na podział treści i zapisanie każdego tekstu w osobnym pliku. W połączeniu z wersjonowaniem w SVN okazało się to zbawienne, ponieważ autorka do ostatniej chwili wprowadzała zmiany w wielu tekstach.  Diff ‘Em All stał się mantrą projektu.

XMLandia

Potrzebowałem standardu i TEI był najbardziej odpowiednim wyborem, ponieważ DITA i Docbook są zbyt techniczne, a nie chciałem, by przy opracowywaniu książki o Indiach latały mi przed oczami znaczniki typu <procedure>, <step> czy <guimenu>. Właściwie to początkowo używałem własnych tagów, ale zrezygnowałem w obawie przed zaszlachtowaniem brzytwą Ockhama.  Jeden arkusz XSLT i książka siedziała już w TEI. Reszty dokonał jEdit, wymiatający we wszelkich dziedzinach edycyjnych.

Index ‘Em All

Gdzieś w połowie pracy zdałem sobie sprawę, że sam tekst, choćby nie wiem jak rozsądnie zorganizowany, to za mało.  Dostrzegłem też stale rosnącą liczbę nazw, osób i pojęć, z którym wszystkie znane są tylko osobom doktoryzującym się w każdym aspekcie Indii. TEI niespecjalnie wspiera indeksowanie, to zresztą jest zadanie dla aplikacji przetwarzającej XML, a nie takiego czy innego znacznika. Zadanie zatem spoczęło na XSLT 2.0, a ściślej mówiąc, na zagnieżdżonym grupowaniu. Ale o tym napiszę w osobnym tekście.

Strasznie Vyborna Grafika

Początkowo użyłem Inkscape nawet do projektowania layoutu strony, ale narzędzia do cięcia (slice) są mocno niedopracowane, a w zasadzie w ogóle ich nie ma. Skończyło się na typowej grafice na krzywych i  konwersji fotografii na wektor. Jakaś głębsza praca z SVG jeszcze nie nastąpiła, chociaż myślę o dodaniu rozmaitych map Indii, a to aż się prosi o dynamiczne generowanie z mapowaniem współrzędnych geograficznych na koordynaty SVG.

Już się nie mylę, mam zorganizowane style

Pod koniec prac na indiaguide.pl wprowadziłem bardziej uporządkowaną strukturę CSS, separując w osobnych plikach deklaracje dla typografii, kolorów, bloków, tabel, IE6, IE7 i efekty specjalne oraz arkusz resetujący domyślne style przeglądarek.

Odnośnie zaokrągleń w Firefox i Safari oraz kantów w IE – to jest celowe, jak dają border-radius to brać. Techniki używające obrazków są dla mnie denerwujące, tym bardziej, że ciągle pojawiają się nowe i trzeba to monitorować. Czyli strona ma dwa aspekty, co i tak wypada blado w porównaniu z ilością inkarnacji bogów hindu.

Operę zostawiłem na później z uwagi na nową cechę wersji 9.50, a mianowicie używanie tła w SVG (czyli skalowalnego).

podsumowanie

To zapewne nie jest ostatni projekt z użyciem wyżej wymienionych technik, a następny chciałbym już robić według ustalonego framework, pozwalającego na generowanie statycznych WWW z XML. Główna obsada to z pewnością:

  • Keynote (lub podobny edytor),
  • TEI (lub inny popularny standard XML),
  • XSLT 2.0

I do tego w rolach drugoplanowych:

  • XSL-FO – generowanie PDF,
  • dokumentacja – tutaj już można użyć DITA lub Docbook,
  • kontrola pisowni – będzie wymagać transformacji do ODF,
  • natywna baza XML – dla szybkich zapytań w XQuery

A tak wygląda strona główna indiaguide.pl: