opera:hige このページをアンテナに追加

 | 

2009-05-30

[] タイマーウィジェット テスト 00:37  タイマーウィジェット テスト - opera:hige を含むブックマーク はてなブックマーク -  タイマーウィジェット テスト - opera:hige

widget.hide() した後, widget.show() するとそのウィジェットは必ずアクティブになる。(すべての環境でそうなるかどうか未確認, WindowsXP + Opera 10.0 alpha で確認)。これを利用してタイマーアプリができるんじゃないと思って作ってみた。


ダウンロード

トラックバック - http://orera.g.hatena.ne.jp/higeorange/20090530

2009-05-15

[] FriendFeedウィジェット作った 21:57  FriendFeed 用ウィジェット作った - opera:hige を含むブックマーク はてなブックマーク -  FriendFeed 用ウィジェット作った - opera:hige

最近, FriendFeedがはやってるかもしれないと思い作ってみた。

f:id:higeorange:20090518212649j:image

(イメージ画像)


ダウンロード

注意: バグがふんだんに含まれています。


実装した機能

  • ユーザフィード閲覧 (http://friendfeed.com/[username] で表示されるもの)
  • ユーザフレンドフィード閲覧 (http://friendfeed.com/ で表示されるもの)

更新履歴

これから

  • キャッシュ機能をつける。今はリロードするとすべて古いのが消える状態。
  • デザインをもっとどうにかする。
  • ポスト機能
  • フィルター機能 (ユーザ, サービスで絞込み)
  • ユーザアイコン
  • 気が向けばもっと

jQuery を使った。

トラックバック - http://orera.g.hatena.ne.jp/higeorange/20090515

2009-05-11

Speed dial + livedoor Readr or Weather 16:02 Speed dial + livedoor Readr or Weather - opera:hige を含むブックマーク はてなブックマーク - Speed dial + livedoor Readr or Weather - opera:hige

Speed Dial の 使いかたを考えてみる - opera:hige - チーム俺等 にコードを張っていなかったことにコメントがきて気づいた。 Thx, LDRマニア.

ちょっと手直ししてはっつけとく。

livedoor Reader 未読

#!/usr/local/bin/ruby
 
require 'open-uri' 

username = "higeorange" # livedoor のユーザネーム
p = URI.parse("http://rpc.reader.livedoor.com/notify?user=#{username}").read
unread = p[%r{\d+}i]
print "Content-Type: text/html\n\n"
print %Q{<html><head><title>livedoor reader Unread</title>}
print "</head><body>"
print %Q{<p style="font-size:300px">#{unread}</p>}
print "</body></html>"

天気

#!/usr/local/bin/ruby                                                              
require 'open-uri'
require 'rexml/document'

city_number = 70 # http://weather.livedoor.com/forecast/rss/forecastmap.xml 参照
url = "http://weather.livedoor.com/forecast/webservice/rest/v1?city=#{city_number.to_s}&day="
date = Time.now
if date.hour < 12 # 昼12 時までは今日の天気、それ以降は明日の天気
    url += 'today'
else
    url += 'tomorrow'
end

xml = URI.parse(url).read
wt = REXML::Document.new(xml).root
tt = wt.elements['./image/title'].text
to = wt.elements['./image/url'].text
tc = wt.elements['./title'].text
tmax = wt.elements['./temperature/max/celsius'].text
tmin = wt.elements['./temperature/min/celsius'].text

print "Content-Type: text/html\n\n"
print "<html><head>"
print %Q{<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">}
print "<title>Weather</title></head><body>"
print %Q{<h1 style="font-size:80px">#{tc}</h1>}
print %Q{<p><img src="#{to}" alt="#{tt}" width="600" heigth="600"></p>}
print %Q{<p style="font-size: 80px">最高/最低気温: #{tmax}/#{tmin}</p>}
print "</body></html>"

sinatra

これだけだとあれなんで sinatra で未読数を JSON で返すのもやってみた。

require 'open-uri'
require 'rubygems'
require 'sinatra'
require 'haml'

get '/ldr/:username' do
  @username = params[:username]
  p = URI.parse("http://rpc.reader.livedoor.com/notify?user=#{@username}").read
  @unread = p[%r{\d+}i]
  @callback = params[:callback]
  content_type('text/javascript; charset=utf-8')
  erb :ldr
end
views/ldr.erb
<%= @callback %>({"unread": <%= @unread %>})
実際に動いている例

http://sinatra.higeorange.com/ldr/higeorange?callback=unread


なお XREAsinatra を動かすのに参考にした記事

トラックバック - http://orera.g.hatena.ne.jp/higeorange/20090511
 |