/ 最近 .rdf 追記 編集 設定 本棚

log[20090828] 一日のタトルを HikiDocーマトで HTML



20090828() はてなの引用は元ページのタトルを自動取得できるのねん404 Not Foundからの引用になってる日記(マジックリン!)を見て気付いた。日記ブログの書かれた当時は当然 404ではなかったはずでどういうタイミングでページ取得を行ってるんだろう@2013-09-14Hatena Pagetitle Agent/1.0っていうのがそうかな?

最終更: 2013-09-14T00:17+0900

[tDiary] 一日のタトルを HikiDocーマトで HTML

使えないのを知っていて以前から HikiDocーマトでタトルを書いていた>>20090823 >>20090403

これを HTML化するのは意外と簡単プラグインでできる

add_title_proc {|date, title|
  if title.index('<')
    title.sub(/<span class="title">([^<>]+)<\/span>/){
      %/<div class="title">#{WikiSection.new(CGI.unescapeHTML $1).body_to_html}<\/div>/
    }
  else
    WikiSection.new(CGI.unescapeHTML title).body_to_html
  end
}

今日のタトルに含まれ==日記==ブログという部分があまりにわかりにくかったのでHTML化してみた次第URL自動リンクも有効になってうまうま


勘違い発覚Headingがブロック要素を包含できる気がしていたがHeading自身がブロック要素だということの記憶違い<div>を含めちゃだめだ

修正

add_title_proc {|date, title|
  inline_or_nil = lambda{|src|
    lines = src.split(/\r?\n/)
    return nil if 1 < lines.length
    html = WikiSection.new(lines.first).body_to_html
    return nil if html[0,3] != '<p>' or html[-4,4] != '</p>'
    return html
  }
  if title.index('<')
    title.sub(/<span class="title">([^<>]+)<\/span>/){|_0|
      html = inline_or_nil.call(CGI.unescapeHTML $1)
      html ? %/<span class="title">#{html}<\/span>/ : _0
    }
  else
    inline_or_nil.call(CGI.unescapeHTML title) or title
  end rescue title
}

それなりにチックはしてるけどブロック要素を返すプラグインを呼んだりしたら(HTMLの文法的に)即ア