Таблицы в OutWiker. Опрос пользователей

Среди пожеланий пользователей, которые пишут в комментариях или на почту, несколько раз проскакивало пожелание сделать более удобный ввод таблиц. В данный момент небольшие таблицы на викистраницах можно вводить, используя нотацию вида ||…||…||. Я согласен, что это не самый удобный способ, если содержимое ячеек большое или содержит большое количество строк. В принципе, на викистраницах всегда можно использовать теги HTML, в том числе и для создания страниц. Я не считаю, что викинотация должна полностью повторять HTML, она должна быть более простой.
И вот хочется узнать у вас, что нужно сделать в OutWiker, чтобы редактирование таблиц было более удобно? Как вы себе это представляете?
Как вариант, можно реализовать команды для создания таблиц того же pmWiki, в какой-то мере это улучшит ситуацию. Тогда создание страниц будет выглядеть примерно так (код взят по вышеуказанной ссылке):
(:table border=1:)
(:cell:) a1
(:cell:) b1
(:cell:) c1
(:cell:) d1
(:cellnr:) a2
(:cell:) b2
(:cell:) c2
(:cell:) d2
(:tableend:)
Или может быть добавить диалог, в котором можно задать количество строк и столбцов, а потом будет создана заготовка для таблицы? Но редактирование существующих таблиц это не облегчит.
В общем, интересует ваше мнение.
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
ИМХО, кроме cell нужно и row, чтобы и там и там можно было указывать доп. атрибуты для этих тегов.
1 июля 2015, 7:10 дпКак раз и хотел предложить сделать диалог с указанием количества строк и столбцов (по аналогии с Word). А потом уж сами будут редактировать. Это самое простое, что можно сделать для улучшения удобства создания таблиц.
1 июля 2015, 10:18 дпПотому как надеяться на появление некоего встроенного редактора таблиц не стоит (не вписывается в рамки данной программы).
Так что появление такого диалога будет очень даже к месту!
P.S. Даже не знал, что HTML теги таблиц можно использовать на Вики…
Для новых таблиц, мне кажется, подойдет способ с указанием сколько надо строк и столбцов. Основная трудность с переносом таблиц из других источников (документов, писем, web-страниц). Их приходится пересоздавать. В HTML-варианте особенно неудобно. Хорошо бы увидеть некоторую автоматизацию:
Выделил несколько строк, нажал кнопку. Поставились теги начала и конца таблицы, а также теги строк. Совсем здорово, если, например табуляции будут заменены на теги ячеек. Это облегчит работу с однострочными таблицами, коих большинство.
1 июля 2015, 10:24 дпВ приведенном выше примере (:cellnr:) обозначает начало новой строки (первая ячейка новой строки), в принципе, туда можно добавить параметры самой строки.
1 июля 2015, 11:12 дпЗаполнять таблицу в Excel или Calc естественно удобнее, чем таблицу вида || || ||, но и заполнять таблицу html тэгами в notepad++ также приносит не много удовольствия. Честно говоря меня сильно не парит сложность заполнения таблиц или перевода их в вид || || ибо есть notepad++ с его мега возможностями поиска и замены. А вот чем реально порой не устраивают эти вики таблицы, так это сильно урезанным функционалом по сравнению с html-table — порой катастрофически не хватает collspan и rowspan. На разукрашку плевать, ибо дизайн для меня не так важен. Как выход для себя я использую в wiki-страницах полнофункциональный тэг table, а весь этот html код оборачиваю в [==], ибо были проблемы. К тому же в браузере, по крайней мере в тормозилле, можно выделить таблицу на некой странице и нажать Показ выделенного фрагмента, а оттуда скопировать html-код в нашу вики, обернув всё-это в [==].
Как вариант упрощения ввода таблиц для пользователей может придумать некий мастер заполнения таблиц. Типа нажимаем создать таблицу, выбираем кол-во строк и столбцов (это можно сделать динамическим), вводим все данные в таблицу, нажимаем «сделать всё хорошо» и бац этот мастер сгенерил код вида || ||. Хотя это будет работать только при создании новой таблицы, а не при её редактировании. Но опять же повторюсь, меня вполне устраивает текущий механизм заполнения, чего нельзя сказать о функциональности таблиц.
Поэтому другой раз гораздо проще в вики страницу вставить нечто такое:
[=
ё
Ё
123
1
2
3
T
A
B
L
E
=]
1 июля 2015, 11:59 дпТут оборачивать в [==] не обязательно, но это уже привычка.
Вот так и думал, что эта таблица может не вставится. Может code прокатит.
[=
ё
Ё
123
1
2
3
T
A
B
L
E
=]
1 июля 2015, 12:02 ппИзвиняюсь за этот мусор :(.
1 июля 2015, 12:03 ппЧем эти палки || неудобны, тем, что визуально они с трудом друг от друга отделаяются. А если ещё вспомнить, что пробелы до или после задают выравнивание, так вообще. Плюс многострочность в ячейках (или, например, списки задать).
Зато это относительно удобно, если нужно часто мелкие (две строки, два столбца) таблички делать. Единственное что, для таблиц почти всегда нужно ставить ||border=1 в заголовке. Я был бы не против, если б это подразумевалось по-умолчанию или как-то настраивалось.
А вот для больших таблиц, которые предполагается редактировать-дополнять, удобней
(:table border=1:)
(:cell:) a1
(:cell:) b1
(:cell:) c1
(:cellnr:) a2
(:cell:) b2
(:cell:) c2
(:tableend:)
или подобное. Я правильно понимаю, что в такую ячейку без проблем можно вставить список?
Имхо, никакая нотация по удобству не заменит визуальное редактирование таблиц как в ворде. Про лайфхак «работает html внутри вики» не подозревал. Могу этим пользоваться, если прижмёт. Но вообще лично я таблицами в outwiker пользуюсь крайне редко, может, пару раз задействовал. Так что мне и статус кво вполне сгодится.
1 июля 2015, 12:31 ппДиалог для создания новых таблиц мне видится хорошим вариантом
1 июля 2015, 2:10 ппWave, да, вы правы. Синтаксис таблиц, приведённый автором выглядит куда более понятнее и нагляднее, чем «эти палки». К тому же в эти (:cell:) тэги можно влепить и параметры, такие как rowspan и colspan. Думаю это не будет проблема и парсер будет переводить (:cell:) в тэг td например, и тупо копировать распознанные параметры в html. да и вообще можно будет юзать все фишки html-тэга td, а в вики тэг (:cell:) можно ещё запихать параметр TH, чтобы ячейка была не TH, а TD, хотя это изврат.
1 июля 2015, 3:01 ппКстати, я бы предложил автору юзать (:cellnr:) только лишь как указатель новой строки. Тогда можно в него пихать параметры html-тэга TR. Да здравствуют возможности html-тэга TABLE. Ура!!!
> В приведенном выше примере (:cellnr:) обозначает начало новой строки (первая ячейка новой строки), в принципе, туда можно добавить параметры самой строки.
Только вот как тогда в этом (:cellnr:) отделять атрибуты строки от атрибутов ячейки? И те и другие нужны, т.к., к примеру, в атрибутах ячейки можно указывать такие важные атрибуты как rowspan и colspan.
2 июля 2015, 11:21 дпИ еще бы тег (:hcell:) — заголовочная ячейка ()
2 июля 2015, 11:31 дпТо, что ячейка заголовочная можно помечать отдельным параметром. А можно, конечно, и отдельной командой. Подумаю.
По поводу того, что нужна отдельная команда для начала строки я, пожалуй, согласен. И, наверное, лучше ее не обединять с началом ячейки, пусть у нее имя будет, например, (:row:).
Еще появилась идея, что при желании можно вообще обойтись без (:row:), если не нужны особые настройки строк, но при этом задавать параметры cols или rows в (:table:), и в этом случае количество строк или столбцов будет рассчитываться.
2 июля 2015, 1:14 пп> unreal666 > Только вот как тогда в этом (:cellnr:) отделять атрибуты строки от атрибутов ячейки?
2 июля 2015, 4:29 ппИмелось в виду юзать (:cellnr:) просто как тэг tr, т.е. после него данные не писать, а сразу после него или на новой строке писать (:cell:). А данные ячейки писать уже в (:cell:).
> Jenyay > Еще появилась идея, что при желании можно вообще обойтись без (:row:), если не нужны особые настройки строк, но при этом задавать параметры cols или rows в (:table:), и в этом случае количество строк или столбцов будет рассчитываться.
В таком случае придёться забыть о rowspan и colspan, а это уже печалька. 🙁 ИМХО несложно переписать «табличный парсер» чтобы он понимал rowspan и colspan. Не сложнее, чем заморачиваться с cols или rows в (:table:). Или я не вижу каких-то подводных камней?
cols или rows в таблицах может быть как дополнительное удобство, которое не обязательно использовать. Разумеется, cols / rows и rowspan / colspan в одной таблице использовать не стоит.
2 июля 2015, 4:56 ппJenyay, а как будет действовать программа если человек заюзал и то (cols / rows) и другое (rowspan / colspan)? Как говорится — а вдруг.
2 июля 2015, 5:16 ппP.S. Ведь мы пользователи — народ неуправляемый. Если нас не ограничить — мы такого натворить можем. :)))
Таблица будет выглядеть не так как он ожидал :). Через диалог можно будет выбирать что-то одно. Как вариант, можно игнорировать rowspan / colspan, если заданы cols / rows.
2 июля 2015, 5:30 пп> Еще появилась идея, что при желании можно вообще обойтись без (:row:), если не нужны особые настройки строк, но при этом задавать параметры cols или rows в (:table:), и в этом случае количество строк или столбцов будет рассчитываться.
Ну такое он наврядли сможет рассчитать на автомате — http://upyourpic.org/images/201506/r9jhmvmhmt.png 🙂
3 июля 2015, 7:01 дпНу так там же как раз и используются rowspan / colspan, в этом случае что-то одно из rowspan / colspan или cols / rows будет игнорироваться (скорее всего первое).
3 июля 2015, 9:49 дпЕсли я правильно понимаю, то идеи склоняются к тому, чтобы иметь возможность использовать rowspan, colspan, cols и rows. При этом приоритет отдаётся ключевым словам cols и rows. Также говорилось о возможных настройках под тэг th. И также упоминалось что при задании cols и rows можно обходится без «тэга» новой строки, как бы там он не был назван. Однако, если не юзать «тэг» новой строки, то ИМХО будет неудобно найти где-же эта вторая ячейка n-ой строки. Это равносильно если бы html tag table состоял только из одних td. Найти i-ю ячейку в j-м столбце будет очень тяжело; разве что поиском.
3 июля 2015, 11:06 дпЕсли наличие cols и rows, как и их приоритета над rowspan и colspan меня никак не тревожит, то возможность полного отсутствия тэга новой строки — печалит. Другое дело если используя cols и rows, игнорить rowspan, colspan и «тэг новой строки». А вот если не используешь cols и rows (и даже не используя rowspan и colspan) — будет возможность использовать «тэг новой строки» — это, конечно, хорошо.
Нет, про отмену тега новой строки речи не идет. Просто при использовании cols и rows он не будет использоваться. При использовании cols / rows для лучшего визуального восприятия новых строк можно будет использовать пустые строки.
Разумеется, cols / rows подходит только для простых таблиц, где не нужно какое-то особое оформление.
3 июля 2015, 11:17 дпМ.б. стоит поступить как в Asciidoc? (http://asciidoc.org/userguide.html#_tables , http://powerman.name/doc/asciidoc#_tables)
15 июля 2015, 11:48 дпПростой текст с разделителем «|» или CSV?
Готовая реализация есть (python, если это важно), протестировать, взяв оригинальный asciidoc, вполне можно.
Ну оно уж больно напоминает то, как сделано сейчас. Это удобно для небольших таблиц, для больших такая нотация не удобна.
15 июля 2015, 1:24 ппМне вот интересно а есть возможность реализовать (м.б. плагином) создание таблицы из csv файла.
типа:
(:csv:)
18 августа 2015, 12:40 пп1,2,3
4,5,6
7,8,9
(:csvend:)
В принципе, сделать плагин для такой команды (csv) нет, вопрос времени.
28 августа 2015, 10:42 пп