dmmのブログパーツ自作してみた by heroku + sinatra
ブログのサイドバーがさみしいので、まとめサイトみたいに画像だけをたくさんばーっと縦に並べたい
と思いdmmのブログパーツ見てみたけど、画像だけ20個並べるとかそういうのなかった
dmm、web apiあるしherokuでsinatra使ったらできるんじゃね
ということで作ってみた
herokuのアカウントあるし、dmmのweb api使用登録も済んでるからあとは書くだけ
app.rb
# coding: utf-8 require "rack/cache" require "sinatra" require "dmm/api" require "coffee-script" if development? require 'sinatra/reloader' set :bind, '0.0.0.0' end use Rack::Cache Dmm::Api.configure do |options| options[:api_id] = "api id" options[:affiliate_id] = "affiliate id" options[:site] = "DMM.co.jp" end get '/dmm.js' do # 1 day cache cache_control :public, :max_age => 86400 res = Dmm::Api.get({:keyword => "あうー",:hits => "20",:sort => "rank"}) s= res["result"]["items"]["item"].each.inject("") do |s,v| s << "<a href='%s' target='_blank'><img alt='%s' src='%s'></a>" % [v["affiliateURL"],v["title"],v["imageURL"]["small"]] end coffee "document.write \"#{s}\"" end
Gemfile
source 'https://rubygems.org' ruby '2.0.0' gem 'sinatra' gem 'rack-cache' gem "dmm-api" gem "coffee-script" group :development do gem 'sinatra-contrib' end
Procfile
web: bundle exec ruby app.rb -p $PORT
ファイル3つ作ってherokuへ上げるだけ
cd hoge git init git add . git commit -m "1st" heroku create hoge --stack cedar git push heroku master
あとはブログ側で呼び出し
<script type="text/javascript" src="http://hoge.herokuapp.com/dmm.js"></script>
やっぱherokuさんとかsinatraさんとかすごいっす