Эта страница содержит информацию о том, как настроить Ваши собственные шаблоны.
Каждый тег в шаблоне заключается в @[ ]@
и его параметры (если они есть)
заключаются в круглые скобки( )
.
Пример: @[*tag_name(tag_parameters)]@
где *
это
модификатор тега.
Модификатор тега | Имя модификатора тега | Пример |
# |
Начало цикла | @[#i.picture.count]@ ... повторяет этот код для каждой иллюстрации @[.i.picture.count]@ |
? |
Условный переход | @[?i.picture.count(>0)]@ ... показать этот код, если число иллюстраций больше нуля @[.i.picture.count]@ |
$ |
Начало секции | @[$PrintIndividualInfo]@
- Секция похожа на программу на системном языке. Секция
может иметь параметры, переданные ссылкой или значением. |
= |
Включить секцию | @[=PrintIndividualInfo]@
- Включить секцию $PrintIndividualInto |
. (dot) |
Конец цикла/ Условие/ Секция | Все циклы, условия или секции должны быть уничтожены сопоставительным тегом, начинающимся с точки. |
Вы можете указать кодировку в параметрах тега. Кодировка контролирует формат для вывода данного тега.
кодировка Тега | Описание Кодировки | Описание / Пример |
/H |
Кодировать в HTML Узнать больше |
переводит кодировку строки в HTML. Пример: " Муж &
Жена " => "Муж &
Жена " |
/R |
Кодировать в RTF |
переводит кодировку строки в RTF. Пример: " Привет {Ваше
имя} " => "Привет \{Ваше
имя\} " |
/T |
Кодировать в простой текст | Нет кодировки. Этот параметр может быть очень удобным, когда тег находится внутри скрипта. |
/J |
Кодировать в JavaScript | кодировать строку в JavaScript. Пример: " Муж &
Жена " => "Муж
\x26 Жена "Пример кода: название.документа='@[название.страницы(/J)]@' |
/E |
Выход | Вызов программу выхода () в
JavaScript Пример: " Муж & Жена " => "Муж%20%26%20Жена "" Муж + Жена " => "Муж%20%+%20Жена " |
/E+ |
Выход с + кодировкой | Вызов программы выхода ( , 1) routine
в JavaScript. Символ +
кодируется как %2B. Пример: " Муж +
Жена" => "Муж%20%2B%20Жена " |
/U |
кодировать URL | Это похоже на выход (), но
кодирует пробелы в %20. Если найдена обратная
косая черта /, она заменяется на прямую черту. Кавычки и другие специальные
символы также изменяются Пример: " http://www.genopro.com/my family/ "
=> "http://www.genopro.com/my%20family/ " |
Пример к списку всех супружеских пар:
@[#i.spouse.count]@ <--
Начало цикла
Spouse @[loop.nElement]@: @[i.spouse.name]@ <--
Теги внутри цикла (тело цикла)
@[.i.spouse.count]@ <--
Конец цикла
Если Вы хотите создать цикл внутри таблицы, Вы должны определить # как параметр, чтобы указать, что цикл содержит два тела.
Пример к списку всех супружеских пар внутри таблицы:
@[#i.spouse.count(#)]@Spouse @[loop.nElement]@ |
@[i.spouse.name]@ |
@[.i.spouse.count]@Spouse @[loop.nElement]@ |
@[i.spouse.name]@ |
Цикл может быть также использован, чтобы вызывать программы с
параметрами. В примере ниже цикл будет повторяться для каждой супружеской пары
вызыванием секции PrintFamilyInfo
и
передачей ссылки к семье как параметра.
@[#i.marriage.count]@ <--
Начало цикла
Тег внутри цикла (тело
цикла). Параметр
@[=PrintFamilyInfo(i.family)]@ <-- i.family
@[.i.marriage.count]@ <--
конец цикла
Сортировка цикла:
Вы можете определить сортировку содержимого цикла. Например, Вы можете вывести на экран список людей, отсортированный по отчеству, а не по фамилии. Вы можете указать параметр sort= и с сортивкой.
@[#i.count(sort=MLF)]@
Сортировка MLF устанавливается для сортировки по Отчеству, Фамилии и Имени. Другими словами, если два отчества совпадают, тогда сравнить их фамилии. Если фамилии совпадают, тогда сравнить имена.
Параметры сортировки для
тега @[#i.count]@ |
||
FML |
Сортировать по имени, отчеству и фамилии. | |
FLM |
Сортировать по имени, фамилии и отчеству. | |
MFL |
Сортировать по отчеству, имени и фамилии. | |
MLF |
Сортировать по отчеству, фамилии и имени. | Пример |
LFM |
Сортировать по фамилии, имени и отчеству. Это сортировка по умолчанию, если параметр sort= не задан. | |
LMF |
Сортировать по фамилии, отчеству и имени. |
сортировка семей с помощью тега @[#f.count]@
почти идентична сортировке @[#i.count]@
,
но должны быть указаны муж или жена.
Например, если Вы хотите сортировать Вашу семью по отчеству жены, Вы задаете
параметр sort=wMLF. Сортировка по умолчанию - по
фамилии мужа (sort=hLFM
). Нажмите сюда,
чтобы посмотреть примеры сортировки.
Условие - это тег, начинающийся с вопроса (?
)
и принимающий какое-либо значение - Истина или Ложь.
Если значение - Истина, то код внутри тела условия выводится в
составленные сведения. В любом случае, Вы можете использовать оператор не
(!
), чтобы инвертировать значение..
Условные Операторы
= |
Сравнение Равно (без учета регистра) | Пример |
!= |
Сравнение Не Равно (без учета регистра) | Пример |
== |
Сравнение Равно (с учетом регистра) | Пример |
!== |
Сравнение Не Равно (с учетом регистра) | Пример |
< |
Сравнение Меньше Чем | Пример |
<= |
Сравнение Меньше или Равно | |
<== |
Сравнение Меньше или Равно (с учетом регистра) | |
> |
Сравнение Больше Чем | |
>= |
Сравнение Больше или Равно | |
>== |
Сравнение больше или равно (с учетом регистра) | |
~= |
Содержит | Пример |
~== |
Содержит (с учетом регистра) | |
*= |
Сопоставление шаблонов (подстановочные символы ? и *) | Пример |
*== |
Сопоставление шаблонов (с учетом регистра) | |
E |
Пустой | Пример |
!E |
Не пустой | |
D |
Определенный | Пример |
!D |
Не определенный. | |
# |
Группировка циклов. Это условие оценивается как Истина, если значение тега отлично от его предыдущего повторения. | Пример |
Пример условия:
@[?i.picture.count(>0)]@ <--
Начало условия
@[i.name.first]@'s Picture Album
@[#i.picture.count]@ <-- начало цикла
@[i.picture.image(100x100)]@ <--
Показать иллюстрацию
@[.i.picture.count]@ <-- конец цикла
@[.i.picture.count]@ <--
Конец условия
В этом примере условие тестирует субъекта на наличие пристегнутых к нему иллюстраций. Если иллюстраций больше нуля, тело условия показывает имя и потом каждую иллюстрацию. Параметр (100x100) ограничивает размер иллюстрации до 100 на 100 пикселей. Любая большая иллюстрация сокращается до 100 пикселей.
Секция похожа на программу на системном языке. Секция
начинается с символа ($
) и заканчивается
сопоставительным тегом, предваренным точкой. Параметры
могут передаваться настройкой с помощью префикса @
или значением с помощью префикса *
.
@[$PrintIndividualInfo]@ <--
Начало секции
@[i.name.full]@
@[?i.birth.date(!E)]@Born: @[i.birth.date]@@[.i.birth.date]@
@[?i.is_dead]@Died: @[i.death.date]@ @[i.death.comment]@@[.i.is_dead]@
@[?i.homepage(!E)]@Homepage: @[i.homepage(target="_top")]@@[.i.homepage]@
@[?i.occupation(!E)]@Occupation: @[i.occupation]@@[.i.occupation]@
@[?i.comment(!E)]@Comments: @[i.comment]@@[.i.comment]@
@[.PrintIndividualInfo]@ <--
Конец секции
@[
в сведения, Вы пишете @[[
в шаблоне оболочки.^ (hat)
с последующим
шестнадцатеричным ASCII
символом." |
^22 |
Двойная кавычка (Пример) |
' |
^27 |
Одинарная кавычка |
“ |
^93 |
Двойная левая косая/округленная кавычка\ |
” |
^94 |
Двойная правая косая/округленная кавычка |
« |
^AB |
Открывающая кавычка |
» |
^BB |
Закрывающая кавычка |
^ |
^5E |
Hat (обычно над клавишей 6) |
( |
^28 |
Левая скобка. |
) |
^29 |
Закрывающая кавычка |
% |
^25 |
Процент |
& |
^26 |
Конъюнкция |
+ |
^2B |
Плюс |
/ |
^2F |
Прямая черта |
|
^20 |
Пробел |
|
^09 |
Табуляция |
|
^0A |
Новая строка. Это - <BR> в HTML и '\n' в Java. |
Этот список будет увеличиваться в дальнейшем.
Составитель отчетов использует динамическое пространство
имен, чтобы порождать значения тегов. Например, если Вам нужна иллюстрация Вашего
деда, Вы используете следующий тег: @[i.father.father.picture.primary.image]@
.
Чтобы получить описание иллюстрации Вашего деда, Вы используете
этот тег: @[i.father.father.picture.primary.description]@
.
Чтобы вывести на экран год рождения вашего прапрапрапрадеда, Вы
используете следующий тег: @[i.father.father.father.father.father.father.birth.date.year]@
. Как
Вы можете видеть, количество возможных тегов виртуально не ограничено.
* представляет соединительную точку для комбинирования с еще одним тегом в пространстве имен.
i.* |
Ссылка на субъекта |
*.father.* |
Ссылка на субъекта (отца человека) |
*.mother.* |
Ссылка на субъекта (мать человека) |
f.* |
Ссылка на семью |
*.picture.primary.* |
Ссылка на иллюстрацию (главную иллюстрацию ) |
*.picture.* |
ссылка на иллюстрацию |
*.date.* |
Ссылка на дату. |
*.id |
Неизменный уникальный ИН субъекта. Пример: "ind00001", "fam00002" |
*.href |
Отсылка на HTML страницу субъекта. Пример: "ind00001.htm", "fam00002.htm" |
i.count |
Общее число людей. Обычно этот тег используется, чтобы запустить цикл для всех людей в фамильном дереве. По умолчанию, все субъекты сортируются по фамилии, но Вы указываете, как Вы хотите сортировать субъектов в цикле |
i* |
Ссылка на субъекта |
i.father* |
Ссылка на отца субъекта |
i.mother* |
Ссылка на мать субъекта |
i. id |
Неизменный уникальный ИН субъекта. Этот ИН также используется для экспорта Gedcom файла. |
i.name |
Полное имя субъекта (автоматическая гиперссылка) |
i.name.first |
Имя субъекта (автоматическая гиперссылка) |
i.name.middle |
Отчество субъекта (автоматическая гиперссылка) |
i.name.first_middle |
Имя + отчество субъекта (автоматическая гиперссылка) |
i.name.first_last |
Имя + фамилия субъекта (автоматическая гиперссылка) |
i.name.last |
Фамилия субъекта |
i.name.full |
Полное имя субъекта. Идентично
i.name (автоматическая
гиперссылка) |
i.name.full.reversed |
Полное имя субъекта, но отображаемое в порядке: "фамилия, имя + отчество" (гиперссылка) |
i.name.display |
Имя субъекта, как оно показывается на генеалогическом дереве (автоматическая гиперссылка) |
i.gender |
Пол. M=Мужской, F=Женский, P=Домашнее животное, ?=неизвестный |
i.birth.date* |
Дата рождения. Чтобы получить
дату рождения, используйте i.birth.date.year . |
i.is_dead |
Субъект умер? T=Истина, F=Ложь |
i.death.date* |
Дата смерти. Этот тег имеет ту
же структуру, что и i.birth.date |
i.death.date* |
Дата смерти. Этот тег имеет ту
же структуру, что и i.birth.date |
i.death.comment |
Комментарии по обстоятельствам смерти |
i.occupation |
профессия субъекта |
i.comment |
Это комментарий скопированный из диалогового окна свойства. |
i.homepage |
Создать автоматическую гиперссылку на домашнюю страницу субъекта. Этот тег непустой, если поле гиперссылки начинается с http:// |
i.homepage.href |
Возвращает строку домашней страницы без создания
автоматической гиперссылки. Точно так же, как @[i.homepage(/H)]@ |
i.parents.names |
имена родителей субъекта |
i.siblings.names |
Имена братьев/сестер, у которых те же родители, что и у данного субъекта, включая любых приемных братьев/сестер. |
i.siblings.half.names |
Имена сводных братьев/сестер. У сводных братьев/сестер один общий родитель с данным субъектом. |
i.siblings.all.names |
Имена всех братьев/сестер
субъекта. Любые
братья/сестры, у которых общий родитель с данным
субъектом, включая сводных
и приемных братьев/сестер.
Это союзi.siblings.names
и i.siblings.half.names . |
i.siblings.step.names |
Братья/сестры по браку, сроднены виртуально через брак родителя с субъектом, у которого есть дети от предыдущего брака или отношений. |
i.siblings.other.names |
Братья/сестры, не родные по крови или по браку. Пример, приемные дети. Чтобы посмотреть такой пример, посетите эту ссылку. |
i.children.count |
Число детей субъекта. Сортировка от старшего к младшему. |
i.children.names |
Имена всех детей субъекта |
i.marriage.count |
Число браков субъекта (или число жен). Сортировка от первого брака к последнему, определяемая по дате бракосочетания. |
i.spouse.count |
Число супружеских пар субъекта (идентично числу браков) |
i.spouse* |
Ссылка на супруга/у (если
используется внутри цикла i.spouse.count ) |
i.spouse.name |
Имя супруга/и для данного брака |
i.spouse.other.names |
Имена всех супруг(ов),исключая текущий брак |
i.children.other.names |
Имена всех детей, исключая детей от текущего брака |
i.picture* |
Ссылка на иллюстрацию субъекта |
i.picture.primary* |
Ссылка на главную иллюстрацию субъекта |
i.picture.count |
Число иллюстраций субъекта |
f.count |
Общее число семей. Обычно этот тег используется, чтобы запустить цикл для всех семей генограммы. Вы также можете определить параметр для сортировки семей в цикле |
f* |
Ссылка на семью |
f.father* |
Ссылка на отца семьи |
f.mother* |
Ссылка на мать семьи |
f. id |
Permanent unique ID of the family. This ID is also used to export Gedcom. |
f.parents.names |
Имена родителей семьи |
f.marriage.relation |
Отношения между двумя субъектами (женаты, разведены, живут раздельно, встречаются, и т.д.) |
f.marriage.relation_with_date |
Добавить дату бракосочетания к отношениям (например:
поженились 12-Июл-1972). Составитель сведений
использует тег dic.strRelationMarriedDate
из Skin.dic как форматирующий шаблон. |
f.marriage.relation.is_married |
Истина => два субъекта женаты |
f.marriage.relation.is_divoerced |
Истина => два субъекта разведены. Это значит, что эти люди были женаты. |
f.marriage.comment |
Описание семьи / супружеской пары. |
f.marriage.date* |
Дата бракосочетания |
pic.count |
Возвращает число иллюстраций. На данный момент сортировка отсутствует, так что иллюстрации появляются в том порядке, как они идут в диалоговом окне иллюстрации. |
image |
Изображение иллюстрации (.bmp или
.jpeg). Вы можете определить размер изображения,
появляющегося в сведениях. Пример: @[i.picture.primary.image(150x300)]@ |
description |
Описание иллюстрации |
date* |
Дата снимка |
Автоматическая гиперссылка
При составлении HTML сведений
тег, имеющий автоматическую гиперссылку (напр:
@[i.name]@
), создаст гиперссылку в сведениях. Чтобы
предотвратить создание гиперссылки, Вы используете кодировку
/H
(HTML).
Пример, как вывести имена всех супруг(ов) без автоматической
гиперссылки:
@[#i.spouse.count]@
@[i.spouse.name.first(/H)]@ <-- /H force
кодировка как простой HTML
@[.i.spouse.count]@
Еще одни пример, как предотвратить автоматическую гиперссылку
- Испанская оболочка. Шаблон home.htm выводит полный
список всех отчеств, найденных в фамильном дереве. Первый шаг - сортировать по
отчеству (sort=MLF
) и затем использовать тег
@[i.name.middle]@
, чтобы вывести отчество. Проблема
использования этого тега без /H
-
создание автоматической гиперссылки на домашнюю страницу человека. Чтобы
предотвратить это. кодировка /H
используется, чтобы заставить составитель сведений сгенерировать отчество в HTML,
вместо создания гиперссылки. Второй параметр
?E=dic.strLastNameUnknown
дает составителю сведений
команду заменить содержимое переменной dic.strLastNameUnknown
,
если @[i.name.middle]@
пуст.
@[#i.count(sort=MLF)]@
@[?#i.name.middle]@@[i.name.middle(/H,?E=dic.strLastNameUnknown)]@
@[.i.name.middle]@
@[.i.count]@
Чтобы иметь корректную HTML оболочку, у Вас должны быть следующие файлы:
Вы можете добавлять сколько угодно файлов, включая Java classes, если хотите.
Доступно только два шаблона в RTF формате:
Family.rtf - Создать RTF сведения для семьи.
Individual.rtf - Создать RTF сведения для субъекта.
У Вас должен быть установлен Microsoft Word, чтобы редактировать или распечатывать RTF файлы. Если Вы не хотите создавать собственные RTF отчеты, просто сотрите файлы RTF, используя обозреватель окон (проводник).