Rendering HTML dari sebuah pipa


15

Saya ingin dapat menghasilkan HTML kemudian menyalurkannya ke program yang akan merendernya, seperti ini:

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

Sayangnya, firefox tidak dapat membuat data yang disalurkan dari stdin. Google-chrome juga tidak. lynx bisa, tetapi siapa yang mau menggunakannya?

Saya mencoba membuat pipa bernama, membukanya di chrome dan / atau firefox dan kemudian menyalurkan data ke sana - tetapi browser tidak memperbarui ketika saya mengirim data melalui pipa bernama.

Apakah ada browser berbasis teks yang akan membuat html dari stdin? Outputnya tidak perlu mewah, saya sebagian besar tertarik untuk membuat data terbatas sedikit lebih mudah dibaca, on the fly.

Edit:

Saya mencoba menggunakan subtitusi proses bash, mis. firefox <(sh /tmp/tablegen.sh), itu tidak berhasil. Skenario terburuk, saya bisa menampilkan file temp, me-render, lalu menghapus, tapi saya lebih suka solusi yang sedikit lebih elegan.


1
wmz

Tautan yang bagus; cukup baik mengkonfirmasi kecurigaan saya bahwa menggunakan file temp adalah satu-satunya cara untuk pergi.
Barton Chittenden

Jawaban:


14

Dari salah satu jawaban pertanyaan ini saya menemukan 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.

Sekarang saya dapat menjalankan skrip seperti ini:

$ python foo.py | bcat

... dan hasil HTML yang dihasilkan terbuka di tab Firefox baru!

Di Ubuntu dan distribusi Linux berbasis Debian lain yang dapat Anda instal bcat dengan perintah ini:

$ sudo aptitude install ruby-bcat
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.