samidare_plus開発メモ

ToDo's and Bugs

  • deleteしたときにstatusが消えないのでエラーになる?
  • ドキュメントをもうちょいましなものに。
  • lirs出力制限。rdf出力。

保留

  • --single-thread指定をしないと終わらない(かすんごく遅い)。うちのマシンが非力なだけかも。
  • htree/samidareのバージョンが安定したらforkして取り込んだ方がよいか?
  • tmp.pngをコピーしてるのは無駄じゃろう。
  • 透過PNGはIEでは表示できない。

いずれぜひやりたい

  • はてなアンテナ・ブックマークのインポート
  • Bloglinesとのインポート・エクスポート
  • RSSなしのサイトで、TitlePath,DescriptionPathが指定されたらそのパス内のテキストを表示するようにすれば結構対処できるかな?(できれば、外部生成のRSSに依存したくない)tDiaryなら、とか、hnsなら、というような形なら大丈夫かも。

達成できたこと

  • URI等のブラウザからの編集
    • URI追加と消去[OK]
    • Title等のブラウザからの編集[いちおうできた]
  • 差分表示
    • RSSありのサイトは、最新のRSS表示を行う。とくにdiffとかとらなくてもよさげ。[OK]
    • RSSなしのサイトは、diff-contentを表示。[OK]
    • tDiaryのmakerss.rbに対応。descriptionがなくて、content:encodedがあればそっちを表示。あれ、でもcontent:encodedにtitleと同じ文字列が入ってるのはどうよ。[OK]
  • パッケージ化
    • samidare本体をrequireする形にして、Entryクラスをオーバライドすればいいかんじかも。
  • なんだか、faviconを表示したくなってきたぞ。iconが16x16,32x32な場合とか、not foundだった場合とかまでOk。実体がWWWROOTじゃなかった場合はまだ。
  • tDiaryテーマ追従
  • status.rmを消さないとカテゴリ修正が反映されない。修正。
  • diffが取れないときにgenerate_lirsで

private method `gsub' called for #<HTree::Text:**?> =(NoMethodError)

とかいって転ける。なんで?とりあえず、main.rbを

      str << h['title'].to_s.gsub(/[,\\]/) { "\\#$&" }.strip.gsub(/\s/, ' ') << ','
      str << (h['author'].to_s || '0').gsub(/[,\\]/) { "\\#$&" }.strip.gsub(/\s/, '
') << ','

と修正した。

  • 巡回サイト以外の設定をどうするかなあ..。config.ymlじゃないほうがいいよなあ。

(とりあえずconfig.rbとした(ダサ!))

  • カテゴリがテンプレとconfigに分散してたのを集約。
  • URIをキーに管理してるので、URIが編集されると古いサイトがそのまま残り、新しいサイトができるという気持ち悪いことになってる。うむ?これは気のせいか。
  • htmlのdiffで、IgnorePathを有効に。うちのマシンではかなり速度的にきびしいが、まあ機能重視ってことで。
  • faviconは、<link rel="shortcut icon">で指定されているモノを取得するようにした。指定なければ従来通りサーバのルートを取りに行く。これも..重いっ!

memo

entry['_log']['content'].pathname がログのファイル名。あるとは限らない。

テンプレート中のself['antenna']は、main.rb中での、Entry.presentation_dataを指す。

status.rmはMarshal形式でそのままstatusオブジェクトを 吐き出したもの。

使ってくれた人の感想とか

  • ドキュメントにImageMagick必要との文言がない
  • プラグイン方式で機能が選べるとよい
  • 導入めんどい
  • 負荷でかい
  • サイト別idがURLそのものなのはどうか
  • Ignoreはやはりグルーブ全体に及ぼせる方がよい(samidareはできるのだが、webインターフェイスをつけたときにフラットにしてしまった。)
  • favicon.ico が/直下きめ打ち
  • escapeHTMLは要るのか
  • IgnorePath設定めんどい
  • DOCTYPEなくなる