wiki で インラインでの {{include()}}

809 views
Skip to first unread message

turutosiya

unread,
Aug 31, 2009, 3:53:40 AM8/31/09
to Redmine Users (japanese)
こんにちは、津留です。


wikiで {{include()}} をインラインで行うことは出来るのでしょうか?

「この文書は、{{include()}} に関する…」
↑のようなことをやりたいと思っています。

皆様のお知恵を貸して頂きたく。m(_ _)m

avalanche

unread,
Sep 1, 2009, 11:01:41 PM9/1/09
to Redmine Users (japanese)
こんにちは。

期待する結果が良くわからないのですが・・・
「この文書は、{{include()}} に関する…」
↑のようなことをやりたいと思っています。

というのは、別のwikiページの内容を該当部分に表示させたいという事でしょうか?
であれば、引数に対象のページ名を渡せば、表示できませんか?

Toshiya TSURU

unread,
Sep 1, 2009, 11:12:26 PM9/1/09
to redmine-...@googlegroups.com
↓のように、includeマクロを使うと改行されてしまうので、良い方法が無いかと思いまして。。。

「この文書は、{{include(hoge)}} に関する…」

「この文書は、
ほげ
に関する…」


「”インライン"で」 include の様なことをやりたいのです。


2009/9/2 avalanche <avalanc...@gmail.com>:
--
Toshiya TSURU <turut...@gmail.com>
http://www.google.com/profiles/turutosiya

avalanche

unread,
Sep 3, 2009, 2:16:48 AM9/3/09
to Redmine Users (japanese)
こんにちは。

includeマクロは、lib\redmine\wiki_formatting\macros.rb に記述されています。
拾ってきたデータを最後にtextilizableに投入すると、出力値は改行が入ってしまいます。
out = textilizable(page.content, :text, :attachments =>
page.attachments)

従って、改行が嫌であれば似たようなマクロを用意して、out に入れる値を好きな形に
加工すれば実現できるかと思います。

とりあえず動作を確認して見るなら

out = textilizable(page.content, :text, :attachments =>
page.attachments)

out = page.content.send(:text).to_s
のように変えてしまうとか・・・。

On 9月2日, 午後12:12, Toshiya TSURU <turutos...@gmail.com> wrote:
> ↓のように、includeマクロを使うと改行されてしまうので、良い方法が無いかと思いまして。。。
>
> 「この文書は、{{include(hoge)}} に関する…」
> ↓
> 「この文書は、
> ほげ
> に関する…」
>
> 「”インライン"で」 include の様なことをやりたいのです。
>
> 2009/9/2 avalanche <avalanchesl...@gmail.com>:
>
>
>
>
>
> > こんにちは。
>
> > 期待する結果が良くわからないのですが・・・
> > 「この文書は、{{include()}} に関する…」
> > ↑のようなことをやりたいと思っています。
>
> > というのは、別のwikiページの内容を該当部分に表示させたいという事でしょうか?
> > であれば、引数に対象のページ名を渡せば、表示できませんか?
>
> > On 8月31日, 午後4:53, turutosiya <turutos...@gmail.com> wrote:
> >> こんにちは、津留です。
>
> >> wikiで {{include()}} をインラインで行うことは出来るのでしょうか?
>
> >> 「この文書は、{{include()}} に関する…」
> >> ↑のようなことをやりたいと思っています。
>
> >> 皆様のお知恵を貸して頂きたく。m(_ _)m
>
> --
> Toshiya TSURU <turutos...@gmail.com>http://www.google.com/profiles/turutosiya

fmkt

unread,
Sep 3, 2009, 3:05:04 AM9/3/09
to Redmine Users (japanese)
こんにちは。

avalancheさんのレスをみて一応 textilizable な表記も残しつつな方法を書いてみました。

Index: lib/redmine/wiki_formatting/macros.rb
===================================================================
--- lib/redmine/wiki_formatting/macros.rb (リビジョン 2851)
+++ lib/redmine/wiki_formatting/macros.rb (作業コピー)
@@ -112,7 +112,7 @@
@included_wiki_pages ||= []
raise 'Circular inclusion detected' if
@included_wiki_pages.include?(page.title)
@included_wiki_pages << page.title
- out = textilizable(page.content, :text, :attachments =>
page.attachments)
+ out = args.include?("inline") ? page.content.send
(:text).to_s : textilizable(page.content, :text, :attachments =>
page.attachments)
@included_wiki_pages.pop
out
end

インラインにする使い方はこんな感じ。

「この文書は、{{include(hoge,inline)}} に関する…」

まぁこの方法だと inline というwikiページがあったら強制的にインラインになってしまいますね。
args.shift してからフラグ確認した方がいいかもしれないです。

もうよけいな事せずに全部インラインでいいよというのであれば avalanche さんの書かれてる方法で宜しいかと。

Toshiya TSURU

unread,
Sep 3, 2009, 8:33:05 AM9/3/09
to redmine-...@googlegroups.com
こんばんは。

fmktさん、有難うございます。完璧です。
「inline」というwikiは作らないと思うので、こちら使わせて頂きます。m(_ _)m

皆様、ご助言有難うございます。
さすがにシゴト早いですね。

2009/9/3 fmkt <fmkt....@gmail.com>:
Reply all
Reply to author
Forward
0 new messages