Renderowanie HTML z potoku


15

Chciałbym móc wygenerować HTML, a następnie przesłać go do programu, który go wyrenderuje, mniej więcej tak:

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

Niestety Firefox nie może renderować danych przesyłanych strumieniowo ze standardowego wejścia. Google Chrome też nie może. lynxmoże, ale kto chce tego użyć?

Próbowałem utworzyć nazwany potok, otwierając go w chrome i / lub Firefox, a następnie przesyłając dane do niego - ale przeglądarka nie zaktualizowała się, gdy wysłałem dane przez nazwany potok.

Czy są jakieś przeglądarki tekstowe, które będą renderować HTML ze standardowego wejścia? Dane wyjściowe nie muszą być błyskotliwe, najbardziej interesuje mnie to, aby dane z ogranicznikami były nieco bardziej czytelne w locie.

Edytować:

Próbowałem użyć podstawienia procesu bash, np. firefox <(sh /tmp/tablegen.sh)To też nie działało. W najgorszym przypadku mogę wyprowadzić dane do pliku tymczasowego, renderować, a następnie usuwać, ale wolałbym nieco bardziej eleganckie rozwiązanie.



Dobry link; całkiem dobrze potwierdziło moje podejrzenie, że jedynym sposobem jest użycie pliku tymczasowego.
Barton Chittenden,

Odpowiedzi:


14

Z jednej z odpowiedzi na to pytanie znalazłem 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.

Teraz mogę uruchomić taki skrypt:

$ python foo.py | bcat

... a wynikowy wynik HTML otwiera się w nowej karcie Firefox!

W Ubuntu i innych dystrybucjach Linuksa opartych na Debianie można zainstalować za bcatpomocą tego polecenia:

$ sudo aptitude install ruby-bcat

Cześć od 2019 roku. Powyższa instalacja nie działała, ale działała sudo gem install bcat. :-)
roufamatic
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.