Web Development

XSLT и поисковики

Провел давно обещаное исследование о том как сайты на основе XSLT индексируются поисковиками.

Проверялось на примере avalon.com.ru

1) Google

Индексирует, игнорируя стили. Отчасти даже лучше — оформление не попадает в индекс и не мешается при поиске, но для полноты индексации надо делать sitemap.

2) Yahoo!

Применяет стиль и индексирует результат. Вах! То, что надо.

3) Yandex, Rambler, Aport, Microsoft Baidu

Никак. Стыд и позор!

Что ж… к сожалению, такой технически удачный подход к созданию сайтов слегка нежизнеспособен.

Правда, выход есть — прогонять XML через серверный скрипт, который при необходимости (для поисковиков или неподдерживаемых браузеров) будет применять стиль прямо на сервере, а иначе просто отдавать чистый XML.


Маленькое исследование HTML5 Multimedia

А точнее, поддержка элементов audio и video в современных браузерах.

Для проверки были сделаны 2 странички и использованы 4 мультимедиа файла в форматах mp3, ogg vorbis, ogg theora, x264/mp4

Итак… на сегодняшний день audio и video поддерживают:

  • Mozilla Firefox 3.5 RC (Windows, Linux) — скорее всего станет первым стабильным браузером с этой фичей
  • Mozilla SeaMonkey 2.0b1 (Windows, Linux) — ну… логично
  • Arora 0.7.1 (Linux). Виндовая почему-то не хочет…
  • Google Chrome 3.0 (Windows) — тоже пока еще development branch. Единственный конкурент Мозиллы на право первенства. Версия же под Linux пока вообще ничего не умеет

MSIE как всегда в пролете. Opera в мейнстрим пока свои наработки пускать не хочет. Safari вопреки слухам тоже пока поддержкой не обзавелся. (возможно, слухи были про MacOS)

Поддержка форматов
Где указаны 2 формата, было использовано несколько источников для элемента (см. код под катом)

Mozilla Arora Chrome
mp3 - - -
ogg + + +
mp3, ogg ogg - ogg
ogg, mp3 ogg - ogg
mp4 (h264) - - +
ogv (theora) + + +
mp4, ogv ogv - mp4
ogv, mp4 ogv - ogv

Google Chrome понял формат mpeg, но всё равно предпочел ogv в обоих случаях независимо от порядка указания. Он просто хочет audio/mp4 в качестве MIME-типа. Подправил код и Хром сразу стал вести себя логичнее.

Arora почему-то не поняла множественные источники.

Код страничек (под катом): (continue reading…)


SemiGreen for phpBB

semigreen В рамках операции “смена деятельности чтоб не сдохнуть” подкорректировал и обновил шкурку SemiGreen для phpBB от товарища Semi Deus, который забросил ее в районе версии для phpBB 3.0.0

Половину шаблона выкинул — теперь используется наследование из prosilver, так проще стало поддерживать тему в актуальном состоянии. Убрал ужасное чередование цветов в просмотре тем форума и сообщений темы. К сожалению, немного попортил заголовки таблицы. Переименовал тему в SemiGreen CA. Отчасти, потому что моя редакция, пусть и немного было работы, отчасти потому, что ее нельзя скопировать поверх старой — необходимо удалять и ставить заново, иначе не подхватит механизм наследования (появился в phpBB 3.0.3)

Скачать можно с моего сайта:
http://home.sunchaser.info/articles/web/phpbb/style-semigreen.html


BrowserShots

BrowserShots — это сервис, позволяющий получить скриншот вашего сайта в любом из довольно внушительного списка браузров на разных платформах.

Очень полезно при проверке верстки в старых браузерах или на отсутствующих у разработчика платформах.


<audio> and <video>

Как, должно быть многим известно, новый веб-стандарт HTML5 включает в себя теги <audio> и <video>. Как известно чуть меньшему числу народа, эти теги уже вполне себе работают в Mozilla Firefox 3.1. Что ж. Мне стало интересно и я установил этот Фокс себе на виртуальную вянду.

Что ж, работает… Поддерживает кодеки Vorbis (аудио) и Theora (видео). mp3 не держит, что логично. pcm должен по стандарту, но я не проверял. Контейнеры тоже не проверял, но похоже, что ограничено ogg/ogm/ogv и должен бы быть wav (по стандарту), и если повезет, avi (хотя если всё равно либо несжатый, либо Theora… какой от него плюс?).

В качестве теста подправил пост про “Оду к радости”. Теперь если ваш браузер поддерживает <audio>, вы увидите что-то вроде такого:

audio

Код выглядит вот так:

  1. <audio src="/wp-content/uploads/2008/05/european_anthem_long.ogg" controls="true">
  2.     <a href="/wp-content/uploads/2008/05/european_anthem_long.ogg">скачать</a>
  3.     <strong>(ваш браузер не поддерживает тег AUDIO)</strong>
  4. </audio>

т.е. фактически, проще некуда.


XSLT and Web

XSLT (Extensible Stylesheet Language Transformations) — часть спецификации XSL, задающая язык преобразований XML-документов. Спецификация XSLT является рекомендацией W3C.[1]

Обычно XSLT в вебе используется для преобразования XML-документов в XHTML на стороне сервера. В результате получается обычная HTML-ка, которая передается в браузер. Это не интересно и никак не отражает некоторых прелестей XSLT-преобразования.

Работа с XML и, в частности, XSLT-преобразование является стандартной функцией современных браузеров. Почему бы не заюзать преобразования на стороне клиента?

Выглядит, скажем, наша главная страница как

  1. <page title="Главная">
  2. <hello/>
  3. <search/>
  4. <newsblock>
  5. <news date="2009-01-02" link="/page1.xml">Новость</news>
  6. <news date="2009-01-12" link="/page2.xml">Еще новость</news>
  7. </newsblock>
  8. </page>

И уже в браузере формируется в приветствие, блок поиска и блок новостей и оборачивается в оформление сайта.

Такой подход используется, например на сайте starcraft2.com и сайте avalon.com.ru, над которым я время от времени и колдую.

Посмотрим на достоинства и недостатки:

Достоинтсва:

  1. Разделение данных и представления. Это типа хорошо и этого всегда добиваются
  2. Снижение нагрузки на сервер. Точнее, на вебовский фронт-энд, так как ему уже не надо по куче шаблонов формировать удобочитаемое представление
  3. Снижение трафика. Шаблоны достаточно скачать один раз и закешировать. Собственно, тот же эффект, что и от CSS

Недостатки:

  1. Требуется более высокое качество кода. Корявый HTML коряво отображается. Корявый XML не отображается вообще (на самом деле это достоинство, но моду диктуют “индусы” и другие быдлокодеры)
  2. Нагрузка на клиента. Современные браузеры на XSLT-страничках заметно подтормаживают, особенно, разумеется, Internet Explorer. Тонкий клиент как бы “толстеет”
  3. Browser Wars. Стоит просто у валидной XHTML-странички сменить тип с text/html на text/xml, сразу же всплывают какие-то странные несовместимости у браузеров. А, например, открытые реализации KHTML/WebKit (напр, Konqueror и Arora) вообще XSLT не понимают

Непонятки:

  1. Поисковики. Как поисковики относятся к XSLT? А хз. Требует дополнительного исследования

В целом, снятие нагрузки с интерпретатора на сервере и с моих мозгов перевешивает для меня минусы подхода. В скором будущем напишу подробнее о поддержке браузерами и, если что узнаю, поисковиками


Gravatar Checker Update

Подправил чекер. Теперь он отображает авы независимо от рейтинга, а если ава не найдена — геометрическую фигню, которая для разных e-mail’ов разная. Так хоть видно, что работает.

Рабочая версия теперь доступна на http://home.sunchaser.info/gravatar.phtml. Понимает запросы вида http://home.sunchaser.info/gravatar.phtml?email=your@e.mail

Исходники (всё там же):
gravtar.htm – рабочая страничка
md5.js – библиотечка md5


Gravatar Checker

a.k.a. JavaScript Gravatar Implementation, написанный от скуки минут за 10. Правда, потом ещё долго отлаживался, потому что я совсем позабыл JavaScript >__<

Может быть использована для проверки работы Gravatar, если вы не доверяете тестовой страничке самого сервиса. ВЫводит картинку размером 256×256. Если Gravatar для введенного e-mail не найден, выводит символ Gravatar. Рабочий вариант — под катом.

Была использована сторонняя библиотечка для рассчета хэша md5.

Исходники:
gravtar.htm – рабочая страничка
md5.js – библиотечка md5

(continue reading…)


  • FeedBurner

  • Calendar

    February 2012
    M T W T F S S
    « Jan    
     12345
    6789101112
    13141516171819
    20212223242526
    272829  
  • Archives

  • Categories

  • SunChaser on Twitter

    • @voxpuibr пацан к успеху шел, фигли 1 day ago
    • @Vedma2102 Костер-Валдау что ли? 1 day ago
    • @zeleboba палево потому что. если только свою сделают 1 day ago
    • RT @read_the_tweet: Не хватает человеческого тепла? Подкинь еще людишек в печь. 3 days ago
    • @zeleboba культуру. ну и из кухни есть стоящие вещи. по названиям, правда, не скажу 4 days ago
  • Copyright © 1996-2010 Chase Your Dreams!. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress