Webtail

Stdin to your browser by WebSocket

Installation

$ gem install webtail

Usage

Pass Stdout to webtail via pipeline

$ tail -f ... | webtail [options]
    -p, --port      port number for http server (default is 9999)
    -r, --rc        callback file location (default is ~/.webtailrc)
    -h, --help      Display this help message.

~/.webtailrc

You can define your custom callback into ~/.webtailrc. The code in ~/.webtailrc is executed when a new line is inserted.

Examples

Rails log viewer

$ cat ~/.webtailrc
var line = $('pre:last');
var text = line.text();

if (text == '\n') {
  line.css({
    margin: '3em 0',
    height: 1,
    background: 'lime'
  });
}

if (text.match(/CACHE|Load/)) {
  line.css({
    color: '#E1017B'
  });
}

$ tail -f log/development.log | webtail

Twitter client

$ gem install userstream
$ cat twitter.rb
# encoding: utf-8
require "user_stream"

UserStream.configure do |config|
  config.consumer_key       = "..."
  config.consumer_secret    = "..."
  config.oauth_token        = "..."
  config.oauth_token_secret = "..."
end

UserStream.client.user do |status|
  STDOUT.puts "#{status.user.name}: #{status.text}"
  STDOUT.flush
end

$ cat ~/.webtailrc
last.text(text.replace(/[ァ-ンー]{2,}/gi, 'ゆのっち'));

$ ruby twitter.rb | webtail