オレンジ色にして枠消してタイトルと一体化
ちょっと満足してきました
■ [tDiary] カテゴリを静的html化
yearとかmonthとか対応してなかったので、やった
ReqriteRuleに条件とか追加できるか分からなかったのと
";"を含めたURLがなにやらエラーになってしまったので
昨晩は放置してた
結局RewriteRuleを3分割にするのと
(上から適用されるんだよね??)
";"を適切にエスケープ(しなきゃいけないんだよね??)
で、無事カテゴリもhtml化できた
RewriteRule ^category_(.+)_year_(.+)_month_(.+)\.html$ index.rb?category=$1\;year=$2\;month=$3
RewriteRule ^category_(.+)_year_(.+)\.html$ index.rb?category=$1\;year=$2
RewriteRule ^category_(.+)\.html$ index.rb?category=$1
あとはcatogory.rbの出すアンカのセパレータを"_"に変えて
後ろに".html"をつけるだけ。それは後でやる。
(追記)
やった。出先だとウェブFTP使うから面倒だったんだけど
わりと時間が空いたので(それにコードも単純だったし)
■ [inside] Google Analysticでアクセス解析
Googleが提供するアクセス解析である
Google Analysticを導入した
思ったより軽い
解析を始めるには、トップページを指定して、
そこに解析用のJavaScriptを埋め込まないといけない
tDiaryならskelフォルダのfooter.rhtmlに埋め込むといいと思う
このサイトでは、トップをhttp://www.bibibi.info/dにしたら駄目で
http://www.bibibi.info/d/なら正常に稼動した
最後のスラッシュを省いたときに補完してたのって
ブラウザの機能だったのかな
ちなみに
http://www.bibibi.info/d/index.htmlも駄目
mod_rewriteにそんな設定はされてないから
■ [tDiary] エントリのyyyymmdd→yyyymmddHHMM化
要するに、エントリを細分化したい。
なんでかっていうと、カテゴリからのリンクをクリックしたときに、
エントリの途中に飛ぶと、一瞬どこを見ていいか困るから。
つまり、ブログ化なんだけど
BlogKitのほうは更新のたびに意味無く日付が
インクリメントされてるので、自前での実装を考える。
デメリットは、処理が重くなる
Array#eachって重いんだっけ?たしか
じゃあひとまずindex.rbの解析から
index.rbは処理に応じて
tdiary.rb内の適切なオブジェクトの
initializeを呼ぶことで各処理を実装している
日記を追加しているのはここっぽい
TDiaryAppend.initialize
定義はそれぞれ
class TDiaryAppend < TDiaryUpdate
def initialize( cgi, rhtml, conf )
特に気になる箇所は
@diary = self[ @date ] || @io.diary_factory( @date, @title, '', @conf.style )
TDiaryAppend.self << @diary.append( @body, @author )
噛みくだく
@dateってなんだ?
@date = Time::local( @cgi.params['year'][0].to_i,
@cgi.params['month'][0].to_i,
@cgi.params['day'][0].to_i )
yyyymmddのみをキーにTimeオブジェクトを作っている
(時刻は無視している)
@ioってなんだ?
class TDiaryBaseで次のように定義されている
@io = @conf.io_class.new( TDiaryBase.self )
@confってなんだ?
TDiaryBase 内で定義されている
attr_reader :conf
TDiaryAppend.initialize( cgi, rhtml, conf )
で渡されている
@diary = self[ @date ] || @io.diary_factory( @date, @title, '', @conf.style )
がやってることって、
self[ @date ] を呼ぶか、無ければ新たに日記を生成してる
self[]( arg )の実装を調べる
def TDiaryBase.[]( date )
@diaries[ date.strftime( '%Y%m%d' ) ]
end
なるほど、Timeオブジェクトを文字列に変換して
それを配列の添え字にしてるのね
追加は要素を増やしたもので上書きして行っているようだ
def <<( diary )
@diaries[diary.date.strftime( '%Y%m%d' )] = diary
end
class Config
@conf.io_class.new の実装は?
require 'tdiary/defaultio' して DefaultIO に任せている
↑じゃあここにファイル名があるね
↑データフォーマットもある
tdiary.rb の
@diaries へのアクセス箇所全てと、
defaultio のフォーマットと
各テンプレの表示コードを改造すればできそう。
■ [murmur] GPL2ライセンスに関して
コードスニペットは複製物で、それを載せてる場合
複製物の配布に当たるよね
日付の明示はtDiaryの更新月日だと思ってください
あとでLastModified表示しとかないと駄目かな。
あと、著作権元の表示だけど
tDiaryに関してはフッタにあるからいい(だめ?)として
ちまちまいじってるプラグインも製作者に確認とろう。
今、出先だからちょっと待って
Windows Mobile 5 で作ったアプリケーションを
Windows Mobile 6 に持ってきてコンパイル
無事通った、けど
実行→○○.exeで問題が発生しました
追うのが面倒なので
空プロジェクト作り直して、
もとのモジュールを追加していくことにした
そのうちエラーの原因も分かるといいな
■ [murmur] 社会保険庁はボーナス満額
ってのをzakzakの記事で読んだ。
これって文句言ったらまた対応するのはアルバイトなのかな?
で、その人たちへの給料は税金でまかなわれている、という 笑
文句を言うほど使われる税金が増えて、国民が苦しむ構造
ニュー速+の関連スレには反-貧困なんてのが貼られてた。
パレードやるっぽい。集金ビジネスじゃないよね?
バッジがちょっとかわいい。買ってもいいかも
■ [inside] twitterに更新通知(その2)
昨日は適当な文字列をプラグインから送るテストだったので、
今日はきちんとした更新情報をtwitterに通知してみる
いけるかな?
■ [inside] twitterに更新通知(その3)
えっと
'status=#{status}' → "status=#{status}"
に変えてもう一度挑戦 笑
■ [inside] twitterに更新通知(その4)
修正したプラグインをFTPにあげてなかった。
/(^o^)\
今度こそ・・・
■ [inside] twitterに更新通知のためにプラグインを修正
もとはぺお記すさんのところの、
notify_twitter.rbです
なぜかウチのロリポサーバから使えなくて、
(でも他にそういう話を聞かないので、きっと僕が悪いのだ)
エラーを見た感じだと、Net::HTTP::Post の
bodyなんかが使えないみたいなので
Net::HTTPのみにしました。
def update( status )
Net::HTTP.start( 'twitter.com' ){ |http|
res = http.post( '/statuses/update.json', "status=#{status}".toutf8, "Authorization" => "Basic " + Base64.encode64("#{@user}:#{@pass}") + "\n" )
}
end
kconvとtoutf8って、つかってなかったけど、
使わないほうがいいのかな?
あと、本文最後に" ."をつけてた理由も知りたいです
勉強不足でごめんなさい!