OutWiker 1.9.0.776 (unstable) с новыми викикомандами для таблиц

OutWiker 1.9.0.776 (unstable) с новыми викикомандами для таблиц

Некоторое время назад я советовался с вами, пользователями OutWiker, относительно того, как можно улучшить создание таблиц в этой программе. Тогда совместными усилиями решили, что лучше сделать новые вики-команды, напоминающие поведение pmWiki с некоторыми исправлениями. В новой версии OutWiker 1.9.0.776 реализовал эти возможности, о чем и расскажу поподробнее в этом посте.

В версии 1.9.0.776 появилась новые викикоманды (:table:), (:row:) и (:cell:) / (:hcell:), которые создают соответственно таблицу, обозначают начало новой строки и ячейки / заголовочной ячейки соответственно. Эти команды по сути близки к HTML-тегам <table>, <tr>, <td> / <th> с той разницей, что эти команды не нужно закрывать (хотя можно это делать) за исключением команды (:table:). Синтаксис этих команд выглядит следующим образом:

(:table параметры:)
(:row параметры:)
(:hcell параметры:) Текст заголовочной ячейки
(:hcell параметры:) Текст заголовочной ячейки

(:row параметры:)
(:cell параметры:) Текст ячейки
(:cell параметры:) Текст ячейки

(:tableend:)

Параметры в этих командах могут быть те же самые, что и атрибуты в соответствующих HTML-тегах. Например, такой код:

(:table border=1:)
(:row:)
(:hcell:)ячейка 1
(:hcell:)ячейка 2
(:hcell:)ячейка 3
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)

создаст следующую простую таблицу:

table_01

В командах (:cell:) / (:hcell:) можно использовать параметры colspan и rowspan для объединения соседних ячеек по горизонтали и по вертикали соответственно. Например, следующий код:

(:table border=1 align=center:)
(:row:)
(:cell colspan=2 align=center:)ячейка 1
(:cell rowspan=2:)ячейка 2
(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:tableend:)

создаст такую таблицу:

table_02

Из-за особенностей работы википарсера (части программы OutWiker, который преобразует викинотацию в код HTML), чтобы одна таблица располагалась в ячейке другой таблицы, недостаточно одной команды (:table:) (в этом случае википарсер не будет знать, где заканчивается таблица верхнего уровня, а где вложенная таблица), поэтому для явного указания начала и конца вложенных таблиц были добавлены команды (:table:) с номерами, т.е. команды (:table1:), (:table2:), (:table3:), (:table4:) и (:table5:). Они могут использоваться точно также, как и команда (:table:), но создавались они именно для создания вложенных таблиц. Обратите внимание, что эти команды закрываются с помощью выражения (:table1end:), (: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
(:cell:)ячейка 3(:row:)
(:cell:)ячейка 4
(:cell:)ячейка 5
(:cell:)ячейка 6
(:tableend:)
Таблица 2. Ячейка 1 Таблица 2. Ячейка 2 Таблица 2. Ячейка 3
Таблица 2. Ячейка 4 Таблица 2. Ячейка 5 Таблица 2. Ячейка 6
ячейка 2 ячейка 3
ячейка 4 ячейка 5 ячейка 6

Нумерация таблиц не обязательно должна показывать уровень вложенности.

Для облегчения жизни пользователей я сделал диалоги для вставки новых таблиц и строк в уже существующие таблицы. Эти диалоги выглядят примерно одинаково с той лишь разницей, что в диалоге вставки таблицы можно задать толщину рамки таблицы.

table_03_dlg table_04_dlg

Я пока не стал добавлять много параметров в диалог, в принципе, в будущем его можно будет расширять. Аналогичные диалоги были добавлены и для HTML-страниц.

При нажатии кнопки вставки таблицы или строк таблицы, программа сама определит необходимый уровень вложенности. Например, если курсор стоит внутри команды (:table:)…(:tableend:), и вы создаете еще одну таблицу, то будет вставлена команда (:table2:)…(:table2end:), а если вы находитесь внутри команды (:table2:)…(:table2end:), то будет вставлена команда (:table3:)…(:table3end:) и так далее.

Аналогично и со строками, если вы находитесь внутри команды (:table2:)…(:table2end:), то будут вставлены команды (:row2:) и (:cell2:) / (:hcell2:).


Кроме команд для вставки таблиц в новой версии были добавлены несколько новых стилей, присланных пользователями программы. За новые стили спасибо Роману Соболеву и пользователю Gabrielle Ramires.


Как вы знаете, к концу года я хочу выложить уже релиз OutWiker 1.9. Времени остается не так много, поэтому новые возможности, которые требуют много времени на реализацию и вылизывание, оставлю на следующую версию, а пока буду подчищать то, что имеется и добавлю некоторые возможности для плагинов, что будет полезно в будущем.

Скачать последнюю нестабильную версию можно как обычно по ссылке — https://jenyay.net/Outwiker/Unstable

PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Пожалуйста, оцените запись

УжасноПлохоТак себеХорошоОтлично (Количество голосов: 2, средняя оценка: 5,00)
Загрузка...

комментариев 8

  1. Xintrea:

    Уважаемый Евгений, а можно ли узнать такую вещь.

    Существуют ли в публичном доступе базы Outwiker, которые публикуются под креатив-коммон или другими типами свободных лицензий?

    Я искал и не нашел. Мне хотелось бы посмотреть на наполняемость баз Outwiker.

    Если таковых нет, то хотелось бы узнать хотя бы численные характеристики вашей Wiki-базы, которая скопилась у вас за 2-3 года пользования вашей программой. Например, количество веток, количество записей, количество тегов.

  2. Jenyay:

    Здравствуйте, Xintrea.

    Чтобы кто-то выкладывал свои базы я не видел, а что касается моих, то у меня статистика такая. У меня две основные базы, одна из них имеет 575 страниц и 75 меток, а другая имеет 477 страниц и 89 меток. До недавнего прошлого это была одна база, но для удобства использования я ее разделил на две, т.е. количество страниц можно сложить, а с метками сложнее, потому что они пересекаются.

  3. Serghei:

    Ждём стабильную версию 🙂

    P.S. Поправьте кавычки http://i.imgur.com/MIdUwIG.png

  4. Jenyay:

    Спасибо, что-то типограф тут не справился.

  5. Александр:

    Нет слов, просто нет слов, одни эмоции …. Спасибо. Я счастлив. Теперь можно делать довольно таки сложные таблицы без использования html страниц и html вставок.

  6. Jenyay:

    🙂

  7. Александр:

    Классные получились таблицы. На моё удивление даже работает задание стиля для таблицы style=»border-collapse:collapse», а то эти множественные рамки вечно меня печалили.
    Кстати в окне мастера вставки таблицы (тот что по Ctrl+Q), если хотите, можете вставить галочку типа border-collapse. Если юзер поставил галку, то автоматом дописался нужный текст в тэг (:table:). ИМХО будет удобно. Думаю люди оценят. Ведь в таблицах на разных сайтах редко редко где используется стандартный стиль таблиц с отдельной рамкой для каждой ячейки.

  8. Jenyay:

    Ну стили все-таки лучше ставить отдельно, например, с помощью плагина Style, а в диалог лучше добавлять теги HTML, а не конкретные стилди. Как вариант, можно добавить поле style, чтобы задавать стили в общем виде.

Leave a comment

Subscribe without commenting