Rendu HTML à partir d'un tube


15

J'aimerais pouvoir générer du HTML puis le diriger vers un programme qui le rendra, quelque chose comme ceci:

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

Malheureusement, firefox ne peut pas restituer les données depuis stdin. Google-chrome non plus. lynxpeut, mais qui veut l'utiliser?

J'ai essayé de créer un canal nommé, en l'ouvrant dans Chrome et / ou Firefox, puis en canalisant les données vers cela - mais le navigateur ne s'est pas mis à jour lorsque j'ai envoyé des données via le canal nommé.

Existe-t-il des navigateurs non textuels qui afficheront le code HTML à partir de stdin? La sortie n'a pas besoin d'être fastueuse, je suis surtout intéressé à rendre les données délimitées un peu plus lisibles, à la volée.

Éditer:

J'ai essayé d'utiliser la substitution de processus de bash, par exemple firefox <(sh /tmp/tablegen.sh), cela n'a pas fonctionné non plus. Dans le pire des cas, je pourrais sortir dans un fichier temporaire, rendre, puis supprimer, mais je préférerais une solution légèrement plus élégante.



Bon lien; assez bien confirmé ma suspicion que l'utilisation d'un fichier temporaire est la seule façon d'aller.
Barton Chittenden

Réponses:


14

À partir d'une des réponses à cette question, j'ai trouvé 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.

Maintenant, je peux exécuter un script comme celui-ci:

$ python foo.py | bcat

... et la sortie HTML résultante s'ouvre dans un nouvel onglet Firefox!

Sur Ubuntu et d'autres distributions Linux basées sur Debian, vous pouvez installer bcatavec cette commande:

$ sudo aptitude install ruby-bcat

Salut à partir de 2019, l'installation ci-dessus n'a pas fonctionné mais sudo gem install bcata fonctionné. :-)
roufamatic
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.