m_shige1979のささやかな抵抗と欲望の日々

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

なんとなく作ったサイト

http://www.it-check-matome.info/


Github(注意すること)

https://github.com/mshige1979

Mojoliciousの学習「RSSより一覧を表示」

前回

f:id:m_shige1979:20130929132953j:plain

今回

f:id:m_shige1979:20131014121603j:plain

やったこと

外部モジュール使用

XML::Feed
XML::FeedPP
※結構依存モジュールがあるので注意する

外部ファイルの使用
m-shige1979@mshige1979-virtual-machine:~/sample_mojo1$ tree
.
--- app.psgi
--- cpanfile
--- lib
--- public
    --- css
    --- --- app.css
    --- --- bootstrap-theme.min.css
    --- --- bootstrap.min.css
    --- --- docs.css
    --- --- pygments-manni.css
    --- fonts
    --- --- glyphicons-halflings-regular.eot
    --- --- glyphicons-halflings-regular.svg
    --- --- glyphicons-halflings-regular.ttf
    --- --- glyphicons-halflings-regular.woff
    --- js
        --- app.js
        --- bootstrap.min.js
        --- html5shiv.js
        --- jquery-1.10.2.min.map
        --- jquery.js
        --- respond.min.js

※app.psgiと同じディレクトリに「public」ディレクトリを作成すればそこが公開ディレクトリになるのでそこにjsやcssのファイルを配置する

リスト配列を使用して一覧表示
    # rssを取得
    my $rss_url = "http://b.hatena.ne.jp/entrylist/it?sort=hot&threshold=&mode=rss";
    my $feed = XML::FeedPP->new($rss_url, utf8_flag => 1)
      or die XML::Feed->errstr;

    # リストに格納
    for my $entry($feed->get_item()){

        push @$rss_list, {
            title => ( $entry->title),
            url => $entry->link,
            count => $entry->get("hatena:bookmarkcount")
        }
    }

※原因はよくわかっていないが「utf8_flag => 1」を指定しないとタイトルなどが文字化けしてしまった。あとでエンコードしようとしても文字化けしたけどなんか悪かったのかな?

つまったこと

なんかモジュールがインストールできない

とりあえず、以下のものを追加したらできた

sudo apt-get install libxml2-dev
広告を非表示にする