会社でいろいろやらんといけんので。
世の中から4年ほど遅れてるのね・・。
で、Planetとやらをやりたい。
PlaggerでPlanet SGIを作ってみた
あったんで参考にやるがうまくいかず。
YAMLつくって
plagger -c planet.yaml
でいくっぽいがエラー。
YAMLは上のサイトと、本家の
planet.yaml
を参考。
global:
plugin_path:
# - C:\strawberry\perl\site\lib\Plagger\Plugin
assets_path: C:\strawberry\perl\bin\assets\common
timezone: Asia/Tokyo
cache:
base: C:\strawberry\perl
log:
level: info
plugins:
# Subscribe to a couple of "My Feeds" on the web
# They could be either Feeds URL or Blog URL (with Auto-Discovery support)
- module: Subscription::Config
config:
feed:
- http://www.ncbi.nlm.nih.gov/feed/rss.cgi?ChanKey=PubMedNews
# Load 'Bundle' planet plugins
- module: Bundle::Planet
config:
title: ahoahoman
duration: 7 days
description: Everything Plagger from the Web
dir: C:\strawberry\perl\work\planet
url: http://examples.com/planet/
#theme: sixapart-std
#theme: planet
stylesheet: http://bulknews.typepad.com/blog/styles.css
でやると、
Plagger::Plugin [fatal] file error - default\template\index.tt: not found at line 144
でダメ。
そこらじゅうにdefault\template\index.tt つくったけどパスとおらず。
すったもんだしたあげく、
global:
log:
level: debug
にしてみたところ、
Plagger::Template [debug] Assets path: C:\strawberry\perl\bin\assets\common\plugins\Publish-Planet:C:\strawberry\perl\bin\assets\common\common
commonがふたつ連なってる!!。アホ。
で、
assets_path: C:\strawberry\perl\bin\assets
と修正。
やったー。終わりって思ったら
opml.tt がないってエラー。
ふう。まあもう原因わかったからいいや。
本家サイトからopml.tt とってきて保存しよ。
2010年3月29日月曜日
plagger gmail_notify.tt
こんなエラー
C:\strawberry\perl\work\plagger>plagger -c rss2emali.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
............
Plagger::Plugin::Aggregator::Simple [info] Aggregate http://www.ncbi.nlm.nih.gov/feed/rss.cgi?ChanKe
y=PubMedNews success: 12 entries.
Plagger::Template [debug] Assets path: C:\strawberry\perl\bin\assets\plugins\Publish-Gmail:C:\strawb
erry\perl\bin\assets\common
Plagger::Plugin [fatal] file error - gmail_notify.tt: not found at line 144
で、Assets path の設定をするらしい。
Plagger::Template [debug] Assets path:以下の、
C:\strawberry\perl\bin\assets\common がないので作成。
で、gmail_notify.tt がないので困る。どうやら、Plagger.org からもらえばいいらしい。
Plagger.orgのここからいただく。
で、C:\strawberry\perl\bin\assets\common に保存。
さらに、rss2emali.yaml に
global:
assets_path: C:\strawberry\perl\bin\assets
を追加するらしい。
おー、なんか動いた。
C:\strawberry\perl\work\plagger>plagger -c rss2emali.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
............
Plagger::Plugin::Aggregator::Simple [info] Aggregate http://www.ncbi.nlm.nih.gov/feed/rss.cgi?ChanKe
y=PubMedNews success: 12 entries.
Plagger::Template [debug] Assets path: C:\strawberry\perl\bin\assets\plugins\Publish-Gmail:C:\strawb
erry\perl\bin\assets\common
Plagger::Plugin [fatal] file error - gmail_notify.tt: not found at line 144
で、Assets path の設定をするらしい。
Plagger::Template [debug] Assets path:以下の、
C:\strawberry\perl\bin\assets\common がないので作成。
で、gmail_notify.tt がないので困る。どうやら、Plagger.org からもらえばいいらしい。
Plagger.orgのここからいただく。
で、C:\strawberry\perl\bin\assets\common に保存。
さらに、rss2emali.yaml に
global:
assets_path: C:\strawberry\perl\bin\assets
を追加するらしい。
おー、なんか動いた。
plagger 500エラー
C:\strawberry\perl\work\plagger>plagger -c rss2emali.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
Plagger [info] plugin Plagger::Plugin::Bundle::Defaults loaded.
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger [info] plugin Plagger::Plugin::Summary::Auto loaded.
Plagger [info] plugin Plagger::Plugin::Summary::Simple loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::HatenaFotolife loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::MediaRSS loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::ApplePhotocast loaded.
Plagger::Plugin::Aggregator::Simple [info] Fetch http://feeds.feedburner.com/bulknews
Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://feeds.feedburner.com/bulknews
Plagger::Plugin::Aggregator::Simple [error] GET http://feeds.feedburner.com/bulknews failed: 500 Can
't connect to feeds.feedburner.com:80 (connect: timeout)
Plagger [error] http://feeds.feedburner.com/bulknews is not aggregated by any aggregator
Plagger::Plugin::Aggregator::Simple [info] Fetch http://bulknews.typepad.com/blog/atom.xml
Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://bulknews.typepad.com/blog/atom.xml
会社のWindowsに入れたら500エラーがでたが、なんのこたないプロキシエラーだった。
環境変数にHTTP_PROXY=・・・・ 設定で解決
Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
Plagger [info] plugin Plagger::Plugin::Bundle::Defaults loaded.
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger [info] plugin Plagger::Plugin::Summary::Auto loaded.
Plagger [info] plugin Plagger::Plugin::Summary::Simple loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::HatenaFotolife loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::MediaRSS loaded.
Plagger [info] plugin Plagger::Plugin::Namespace::ApplePhotocast loaded.
Plagger::Plugin::Aggregator::Simple [info] Fetch http://feeds.feedburner.com/bulknews
Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://feeds.feedburner.com/bulknews
Plagger::Plugin::Aggregator::Simple [error] GET http://feeds.feedburner.com/bulknews failed: 500 Can
't connect to feeds.feedburner.com:80 (connect: timeout)
Plagger [error] http://feeds.feedburner.com/bulknews is not aggregated by any aggregator
Plagger::Plugin::Aggregator::Simple [info] Fetch http://bulknews.typepad.com/blog/atom.xml
Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://bulknews.typepad.com/blog/atom.xml
会社のWindowsに入れたら500エラーがでたが、なんのこたないプロキシエラーだった。
環境変数にHTTP_PROXY=・・・・ 設定で解決
2010年3月19日金曜日
Catalystメソッド動き
ControllerにRegist.pmあったとして、
Rootのindex.tt に、 a href=regist/test とか href=regist/test/ と書く、
で、
regist/index.tt
regist/test.tt
regist/test/index.tt
regist/test/test.tt
用意。結果は、こんな感じだった。
1.Regist.pm sub test:Local{} をさがす
2.メソッドがなければ404エラー表示
なので、、、、メソッド記述。
3.メソッドあったら、中身実行。
4. sub test:Local{} 空っぽにしとくと、
→ regist/test.tt にいく
5. $c->response->body('testtest');
→ testtest 直接書く
6. $c->stash->{template} = 'index.tt';
→ root dir の index.tt 表示
7. $c->stash->{template} = 'regist/index.tt';
→ regist/index.tt 表示
Privateアトリビュートにしたらどうなるの?
アトリビュート調べんと。
Rootのindex.tt に、 a href=regist/test とか href=regist/test/ と書く、
で、
regist/index.tt
regist/test.tt
regist/test/index.tt
regist/test/test.tt
用意。結果は、こんな感じだった。
1.Regist.pm sub test:Local{} をさがす
2.メソッドがなければ404エラー表示
なので、、、、メソッド記述。
3.メソッドあったら、中身実行。
4. sub test:Local{} 空っぽにしとくと、
→ regist/test.tt にいく
5. $c->response->body('testtest');
→ testtest 直接書く
6. $c->stash->{template} = 'index.tt';
→ root dir の index.tt 表示
7. $c->stash->{template} = 'regist/index.tt';
→ regist/index.tt 表示
Privateアトリビュートにしたらどうなるの?
アトリビュート調べんと。
2010年3月12日金曜日
Catalyst でリンクをつくる
Hello アプリを作ったので、その中にGoodMorming.pmをつくってそこにリンクを飛ばす。
./hello_create.pl contoroller GoodMorning
Hello/lib/Hello/Controller に移動
で、Root.pm と GoodMorning.pm を編集
ともに、
sub index :Path :Args(0){}
としておく。とりあえず。
で、Hello/root ディレクトリに移動
Root.pmのインデックスページは
index.tt として、このディレクトリに保存(Hello/root/index.tt)
GoodMorning.pmのインデックスページは、
とりあえず、
mkdir goodmorning (Hello/root/goodmorning) しといて、
この下に、index.tt を作成。(Hello/root/goodmorning/index.tt)
で、たとえば、Hello/root/index.ttから、
Hello/root/goodmorning/index.tt にリンクするときは、
<a href=goodmorning/>おはよう</a>
ってしとくと、
あらやだ奥さん。GoodMorningのインデックスページにトンじゃいましたはよ。
Root.pmののインデックスページには
<a href=/>ハロー</a>
ってしとくとリンク成功。
ちなみに普通のWebページには通常通り
<a href=http://www.google.co.jp/>Google</a>
ってしとけばよい。
いやーすごいね。かっちょいい。
コントローラーのクラスとメソッドとアトリビュートの
関係をお勉強してパラメータのやり取りとか
もっとおべんきょしよ。これからだ。
./hello_create.pl contoroller GoodMorning
Hello/lib/Hello/Controller に移動
で、Root.pm と GoodMorning.pm を編集
ともに、
sub index :Path :Args(0){}
としておく。とりあえず。
で、Hello/root ディレクトリに移動
Root.pmのインデックスページは
index.tt として、このディレクトリに保存(Hello/root/index.tt)
GoodMorning.pmのインデックスページは、
とりあえず、
mkdir goodmorning (Hello/root/goodmorning) しといて、
この下に、index.tt を作成。(Hello/root/goodmorning/index.tt)
で、たとえば、Hello/root/index.ttから、
Hello/root/goodmorning/index.tt にリンクするときは、
<a href=goodmorning/>おはよう</a>
ってしとくと、
あらやだ奥さん。GoodMorningのインデックスページにトンじゃいましたはよ。
Root.pmののインデックスページには
<a href=/>ハロー</a>
ってしとくとリンク成功。
ちなみに普通のWebページには通常通り
<a href=http://www.google.co.jp/>Google</a>
ってしとけばよい。
いやーすごいね。かっちょいい。
コントローラーのクラスとメソッドとアトリビュートの
関係をお勉強してパラメータのやり取りとか
もっとおべんきょしよ。これからだ。
2010年3月11日木曜日
Catalyst アトリビュートとは
sub index :Path{}とか:の後ろについたやつ。
いろいろある。
初めてのCatalyst入門
:Local ネームスペース+アクション名
:Global アクション名
:Path リテラルでパスを指定
:LocalRegex ローカルな正規表現でパスを指定
:Regex グローバルな正規表現でパスを指定
:Private 直接パスに割り当てられず、内部で使用
:Args 補助的に引数を制限する場合に使用
:Chained 複数のアクションを連鎖場合に使用
いろいろある。
初めてのCatalyst入門
:Local ネームスペース+アクション名
:Global アクション名
:Path リテラルでパスを指定
:LocalRegex ローカルな正規表現でパスを指定
:Regex グローバルな正規表現でパスを指定
:Private 直接パスに割り当てられず、内部で使用
:Args 補助的に引数を制限する場合に使用
:Chained 複数のアクションを連鎖場合に使用
3.head
head を記述
このヘッダー部分に各種メタ情報を記述する。
meta(CSS、Javascript、文字コード), title,link,script タグなど
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title> タイトル </title>
<link rel=stylesheet href=test.css type=text/css>
<script type=javascript>
このヘッダー部分に各種メタ情報を記述する。
meta(CSS、Javascript、文字コード), title,link,script タグなど
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title> タイトル </title>
<link rel=stylesheet href=test.css type=text/css>
<script type=javascript>
1.!DOCTYPE
まず!DOCTYPE
タグじゃないがHTMLの一番最初に記述
必須ではないので書かなくても動く。
HTMLのバージョンを指定
これを明示的に指定した場合は、そのバージョンに準拠した
HTMLタグでかかないとエラー。
ケイタイなんかだとCompact HTMLとか指定するらしい。
調べ次第、もうちょっと内容・説明厚くする
タグじゃないがHTMLの一番最初に記述
必須ではないので書かなくても動く。
HTMLのバージョンを指定
これを明示的に指定した場合は、そのバージョンに準拠した
HTMLタグでかかないとエラー。
ケイタイなんかだとCompact HTMLとか指定するらしい。
調べ次第、もうちょっと内容・説明厚くする
2010年3月9日火曜日
Catalyst CSS
とりあえず、CSSをいれる。Hello/root 以下につくればいいのかね。
で、hello.css をつくる。
h1{
color: #ff0000;
}
div{
color: #00ff00;
}
p{
color: #0000ff;
}
みたいにかいとけばいい。
で、index.tt の なかに
link rel=stylesheet href=hello.css type=text/css
を入れとけばCSS読まれる。DIVタグとか色変わる。
CSSなんて8年ぶりくらいだ。忘れたよ。
で、hello.css をつくる。
h1{
color: #ff0000;
}
div{
color: #00ff00;
}
p{
color: #0000ff;
}
みたいにかいとけばいい。
で、index.tt の なかに
link rel=stylesheet href=hello.css type=text/css
を入れとけばCSS読まれる。DIVタグとか色変わる。
CSSなんて8年ぶりくらいだ。忘れたよ。
Catalyst パス
動きを見ると、http://127.0.0.1:3000/ のパスは、
Hello/root みたい。
Hello.pmとかでディレクトリ指定する場合はここがRootになるのかね?
まあおいおいやっていこう。
Hello/root みたい。
Hello.pmとかでディレクトリ指定する場合はここがRootになるのかね?
まあおいおいやっていこう。
Catalyst memo
catalyst.pl Helloやったら、
Hello/root ディレクトリができる。
ここにroot.tt だの index.tt だの作るのか?
で、index.tt編集。中にHTML かいて、
[% c.config.name %]
てやると、設定したハッシュ(config)のキー(name )のValueが表示される。
で、どうやら、このハッシュの設定は2箇所でできる。
ひとつは、lib/Hello.pm の __PACKAGE__->config();で、
__PACKAGE__->config( ore => 'ahoaho', anata => 'tennsai', );
ってやると、
[% c.config.ore %]
[% c.config.anata %]
でValueが表示できる。
もうひとつは、Helloディレクトリ内の、hello.confで、
ここを編集して、
kare ahokamo
kanojyo ahodesu
ってかいとくと、
[% c.config.kare %]
[% c.config.kanojyo %]
で、Valueが表示できる。
Catalystのサンプルが少ないのでやり方ふるいかも。
まあとりあえず動かすところから。
いろいろメモしとく。
Hello/root ディレクトリができる。
ここにroot.tt だの index.tt だの作るのか?
で、index.tt編集。中にHTML かいて、
[% c.config.name %]
てやると、設定したハッシュ(config)のキー(name )のValueが表示される。
で、どうやら、このハッシュの設定は2箇所でできる。
ひとつは、lib/Hello.pm の __PACKAGE__->config();で、
__PACKAGE__->config( ore => 'ahoaho', anata => 'tennsai', );
ってやると、
[% c.config.ore %]
[% c.config.anata %]
でValueが表示できる。
もうひとつは、Helloディレクトリ内の、hello.confで、
ここを編集して、
kare ahokamo
kanojyo ahodesu
ってかいとくと、
[% c.config.kare %]
[% c.config.kanojyo %]
で、Valueが表示できる。
Catalystのサンプルが少ないのでやり方ふるいかも。
まあとりあえず動かすところから。
いろいろメモしとく。
2010年3月1日月曜日
登録:
投稿 (Atom)