Шаблон:Familytree
Этот шаблон использует некоторые чрезвычайно сложные и эзотерические свойства языка определения шаблонов. Пожалуйста, не пытайтесь изменять его до тех пор, пока (а) вы до конца не поймёте, как он устроен, и (б) вы не будете готовы к устранению любых последствий в случае неожиданного результата.
|
Familytree (дословно «семейное дерево») — шаблон для рисования простых генеалогических деревьев.
Использует таблицы HTML с CSS-атрибутами. «Листья» дерева могут содержать произвольный вики-код.
Внешний вид
правитьВики-код:
{{familytree/start}} {{familytree | | | | БАБ |~|y|~| ДЕД | | БАБ=Бабушка |ДЕД=Дедушка}} {{familytree | | | | | | | |)|-|-|-|.| |}} {{familytree | | | МА |y| ПА | |ТЕТЯ | МА=Мама |ПА=Папа |ТЕТЯ=[[Тетя Мэй]]}} {{familytree | |,|-|-|-|+|-|-|-|.| | | |}} {{familytree | БР | | Я | | СЕС | | | БР=Ваня |Я='''Я'''|СЕС=Ира}} {{familytree/end}}
Результат:
Бабушка | Дедушка | ||||||||||||||||||||||||||
Мама | Папа | Тетя Мэй | |||||||||||||||||||||||||
Ваня | Я | Ира | |||||||||||||||||||||||||
Параметры
править- Шаблон {{familytree}} добавляет одну строку в таблицу генеалогического древа. Шаблон может содержать до 90 неназванных параметров, описывающих содержание таблицы. Каждый параметр определяют tiles (параметры плитки) или box (параметры окна/ячейки).
- Параметр tiles (дословно «плитки») — образующие линии символы, позволяющие нарисовать как горизонтальные, так и вертикальные линии, а также задать параметры углов их пересечения. Плитка задаются с помощью односимвольных символов, которые более или менее приблизительно задают форму и внешний вид линий. Особый случай — пустая «плитка» (ее отсутствие), указывающаяся одним пробелом. Поддерживаемые «плитки»:
, | . | ` | ' | |||||||||||||||||||
^ | v | ( | ) | |||||||||||||||||||
- | ! | + |
F | 7 | L | J | |||||||||||||||||||
A | V | C | D | |||||||||||||||||||
~ | : | % |
* | } | { | é | è | Ä | ? |
| ||||||||||||||||||||||||||||||||||
# | y | h | ÿ | Ÿ | > | ||||||||||||||||||||||||||||||||||||
Y | ] | [ | ä | À | < |
- Пример кода плиток из образца дерева выше:
|,|-|-|-|+|-|-|-|.|
.
- Параметр boxes («окна» или «ячейки») — область, где расположена информация о члене семьи. Может содержать произвольную вики-разметку. Содержимое окна задается с помощью дополнительных именованных параметров, которые добавляются при вызове шаблона. Например, стандартно каждая ячейка дерева имеет ширину три плитки и чёрную рамку шириной 2 пикселя. Однако в дальнейшем эти параметры могут быть изменены. В окно ячейки можно ввести любое имя, которое является допустимым — не больше ширины трёх плиток (без нарушения стиля), хотя простые и короткие имена персонажей тоже следует избегать, чтобы предотвратить путаницу с символами параметра tiles.
- Пример кода ячейки из образца дерева выше:
| МА |
.
- Шаблон {{familytree/end}} закрывает древо и автоматически добавляет любой шаблон, созданный с помощью этой схемы, в раздел «категория Навигационные шаблоны:Семейные деревья». Если же не надо включать шаблон в такую категорию, то замените эту строчку в конце таблицы на строчку {{familytree/end|nocat=1}}.
Стилевое оформление
правитьВнешний видом окон можно управлять с помощью дополнительных параметров style (стиля), border (границ) и boxstyle (индивидуального стиля ячеек).
- параметр style (стиля), принимаемый самим шаблоном {{familytree/start}}, используется для установки CSS-стилей для всего древа. (См. Пример 1)
- Значение по умолчанию — 100%.
- Параметр border (граница) задает ширину окна и границу в пикселях. (См. Пример 2)
- Может быть использован в окне атрибутов стиля, рядом с параметром boxstyle, для создания индивидуального стиля отдельной ячейки. (См. белую ячейку из Примера 3)
- Значение по умолчанию — 2.
- Параметр boxstyle (стиль окна) может быть использован для добавления произвольных CSS-параметров для строки. (См. Пример 2)
- Может быть использован непосредственно в окне атрибутов стиля индивидуально для определенной ячейки. (См. Пример 3)
- Цвет по умолчанию — прозрачный.
Все приведенные способы оформления могут быть комбинированы. Существуют также и другие возможности изменения стиля таблицы-древа.
Пример 1
править{{familytree/start|style=font-size:120%;line-height:100%;}} {{familytree | |ОТЕЦ |y|МАТЬ | ОТЕЦ=Егор Гайдар |МАТЬ=Мария Стругацкая}} {{familytree | | | | |!| | | | }} {{familytree | | | |ДОЧЬ | | | ДОЧЬ=Мария Гайдар}} {{familytree/end}}
Егор Гайдар | Мария Стругацкая | ||||||||||||||||
Мария Гайдар | |||||||||||||||||
Пример 2
править{{familytree/start}} {{familytree|border=0|boxstyle=background:#dfd;| | FOO |y| BAR | |FOO=Окно 1 |BAR=Окно 2}} {{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }} {{familytree|border=0|boxstyle=background:#dfd;| | FOO | | BAR | |FOO=Окно 3 |BAR=Окно 4}} {{familytree/end}}
Окно 1 | Окно 2 | ||||||||||||||||
Окно 3 | Окно 4 | ||||||||||||||||
Пример 3
править{{familytree/start}} {{familytree| | | | |БЕЛ | | | | |БЕЛ=Белая ячейка |boxstyle_БЕЛ =border: 0;}} {{familytree| |,|-|-|'|!|`|-|-|.| |}} {{familytree|КРАС |~|ЗЕЛ |~|СИН |КРАС=Красная ячейка |ЗЕЛ=Зеленая ячейка |СИН=Синяя ячейка |boxstyle_КРАС =background-color: #faa; |boxstyle_ЗЕЛ =background-color: #afa; |boxstyle_СИН =background-color: #aaf;}} {{familytree/end}}
Белая ячейка (без границ) | |||||||||||||||||||||||
Красная ячейка | Зеленая ячейка | Синяя ячейка | |||||||||||||||||||||
Заметки
править- При определении атрибутов стиля для отдельного имени окна убедитесь, что поле имена выравниваются по левой стороне области, отведенные для них в шаблоне по названию (как в «
|СИН |
» вместо «| СИН |
» в приведенном выше примере). В противном случае шаблон будет в конечном итоге выглядеть в качестве стилего параметра с пробелами в его имени.
- Либо при использовании пробела в коде ячейки (делается для визуального восприятия, т. е. «
| СИН |
») не забывать пробел в параметре boxstyle после подчерка:|boxstyle_ СИН
.
См. также
править{{ahnentafel2}} | {{ahnentafel-compact2}} | {{ahnentafel top}} |
{{ahnentafel3}} | {{ahnentafel-compact3}} | {{ahnentafel bottom}} |
{{ahnentafel4}} | {{ahnentafel-compact4}} | |
{{ahnentafel5}} | {{ahnentafel-compact5}} | {{ahnentafel-short5}} |
{{ahnentafel6}} | {{ahnentafel-compact6}} | |
{{familytree}} |