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
参考
[ツッコミを入れる]




