Sinatra使って、はてなブログのRSSを取得してみる

前から気になっていたSinatraを使ってみました。

2日間触ってみた感想ですが、かなりの容易さを感じました。
もちろん躓くところは多々あったのですが、全く手に負えないと言う程ではなく、なんとか一人でも解決していけました。

参考にしたサイト

とりあえず色々なサイトを参考にさせてもらいながらRSSを取得して表示させるところまでやってみます。
sinatra入門
[Ruby] Sinatra超入門

環境

  • MacOS Sierra 10.12.3
  • Ruby 2.3.3p222

GEMS

設定開始

まずはSinatraなどのインストール

[shell]
$ bundle init
[/shell]

Gemfileの編集

[shell]
$ emacs Gemfile

gem “sinatra”
gem ‘sinatra-contrib’
gem ‘thin’
[/shell]
thinはwebrickの代わりに使います。thinを入れるとこっち優先で使ってくれるらしい。

[shell]
$ bundle install –path vendor/bundle
[/shell]

処理を書いていきます

myapp.rb 名前は適当に・・・

$ emacs myapp.rb

[shell]
require ‘sinatra’
require ‘sinatra/reloader’
require ‘rss’

before do
@title = “おいどんブログまとめ”
end

get ‘/’ do
feeds = []
feeds.push(“https://blog.tstylestudio.com/feed/”)
feeds.each { |feed|
@rss = RSS::Parser.parse(feed)
}
erb :index
end
[/shell]
before do〜endはget ‘/’ doの実行前に呼ばれる。
feedsは将来的に複数のサイトからrssを取得したいと思ってるので、配列で宣言しておく。
erb :indexでviews/index.erbの内容を表示する。
またviews/layout.erbがあれば、これが一番最初に読み込まれる。
通常、layout.erbをベースにして、このファイルからindex.erbなどを読み込む処理を追加する。

$ emacs views/layout.erb

[shell]




<%= @title %>

<%= yield %>



[/shell]

$ emacs views/index.erb

[shell]

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください