2007-11-21

HTMLayout. Неявная модификация DOM-tree

Существует несколько ситуаций, когда генерируемое HTMLayout DOM-дерево не соответствует передаваемый пользователем html. Знания об этих исключениях необходимы для правильной записи селекторов и манипуляций с DOM-деревом.

  1. Чаще всего HTMLayout изменяет DOM-tree для упрощения форматирования строк внутри структурных блоков (например div-ов). В таких случаях HTMLayout обрамляет строку тегом text. Простой пример применения этого правила можно найти в спецификации CSS 2.1 http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level

  2. В некоторых случаях behavior может взять на себя обязанности по "достраиванию" DOM-tree, что позволяет упростить html-код и избавить пользователя от рутинных описаний реализации. Типичный пример - упрощение комбобокса.
    <select name="Alignment" size="1">
    <option value="left">Left</option>
    <option value="right">Right</option>
    <option value="center">Center</option>
    </select>

    ( код взят из примера HTMLayoutSDK\html_samples\form-test.htm)
    Данная структура точно описывает семантику комбобокса с точки зрения человека, однако совершенно не годится для HTMLayout, поэтому строчки преобразовываются в
    <select name="Alignment" size="1">
    <caption value="center">Center</caption>
    <button role="dropdown" tabindex="-1"></button>
    <popup type="select">
    <option value="left">Left</option>
    <option value="right">Right</option>
    <option value="center">Center</option>
    </popup>
    </select>

  3. Особенность реализации таблиц внутри HTMLayout.
     <table>
    <tr><td colspan="2">colspan</td></tr>
    <tr><td>1</td><td>2</td></tr>
    </table>

    1. Первая строка будет иметь двух детей
    2. Хендл второго ребенка будет нулевым.


Отдельное спасибо Jim Epler за пост со ссылкой на HTML Encoder

2007-11-19

Цветовая схема

Насущный вопрос при создании программы - где взять симпатичную цветовую схему.

1. Стандартное решение - виндовая схема, морально устарела лет 10 назад. Критиковать ее настолько просто, что даже не хочется тратить на это время. Когда делал "свою" схему основанную на стандартной виндовой потратил столько времени, что даже не хочется говорить об этом вслух и получил довольно хреновое решение.
2. Самопал, несмотря на наличие качественных инструментов ( http://www.colorschemer.com/, http://kuler.adobe.com/) делать чудовищно сложно.
3. Остается тупо переть решения у крупных компаний и успешных продуктов.

Есть надежда, что упустил что-то очевидное. Задал вопрос на rsdn, может получится найти что-то интересное.

2007-11-16

HTMLayoutSpy. Последняя миля

Добил вчера последнюю фичу.
Направления для дальнейшей работы:
  • Оптимизация
  • Баг фикс
  • Наполнение "тривиальной функциональностью" - базовые механизмы готовы и отлажены, осталось вбить несколько простых строчек кода/настроить конфиг.
На следующей неделе планируется альфа.

Раньше всегда затягивал завершение последнего кусочка работы. После ряда таких ошибок, провел с собой работу и надеюсь рецидивов не будет. В любом случае, скоро узнаем :)
Хорошая свежая статья на тему Проблема последней мили , базовый термин из которой использован для заголовка.

2007-11-15

HTMLayoutSpy. Настройка логов


Так будет выглядеть настройка логов для спая. После реализации, идея о resizable-options уже не кажется такой изящной как казалась изначально :)

2007-11-09

Scroogled aka выгуглен

Симпатичная антиутопия на несколько страничек. На злобу дня.
Русская версия
Оригинал
via Бёрд Киви

Когда заходят разговоры теоретиков на тему "google is evil", вспоминается один старый (с год назад) пост шароварщика, который установив и попробовав кучу обновок: Sitemap, Google Analitycs и AdSense неожиданно проникся сознанием куда все катится :) Тут речь, конечно, не о нарушениях прайвиси, но о том, что гугл знает откуда ходит клиент, как часто приходит, сколько платит и (гугл) подкручивая результаты поиска, через AdSense может выкачивать из мелких вендоров столько денег, сколько захочет.
Поэтому я всеми руками за развитие Яху/ МС/ Яндекс/ новичков и здоровую конкуренцию :) По поводу новичков - это безусловно, утопия, но должно же быть хоть что-то светлое на антиутопичном фоне :)

2007-11-06

HTMLayout Spy о текущем

HTMLayout Spy плавно катится в альфа-версии. На этой неделе сделаю демку и выложу на htmlayoutlab.com - сайт давно пора обживать.

Сейчас Spy выглядит так:

История создания HTMLayout

Решил собрать всякие интересные факты о HTMLayout в одну кучу.
История создания HTMLayout