2006-09-17(Sun) [長年日記]
_ [Hiki]Hikiで任意の箇所にアンカー&指示
後輩> Hikiでtocの見出しにtoc以外からジャンプできるようになりませんか? 俺 > tocの見出しアンカーって自動採番だから難しいと思うけど...
ってことでやってみた。ようは
<a name="kokodayo"> </a>
ってのがプラグインで指示できて、あとこれまた別の指示で
http://Server/hikifarm/hiki_sono_1/?Nantoka#kokodayo
みたいなリンクが生成されれればいいわけだから、
プラグイン
def a_h(anchor) %Q|<a name="#{anchor}"> </a>| end
InterWikiName
* [[self|http:?$1]]
本文(リンクされるほう)
! {{a_h kokodayo}}見出し1なんだよ。
本文(リンクするほう)
* [[self:Nantoka#kokodayo]]
hiki-currentで確認した。 自Wiki内を指すリンクが簡単にハッシュ込みで指示できるならInterWikiNameへの追加はいらないんだけどなー。たとえば:
* http:?TextFormattingRules#plugin
と書くと
<li>?TextFormattingRules#plugin<a class="nodisp" href="./?c=edit;p=%3FTextFormattingRules%23plugin" title="ページ ?TextFormattingRules#plugin を新規作成し、編集します。">?</a></li>
になっちゃうし。
とりあえず任意の箇所にアンカーがおけるようになったしよしとするか。
_ [Hiki]hikiの src.rb の表示が寂しい
せっかくsvnを使っていることだし、ソースそのままでは味気ないので svn blame の出力がいいんじゃね?ということで作ってみた。あまりにも手抜きなのでdiffだけ載せる。
--- ..\hiki\misc\plugin\src.rb Wed Jul 13 01:43:06 2005 +++ blame.rb Sun Sep 17 06:49:29 2006 @@ -1,7 +1,4 @@ -# $Id: src.rb,v 1.8 2005/07/13 01:43:06 fdiary Exp $ -# Copyright (C) 2003 TAKEUCHI Hitoshi <hitoshi@namaraii.com> - -def src +def blame sources = <<EOS <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" @@ -15,7 +12,7 @@ <body> <div> EOS - page = @db.load( @page ) + page = get_blame( @page ) sources << (page ? page.escapeHTML.gsub(/\n/, "<br>\n").gsub(/ /, ' ') : 'load error.') sources << <<EOS </div> @@ -36,6 +33,16 @@ nil # Don't move to the 'FrontPage' end +def get_blame(page) + ret = '' + Dir.chdir("#{@db.pages_path}") do + open("|svn blame -r HEAD #{page.escape.untaint}") do |f| + ret = f.read + end + end + ret +end + add_body_enter_proc(Proc.new do - add_plugin_command('src', src_label, {'p' => true}) + add_plugin_command('blame', blame_label, {'p' => true}) end)
これでsrc.rbの出力がsvn blame 相当になってちょっとうれしいかも。ていうか、history.rbの表示で、行ごとにrevisionがでてくれればいいのかも。ソース見る限りちょっと難しそうだったので見送り。
nice post. thanks.