Sha256: 8c3e7842767ed5c7d8050ad7bfab6c0115be342bcb3e7e0632ba3d9f68e913c3

Contents?: true

Size: 888 Bytes

Versions: 2

Compression:

Stored size: 888 Bytes

Contents

#! /usr/bin/env ruby


require "open-uri"
require "optparse"
require "tefil.rb"
require 'nokogiri'
require 'pp'
require 'uri'

class UrlTitle < Tefil::TextFilterBase
  def initialize(options = {})
    super(options)
  end

  def process_stream(in_io, out_io)
    in_io.each do |line|
      URI.extract(line).each do |uri|
        begin
          html = open(uri)
          doc = Nokogiri::HTML.parse(html)
          line.gsub!(uri, "[#{doc.title}](#{uri})")
        rescue #rescue Errno::ENOENT
          #do nothing
        end
      end
      out_io.puts line
    end
  end
end

## option analysis
options = {}
op = OptionParser.new
op.banner = [
  "Usage: #{File.basename("#{__FILE__}")} [options]",
].join("\n")
op.on("-o"    , "--overwrite"    , "Overwrite"){    options[:overwrite] = true}
op.parse!(ARGV)

options[:overwrite] ||= false

ut = UrlTitle.new(options)
ut.filter(ARGV)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
madowu-0.0.8 bin/urltitle
madowu-0.0.7 bin/urltitle