Комментарии 20
К сожалению в случае display:block выделение нескольких строк текста выглядит хуже:
ээээ а какой из этих вариантов хуже? :)
Для меня правый (display:block) вариант хуже, т.к. появляется зазор между выделяемыми строками.
По крайней мере такое выделение я наблюдаю в текстовых редакторах и в десктоп терминалах.
Но вы конечно правы, это может быть делом вкуса :)
Я так понимаю это фича браузера — показывать, что два разных div это совершенно независимые блоки
В том-то и дело, что с помощью margin/line-height можно добиться отсутствия зазора, однако это именно добиться: для этого нужно их сделать достаточно низкими, чтобы выделения строк пересекались.
Т.е. таким способом оставить большое межстрочное расстояние и одновременно убрать зазор в выделении не получится.
А у span'ов, благодаря их inline структуре, такой же line-height работает как следует.
Пример:
https://jsfiddle.net/wxg0dn39/
Вы, скорее всего, имеете ввиду весь инструмент целиком: включая вызов скрипта на сервере, веб сервер и клиентскую часть. Это немного отдельная тема (данная статья исключительно о реализации read-only терминала на JS/HTML).
Если говорить об инструменте целиком, то проброс консоли это для админов. Мой инструмент для нетехнических пользователей, которым нужно в красивом виде дать доступ к заранее подготовленным скриптам. Максимально ограничив доступ и возможности пользователей.
Использовать же эти компоненты исключительно как UI библиотеку, вряд ли есть смысл. Например, GateOne также подготавливает данные на сервере и, я подозреваю, отображает всё в режиме терминала (т.е. 80x25 символов), что не очень удобно для просмотра и работы пользователя.
Интересно, можно ли приспособить это решение (или существует ли что-то, что хорошо сочеталось бы со Spring-ом) для удобного просмотра логов?
Если брать Script server целиком (для которого я делал отображение в веб), то его можно использовать в том числе и для этой задачи. Но что-то более специализированное будет более удобным, скорее всего.
Вот, например, гугл предлагает такое: http://logio.org/
1. mc (особое внимание на диалоги и меню)
2. aptitude (и другие dialog)
3. adom (консольная версия)
4. nethack
5. mplayer в ascii режиме
В частности, благодаря adom'у я узнал, что «ярко-чёрный по чёрному» — это вполне различимо (горы и всё такое).
У меня пока не стоит задача делать полноценный терминал (с режимами отображения, разрешением и т.п.), а только основные команды для потокового вывода, т.е. лог работы скрипта.
Причина тому — я сфокусирован на инструменте для нетехнических пользователей, и, терминал, по-моему мнению им не очень нужен.
Из-за отсутствия поддержки размеров окна, режимов отображения и т.п., mc и mplayer у меня отображаются криво: они указывают размер терминала и потом делают перевод курсора исходя из размера окна. Но у меня переход вне предела уже выведенного текста невозможен.
Если в будущем у кого-то появится такая потребность, то, возможно, я реализую "расширенные" команды.
Говоря о списке того, что должно работать — существует полезная тестовая утилита https://invisible-island.net/vttest/vttest.html. Я так понимаю, она должна покрывать основные кейсы.
Но спасибо вам за список!
Отображение и оптимизация вывода на терминал в вебе