Для создания таблиц на викистраницах существует два набора викикоманд: упрощенный, предназначенный в первую очередь для создания небольших таблиц, и команда (:table:)...(:tableend:), которая позволяет более гибко настраивать внешний вид таблиц. Ниже рассмотрены оба варианта:
Для создания таблиц с помощью упрощенной викинотации используется следующий формат записи:
|| Параметры таблицы (атрибуты тега <TABLE>): border, width и т.п.
|| Первая ячейка первой строки || Вторая ячейка первой строки || ... || Последняя ячейка первой строки ||
|| Первая ячейка второй строки || Вторая ячейка второй строки || ... || Последняя ячейка второй строки ||
...
Горизонтальное выравнивание ячеек таблицы задается пробелами перед и после текста ячеек. Это показано на следующем примере:
Код таблицы:
|| border=1 width=100%
||Выравнивание по левому краю || Выравнивание по центру || Выравнивание по правому краю||
Результат:
Выравнивание по левому краю | Выравнивание по центру | Выравнивание по правому краю |
Использование команды (:table:) близко к созданию таблиц с использованием языка HTML. Общий синтаксис использования этой команды следующий:
(:table параметры:)
(:row параметры:)
(:hcell параметры:) Текст заголовочной ячейки
(:hcell параметры:) Текст заголовочной ячейки
...
(:row параметры:)
(:cell параметры:) Текст ячейки
(:cell параметры:) Текст ячейки
...
(:tableend:)
В самой команде (:table:) могут использоваться те же параметры, что и в теге <table> языка HTML, наиболее часто используемые параметры - это border, задающий толщину рамки таблицы (если border=0, что является значением по умолчанию для команды (:table:), то рамка таблицы не отображается), width, задающий ширину таблицы, а также align, задающий выравнивание таблицы.
В программе OutWiker команда (:table параметры:)...(:tableend:) преобразуется в HTML-код вида: <table параметры>...</table>
Команда (:row:) указывает на начало новой строки таблицы, она является аналогом HTML-тега <tr> и, соответственно, может содержать в себе те же самые параметры.
Начало новой ячейки задается с помощью команд (:cell:) для обычных ячеек или (:hcell:) для заголовочных ячеек. Команда (:cell:) является аналогом HTML-тега <td>, а команда (:hcell:) - аналогом тега <th>.
Комментарий | Викинотация | Результат |
||||||
---|---|---|---|---|---|---|---|---|
Таблица с рамкой | (:table border="1":) (:row:) (:hcell:)ячейка 1 (:hcell:)ячейка 2 (:hcell:)ячейка 3 (:row:) (:cell:)ячейка 4 (:cell:)ячейка 5 (:cell:)ячейка 6 (:tableend:) |
|
||||||
Таблица без рамки | (:table:) (:row:) (:cell:)ячейка 1 (:cell:)ячейка 2 (:cell:)ячейка 3 (:row:) (:cell:)ячейка 4 (:cell:)ячейка 5 (:cell:)ячейка 6 (:tableend:) |
|
||||||
Использование параметров colspan и rowspan для объединения ячеек по горизонтали и вертикали |
(:table border="1" align="center":) (:row:) (:cell colspan=2 align=center:)ячейка 1 (:cell rowspan=2:)ячейка 2 (:row:) (:cell:)ячейка 4 (:cell:)ячейка 5 (:tableend:) |
|
Из-за особенностей работы википарсера (части программы OutWiker, который преобразует викинотацию в код HTML), чтобы одна таблица располагалась в ячейке другой таблицы, недостаточно одной команды (:table:) (в этом случае википарсер не будет знать, где заканчивается таблица верхнего уровня, а где вложенная таблица), поэтому для явного указания начала и конца команды создания таблицы были добавлены команды (:table:) с номерами, т.е. команды (:table1:), (:table2:), (:table3:), (:table4:) и (:table5:). Они могут использоваться точно также, как и команда (:table:), но создавались они именно для создания вложенных таблиц. Обратите внимание, что эти команды закрываются с помощью выражения (:table1:), (:table2end:), (:table3end:), (:table4end:) и (:table5end:) соответственно.
Внутри команды вида (:tableN:) для создания строк и ячеек должны использоваться также нумерованные команды (:rowN:) и (:cellN:) / (:hcellN:) соответственно. Эта особенность добавляет наглядности, какой таблице какая строка или ячейка принадлежит.
Например:
Викинотация | Результат |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(:table border=1 align=center:) (:row:) (:cell:)(:table2 border=1:) (:row2:) (:cell2:)Таблица 2. Ячейка 1 (:cell2:)Таблица 2. Ячейка 2 (:cell2:)Таблица 2. Ячейка 3 (:row2:) (:cell2:)Таблица 2. Ячейка 4 (:cell2:)Таблица 2. Ячейка 5 (:cell2:)Таблица 2. Ячейка 6 (:table2end:) (:cell:)ячейка 2 (:row:) |
|
Нумерация таблиц не обязательно должна показывать уровень вложенности. Например, на данной странице справки для оформления последнего примера наружная таблица создается с помощью команды (:table3:), а вложенные с помощью команд (:table:) и (:table2:).