Шаблон: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}} |