Рендеринг HTML из конвейера

Рендеринг HTML из конвейера

Мне бы хотелось иметь возможность генерировать HTML, а затем передавать его в программу, которая его отобразит, что-то вроде этого:

for i in 1 2 3
do
    for j in a b c
    do
        echo "<table border="1"><tr><td>$i</td><td>$j</td></tr></table>"
    done
done | /usr/bin/firefox

К сожалению, Firefox не может отображать данные, поступающие из stdin. Google-Chrome тоже не может. lynxМожет, но кто захочет этим пользоваться?

Я попробовал создать именованный канал, открыть его в Chrome и/или Firefox, а затем передать в него данные, но браузер не обновился, когда я отправил данные через именованный канал.

Есть ли какие-нибудь нетекстовые браузеры, которые будут отображать html из stdin? Вывод не должен быть блестящим, я в основном заинтересован в том, чтобы сделать разделенные данные немного более читабельными, на лету.

Редактировать:

Я пробовал использовать подстановку процессов bash, например firefox <(sh /tmp/tablegen.sh), это тоже не сработало. В худшем случае я мог бы вывести во временный файл, отрендерить, а затем удалить, но я бы предпочел немного более элегантное решение.

решение1

Из одного из ответов наэтот вопрося нашелbcat:

NAME

  bcat - browser cat

DESCRIPTION

  The bcat utility reads from standard input, or one or
  more files, and pipes output into a web browser. file
  may be '-', in which case standard input is concatenated
  at that position.

  When invoked as btee, all input is written immediately
  to standard output in addition to being piped into
  the browser.

Теперь я могу запустить такой скрипт:

$ python foo.py | bcat

...и полученный HTML-код открывается в новой вкладке Firefox!

В Ubuntu и других дистрибутивах Linux на базе Debian установку можно выполнить bcatс помощью следующей команды:

$ sudo aptitude install ruby-bcat

Связанный контент