wiki:Стили_окна_сообщений

Стили_окна_сообщений

MDC, благодаря встроенной поддержке движка WebKit, может использовать стили сообщений в чате, созданные для Adium. Формат стилей основан на шаблонах HTML и CSS. Всё что нужно - знание основ HTML и CSS.

Расположение папок и файлов в стиле

\uithemes\messagewindow\ (путь до стиля окна сообщений)
                        styleName\ (название стиля, которое будет отображаться в настройках внешнего вида MDC)
                                   Contents\
                                            Info.plist
                                            Resources\
                                                      main.css
                                                      Header.html
                                                      Footer.html
                                                      Status.html
                                                      Incoming\ (и также Outgoing\)
                                                      Content.html
                                                      NextContent.html (для нескольких последовательных сообщений)
                                                      Context.html (для истории сообщений)
                                                      NextContext.html
                                                                 
                                            Variants\
                                                    *.css

Шаблоны HTML

  1. Header.html
    • Шаблон отображения начало беседы
  2. Footer.html
    • Шаблон окончания беседы
  3. Status.html
    • Шаблон сервисных и служебных сообщений в чате, таких как сообщения о смене статуса, х-статуса и т.п.
  4. Incoming/Content?.html, Outgoing/Content?.html
    • Шаблон ядра сообщения. Убедитесь, что он сделан с учётом последовательных сообщений, а не только одиночных.
  5. Incoming/NextContent?.html, Outgoing/NextContent?.html
    • Шаблон NextContent - это фрагмент блока сообщений для последовательных сообщений.

CSS-файлы и варианты

Файл стиля, где варианты - лишь ответвления от основного стиля. Примером вариантов могут быть разные цвета элементов, отсутствие аватаров, их расположение и т.п. main.css и варианты импортируются в окончательную HTML-страницу.

  1. main.css
    • Главный CSS-файл, который является основным для всех вариантов. Он должен содержать главное описание стиля.
  2. Variants
    • Variants - это CSS-файлы, лежащие в каталоге Variants/. Каждый вариант - один CSS-файл, который включает в себя main.css + изменения. Данные варианты доступны в настройках внешнего вида MDC после выбора стиля окна сообщений.

Пример файлы .css описывающего вариант

@import url('../main.css');
.avatar {
    display: none;
}
.content {
    margin-left: 0;
    min-height: 0;
}
.status_message {
    padding-left: 0;
}

Ключевые слова

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

Список ключевых слов для шаблонов Header и Footer

  1. %chatName%
    • Название текущей чат-сессии.
  2. %incomingIconPath%, %outgoingIconPath%
    • Это ключевые слова для отображения аватаров/фото собеседников. Incoming представляет аватар собеседника, а Outgoing - ваш аватар.

Список ключевых слов для шаблонов Content, NextContent, Context, NextContext, Action, Status

  1. %userIconPath%
    • Это аватар контакта, связанный с сообщением. Если аватара нет, он использует картинку buddy_icon.png, лежащую в папке Incoming и Outgoing стиля, в зависимости от типа сообщения (входящее/исходящее).
  2. %sender%
    • Отображение имени контакта, связанное с сообщением. Как источник, используется имя метаконтакта.
  3. %service%
    • Отображение названия службы, связанное с сообщением. Примеры: Jabber, ICQ, MSN.
  4. %message%
    • Текстовое сообщение. Это фрагмент HTML.
  5. %time%, %time{X}%
    • Отображение времени получения сообщения. %time% использует стандартный формат отображения времени в вашей системе. Если вы хотите настроить особые параметры отображения времени, используйте %time{X}%, где X - строка, содержащая нужный формат.

Пример файла Content.html

<div class="container">
    <div class="avatar">
        <img src="%userIconPath%" />
    </div>
    <div class="content">
        <div class="sender incoming">%sender% </div>
        <div class="time">%time%</div>
        <div class="message">%message%</div>
        <div id="insert"></div>
    </div>
</div>

Пример файла Status.html

<div class="status_container">
    <div class="status_message">%message%</div>
    <div class="time">%time%</div>
</div>
<div id="insert"></div>

Информация о теге <div id="insert"></div>

<div id="insert"></div>

Специальный тег для внутреннего использования. Это тег для резервирования места для последовательного сообщения (сообщения от контакта, идущее сразу за предыдущим, без вашего ответа). Если это новое сообщение (от вас) - тег убирает резерв и на его место вставляется ваше сообщение. Однако, если это последовательное сообщение, этот тег заменяется его содержанием. Тег необходимо разместить в шаблонах Content, Context, NextContent, NextContext.

Где можно взять готовые шаблоны окна сообщений:

Описание не полное и будет дополнено в ближайшее время.