Создание почтовых пакетов канцелярской бумаги
Почтовая Канцелярская бумага является новой функцией в Mac OS v10.5, который позволяет пользователям настраивать свои электронные письма с предопределенными шаблонами канцелярской бумаги. Каждый шаблон канцелярской бумаги является пакетом, содержащим все файлы, должен был вывести на экран канцелярскую бумагу.
Пакеты канцелярской бумаги
Шаблон канцелярской бумаги является папкой пакета с расширением файла .mailstationery
. В корневой папке папка Contents, и в этом папка Resources. Все файлы в пакете канцелярской бумаги расположены в папке Resources.
Список свойств описания
Description.plist
файл служит оглавлением, описывающим все другие файлы в папке канцелярской бумаги. Описание является словарем со следующими ключами и значениями:
Имя папки — имя канцелярской бумаги связывает папку на диске, включая
.mailstationery
расширение. Требуемый.Имя дисплея — имя шаблона, поскольку это показано пользователю. Эта запись не необходима, если имя дисплея дано в оглавлении категории или если локализованное имя дисплея доступно. Если никакое имя дисплея не предоставляется ни в одном из этих расположений, имени папки, минус
.mailstationery
расширение, используется в качестве имени дисплея. Для получения информации о локализации этой строки посмотрите Локализацию.Канцелярская бумага ID — уникальный идентификатор для шаблона канцелярской бумаги. Если эта запись отсутствует, Почта генерирует тот.
Файл HTML — имя файла HTML, включая любые расширения. Требуемый.
Изображение миниатюр — имя файла, содержащего изображение миниатюр шаблона. Изображение показано в области канцелярской бумаги Нового Окна сообщения. Требуемый.
Фоновые изображения — массив имен любых изображений, на которые ссылаются как фоновые изображения в HTML. Требуемый, если шаблон имеет какие-либо фоновые изображения.
Мозаичное Фоновое изображение — имя изображения, служащего фоном для всего шаблона. Это имя должно также появиться в фоновом режиме запись Изображений. Требуемый, если шаблон имеет фоновое изображение для элемента организации или другого элемента, охватывающего все визуальное содержание.
Изображения — массив имен любых локальных изображений, в которых ссылаются
IMG
элементы в HTML. Требуемый, если HTML шаблона имеет кого-либоIMG
элементы с локальным URLs.Составные Изображения — массив словарей, каждого словаря, представляющего одно составное изображение, упомянут в файле HTML шаблона. Ключи и значения словаря составного изображения описаны ниже. Посмотрите Составные Изображения для получения дополнительной информации о
IMG
тег и изображения компонента. Каждое составное изображение, упомянутое в файле HTML, должно иметь запись. Каждый из ключей, описанных ниже, требуется, если присутствует изображение, которое он идентифицирует.Составное Имя — значение
SRC
атрибут вIMG
тег, представляющий составное изображение.Базовое изображение — имя файла изображения, формирующего основу или фон, составного изображения.
Изображение наложения — имя файла изображения, которое будет использоваться в качестве верхнего слоя составного изображения.
Маски — массив словарей, с каждым словарем, соответствующим одному файлу маски. Словари должны быть в слева направо, порядок от начала до конца зон отбрасывания, которые они описывают. Каждый словарь должен иметь следующие ключи. Для значений, включающих систему координат, источник, как должно предполагаться, в нижнем левом углу рисунка маски, и модули находятся в пикселях.
Имя файла — имя файла рисунка маски.
Изображение заполнителя — имя файла изображения заполнителя.
Смещение Зоны отбрасывания — позиция, куда должен быть помещен нижний левый угол изображения пользователя. Это - массив целых чисел (x, y).
Угол Зоны отбрасывания — угол, измеренный в градусах, через которые должно быть повернуто изображение пользователя. Углы измеряются против часовой стрелки.
Размер Зоны отбрасывания — ширина и высота, к которой должно масштабироваться изображение пользователя. Это должно быть массивом целых чисел (ширина, высота).
Файл HTML
Файл HTML определяет содержание канцелярской бумаги. Это может содержать любой допустимый HTML, выведенный на экран правильно в общих почтовых клиентах. Это не должно содержать JavaScript. Следующие несколько разделов описывают другие определенные типы элементов HTML и содержания.
Содержимое HTML
По умолчанию содержание канцелярской бумаги не быть доступным для редактирования пользователем. Каждая область документа, который может отредактировать пользователь, должна быть окружена элементом (например, DIV
или a SPAN
) с contenteditable=YES
атрибут.
Меры предосторожности должны быть приняты для обеспечения совместимости общими приложениями почтового клиента, которые часто намного менее способны, чем большинство веб-браузеров при отображении HTML.
Динамические элементы
Динамические элементы являются заполнителями, которые могут быть вставлены в HTML канцелярской бумаги. Когда канцелярская бумага загружается в Новое Окно сообщения, динамический элемент заменяется статическим содержанием. Динамический элемент указан в HTML a SPAN
элемент с именем класса AppleStationeryDynamicElement
. Любой HTML, содержавшийся в SPAN
элемент отбрасывается, когда канцелярская бумага загружается кроме тех случаев, когда не может быть вставлено желаемое содержание. В этих случаях, содержании SPAN
выведен на экран. Тег span должен также иметь a apple-content-type
атрибут, указывающий, каково заменяющее содержание должно быть. Например, значение full-name
для apple-content-type
указывает, что динамический элемент должен быть заменен полным именем пользователя. Следующие значения для apple-content-type
доступны:
full-name
- Полное имя пользователя от Меня карта в Адресной книге.
first-name
- Имя пользователя от Меня карта в Адресной книге.
email
- Адрес электронной почты учетной записи, используемой для отправки сообщения.
date
- Текущая дата.
Динамический элемент типа date
должен также иметь a date-format
атрибут. Его значение является строкой формата, как используется Какао NSCalendarDate
класс.
Изображения
Локальные изображения, предоставленные как ресурсы в пакете канцелярской бумаги и сосланные в IMG
теги или как фоновые изображения встраиваются в сообщение, когда оно отправляется. URL в каждом IMG
тег или фоновый атрибут должны быть путем относительно папки Resources пакета канцелярской бумаги. Все IMG
элементы должны иметь атрибуты ширины и высоты с абсолютом, не относительным, значения.
Составные изображения в HTML
Составное изображение состоит из одного или более изображений от пакета канцелярской бумаги, разделенных на уровни вместе с изображениями, предоставленными пользователем для создания единственного изображения.
Составное изображение указано в HTML с IMG
тег, чей SRC
атрибут является именем составного изображения. Это имя Composite Name
указанный в файле Описания. Конечный пользователь может видеть это имя, таким образом, это должно быть что-то, что было бы надлежащим как имя файла. IMG
тег должен иметь имя класса AppleCompositeImage
.
Для получения дополнительной информации о составных изображениях, посмотрите Составные Изображения.
Изображения
Изображения, на которые ссылаются IMG
теги или как фоновые изображения должны быть включены в папку Resources пакета канцелярской бумаги. Они должны также быть перечислены в Images
или Background Images
запись в Описании. Когда сообщение отправляется, данные для этих изображений включены в сообщении.
Составные изображения
Составные изображения обеспечивают путь к шаблонам для включения изображений, предоставленных пользователем более привлекательными и сложными способами, чем обычные сообщения могут предоставить. Составное изображение обеспечивает статическое фоновое изображение, содержащее определенные области, где пользователь может отбросить его или ее собственные изображения. Изображения пользователя измерены и повернуты по мере необходимости для адаптации зонам отбрасывания. После пользовательскых изображений разделен на уровни поверх основы или фонового изображения, изображение наложения, обычно главным образом прозрачное, может быть составлено на вершине при желании.
Составное изображение составлено из фонового изображения, одна или более масок, определяющих зоны отбрасывания для изображений пользователя, и дополнительно изображение изображения наложения, которое будет составлено поверх пользовательскых изображений. Также возможно обеспечить пользовательскые изображения заполнителя, показанные в зонах отбрасывания, пока пользователь не заменяет их его или ее собственными изображениями.
Каждый рисунок маски определяет область, где пользователь может отбросить изображение. Единственные данные в использующейся маске являются альфа-каналом. Когда пользователь отбрасывает изображение в зоне отбрасывания, изображение быть повернутым для соответствия базового края зоны отбрасывания, если это не горизонталь. Это тогда измерено, поддержав его пропорции, так, чтобы это просто покрыло всю зону отбрасывания, и расположенный по зоне отбрасывания. Затем, альфа от маски установлена как альфа для изображения пользователя.
Когда сообщение отправляется, компоненты составного изображения и пользовательскых изображений составляются вместе для формирования единственного изображения, отправляющегося как часть сообщения. Отдельные компоненты и изображения отдельного пользователя не отправляются.
Если HTML канцелярской бумаги содержит какие-либо ссылки для составления композита изображений, файлы, используемые для создания составного изображения (за исключением тех, которые предоставляются пользователем, конечно) должен быть включен в папку Resources пакета канцелярской бумаги. Они должны быть идентифицированы с Базовым изображением, Изображением Наложения, и Маски вводят раздел Description, как описано выше.
Заключительное изображение создается с Универсальным RGB colorsync профиль так любые другие изображения в tempate, цвета которого должны соответствовать, у этого должен быть тот же самый профиль colorsync.
Изображение миниатюр
Каждый пакет канцелярской бумаги должен содержать изображение миниатюр канцелярской бумаги. Изображение миниатюр должно иметь размерности 69x90 пикселей.
Изменяющая цвет канцелярская бумага
Когда пользователь щелкает по фону в Новом Окне сообщения или щелкает по изображению миниатюр в области выбора канцелярской бумаги, некоторые шаблоны канцелярской бумаги могут изменить цвета. Например, посмотрите шаблон Daisies Apple. Для такого шаблона файл HTML является почти тем же для обычного шаблона, но пакет содержит многократные версии некоторых или все изображения, и словарь Описания содержит некоторые дополнительные и измененные записи для описания цветных изменений. Цветные изменения могут влиять на фоновые изображения, изображения переднего раздела и шрифты текста, указанные в элементах шрифта в HTML.
Файлы образа
Для любого изображения, изменяющего цвет, пакет канцелярской бумаги должен содержать отдельный файл изображений для каждого из требуемых цветов. Изображение, не изменяющее цвет, когда шаблонные изменения нуждается только в одном файле образа. Изменения, необходимые в файле Описания, описаны ниже. Имена цветов, используемых в этих записях, не видимы пользователю.
Список свойств описания
Изображения — Для шаблона, который может изменить цвета, каждое из названий картинки в этом массиве, должны быть заменены словарем, ключи которого являются доступными цветами. Значение для каждого цвета должно быть именем файла образа. Когда цвета изменений канцелярской бумаги, ее запись должна все еще быть словарем, даже если не изменяется изображение. Словарь каждой записи должен содержать полный набор цветов.
Фоновые изображения — Эта запись должна быть изменена, как описано выше для записи Изображений.
Составные Изображения — Базовое изображение и Изображение Наложения. Эти записи должны быть изменены, как описано выше для записи Изображений.
Цвета шрифта — Эта запись обеспечивает средние значения для одного или более шрифтов, указанных в HTML для изменения цвета. Запись является словарем, ключи которого являются именами классов элементов шрифта HTML, цвета которых должны измениться. Посмотрите, что раздел описывает файл HTML для получения дополнительной информации об именах классов. Значение, связанное с каждым именем класса, является словарем, ключи которого являются доступными цветами и чьи значения являются значениями цвета HTML. Эти значения цвета должны быть строками, которые появились бы в HTML, например
#a4b936
.Цвет по умолчанию — Эта запись дает имя цвета, загружающегося, когда пользователь сначала выбирает шаблон. Изменение этой записи не заставляет различный цвет загружаться первоначально; скорее эта запись говорит приложение, на какой набор изображений и цветов шрифта ссылаются в HTML.
Прямоугольник буквы — Эта запись описывает часть канцелярской бумаги, за пределами которой пользователь может щелкнуть для изменения цвета. Обычно, эта область является прямоугольником, который похож на листок бумаги. Это - словарь с двумя Ключевыми верхними полями и Шириной. Значение Верхнего поля должно дать расстояние в пикселях между вершиной представления и вершиной области буквы. Ширина должна дать ширину в пикселях области буквы. Почта предполагает, что HTML записан так, чтобы область буквы всегда центрировалась в представлении.
Файл HTML
Для цвета шрифта для изменения это должно быть указано как атрибут цвета в элементе шрифта в HTML, и элемент шрифта должен иметь имя класса. Все элементы шрифта, имеющие те же значения цвета, могут совместно использовать то же имя класса. Это имя класса используется в качестве ключа в записи цветов шрифта файла Описания.
Установка канцелярской бумаги
Пакеты канцелярской бумаги установлены в одном из двух расположений: /Library/Application Support/Apple/Mail/Stationery
или ~/Library/Application Support/Mail/Stationery
. Однако пакеты канцелярской бумаги не помещаются непосредственно в этих папках. На корневом уровне любого из этих расположений папка компании. По умолчанию уже существует папка компании Apple для всех предварительно установленных шаблонов канцелярской бумаги. Эта папка компании упоминается как пакет компании.
Как пакет канцелярской бумаги, пакет компании содержит список свойств оглавления и папку Contents, которая, в свою очередь, содержит папку Resources. Папка Resources может содержать список свойств оглавления вместе с папкой для каждой категории канцелярской бумаги. Когда пользователь выполняет Почту, шаблоны канцелярской бумаги от всех пакетов компании объединяются вместе, когда представлено пользователю. Если многократные пакеты категории найдены с тем же именем дисплея, их шаблоны объединяются в единственный список, и пользователь рассматривает их как единственную категорию. Посмотрите рисунок 1.
Файл оглавления содержит массив словарей, каждый из которых описывает одну категорию (для пакета компании) или одного пакета канцелярской бумаги (для пакета категории). Порядок записей в словаре определяет порядок, в котором шаблоны канцелярской бумаги или категории выведены на экран пользователю. Если оглавление отсутствует или неполное, Почта находит пакеты канцелярской бумаги или категории, отсутствующие в оглавлении, и выводит на экран их пользователю.
Почтовые пакеты канцелярской бумаги установлены в папках категории, известных как пакеты категории. Если канцелярская бумага должным образом установлена, структура каталогов должна быть похожей на рисунок 2.
Локализация
Некоторые ресурсы в канцелярской бумаге, категории и пакетах компании могут быть локализованы с помощью папок проекта локализации. Почта использует значения в English.lproj
папка как значения по умолчанию, когда это не может счесть значения локализованными для других языков.
Пакеты канцелярской бумаги
Можно локализовать имя дисплея пакета канцелярской бумаги путем помещения его в файл локализованных строк в пакете канцелярской бумаги вместо в списке свойств описания или оглавлении категории. Строковый файл нужно назвать DisplayName.strings
, и ключ для записи должен быть Display Name
.
Пакеты категории
Имя дисплея категории может быть локализовано путем помещения его в файле локализованных строк в пакете категории вместо в TableOfContents.plist
файл пакета компании. Строковый файл нужно назвать DisplayName.strings
, и ключ для записи должен быть Display Name
.