2012-11-22 :-(
_ [grep.rb][tdiary][検索][search-default.rb]tdiary search-default.rb
grep.rb を使っていたら以下のように怒られた。昨日 GFM 書式を試そうとしてあーだこーだやった名残り。昨日の日記が GFM 書式になっているため。
q=リッジレーサー ArgumentError unknown diary format: GFM /home/rin/public_html/diary/grep.rb:353:in `split_sections' /home/rin/public_html/diary/grep.rb:339:in `parse' /home/rin/public_html/diary/grep.rb:320:in `block (2 levels) in read_diaries' /home/rin/public_html/diary/grep.rb:319:in `each' /home/rin/public_html/diary/grep.rb:319:in `block in read_diaries' /home/rin/public_html/diary/grep.rb:318:in `open' /home/rin/public_html/diary/grep.rb:318:in `read_diaries' /home/rin/public_html/diary/grep.rb:300:in `block in match_sections0' /home/rin/public_html/diary/grep.rb:313:in `reverse_each' /home/rin/public_html/diary/grep.rb:313:in `foreach_data_file' /home/rin/public_html/diary/grep.rb:299:in `match_sections0' /home/rin/public_html/diary/grep.rb:290:in `match_sections' (erb):13:in `search_result_page' /usr/pkg/lib/ruby/1.9/erb.rb:753:in `eval' /usr/pkg/lib/ruby/1.9/erb.rb:753:in `result' /home/rin/public_html/diary/grep.rb:253:in `search_result_page' /home/rin/public_html/diary/grep.rb:165:in `generate_page' /home/rin/public_html/diary/grep.rb:148:in `main' /home/rin/public_html/diary/grep.rb:448:in `<main>'
そういえばもはや grep.rb も tdiarysearch.rb も廃れておりモダンなものがあったのだよなあと
Re: [tDiary-devel] tdiarysearch について
現在、tdiary-grepをベースに検索プラグインの作法に則った版が
同梱されているので、まずはそちらを使ってみていただけますか。
contrib/plugin/search-default.rb
です。通常のプラグインと同様、設定ページから有効にするだけ
で使えるようになります。検索フォームはヘッダかフッタに以下の
ように入れるだけでいけます。
<%= search %>
ということで使ってみる。
% cp tdiary-contrib/plugin/search-default.rb ./tdiary-core/misc/plugin
フッタに書く。
<%= search %>
と書いてみたけど検索窓が出てこないのであった。search_default.rb を眺めても search が無いのでまあそうだよなあ。
ググって結局
<%= search_input_form( '' ) %>
_ [fswiki][FreeStyleWiki][Markdown]FreeStyleWiki 書式(の一部)を Markdown 書式へ変換する
fswiki プラグインは処理してない。
fswiki のエンコードは EUC-JP らしい。よく分かってない。
あとはテキトーに find とか for とか回せばいいんじゃないかしら。
#!/usr/bin/ruby # -*- encoding: utf-8 -*- require 'uri' require 'pp' =begin fswiki Markdown ^!!! # 見出し1 ^!! ## 見出し2 ^! ### 見出し3 ^---- 同じ 水平線 ^+ 1. 番号付きの箇条書き1 ^++ 1. 番号付きの箇条書き2 ^+++ 1. 番号付きの箇条書き3 ^* 同じ 箇条書き1 ^** 同じ 箇条書き2 ^*** 同じ 箇条書き3 [text|url] [text](url) 任意のURLへのリンク ^ + ^____ 整形済みテキスト ''text'' *text* 文字の修飾 '''text''' **text** 文字の修飾 ^"" >_ 引用 ページへのリンク [[page]] は処理しない。面倒くさすぎる =end def main(argv) hikifile = argv[0] lines = File.open(hikifile, "r:EUC-JP:UTF-8").readlines markdown = lines.map {|l| l. sub(/^\+/, '1. '). sub(/^\+\+/, ' 1. '). sub(/^\+\+\+/, ' 1. '). sub(/^(!!!)/, '#'). sub(/^(!!)/, '##'). sub(/^(!)/, '###'). gsub(/^ +/, ' '). gsub(/''(.*)''/, '*\1*'). gsub(/'''(.*)'''/, '**\1**'). gsub(/^""/, '> '). gsub(/\[([^\]]+)\|([^\]]+)\]/, '[\1](\2)') # [text|url] => [text](url) } mdfile = URI.decode(hikifile) + ".md" File.open(mdfile.encode("UTF-8"), "w:EUC-JP:UTF-8").write(markdown.join) end main(ARGV)
実行するとファイル名をデコードしたファイル名で生成する。
% ruby -Ke wiki2markdown.rb data/NetBSD/current%A4%F2%C4%C9%C0%D7%A4%B9%A4%EB.wiki
current%A4%F2%C4%C9%C0%D7%A4%B9%A4%EB.wiki currentを追跡する.wiki.md
参考
[ツッコミを入れる]