Not logged in. · Lost password · Register
Forum: Non-English Discussion Japanese discussion RSS
tabincludeプラグインを更新しました。
Avatar
iobataya #1
User title: iobataya
Member since Jan 2010 · 3 posts · Location: Japan
Group memberships: Members
Show profile · Link to this post
Subject: tabincludeプラグインを更新しました。
こんにちは。

複数のページをタブにまとめられるtabincludeプラグインを最新のAdora Belleに対応させました。
お使いのテンプレートで動くかチェックしていただけるとありがたいです。

リクエストも日本語でどうぞ。

https://www.dokuwiki.org/plugin:tabinclude
Avatar
s.sahara #2
Member since Feb 2012 · 50 posts · Location: Makuhari, Chiba, Japan
Group memberships: Members
Show profile · Link to this post
Subject: 日本語ページがタブ内に表示されない
tabincludeプラグイン(2013-02-05版)にて、
日本語を含むページ名を指定した場合、ボックス内に表示されませんでした。
script.jsの11行目を次のように修正して解決できましたので、ご報告します。

    //jQuery.post(DOKU_BASE + 'lib/plugins/tabinclude/ajax.php', { call: 'content', page: encodeURI(page) })
    jQuery.post(DOKU_BASE + 'lib/plugins/tabinclude/ajax.php', { call: 'content', page: page })

すばらしいプラグインを開発・公開頂き、ありがとうございます。
Avatar
iobataya #3
User title: iobataya
Member since Jan 2010 · 3 posts · Location: Japan
Group memberships: Members
Show profile · Link to this post
マルチバイト文字が入ると読み込めない問題を確認しました。
Saharaさんのfixで解決できます。GitHubの方に修正を入れておきます。
ありがとうございました!

obataya

P.S. 文法の自由度(改行で並べる)についても考慮中です。

Quote by s.sahara on 2013-02-08, 13:01:
tabincludeプラグイン(2013-02-05版)にて、
日本語を含むページ名を指定した場合、ボックス内に表示されませんでした。
script.jsの11行目を次のように修正して解決できましたので、ご報告します。

    //jQuery.post(DOKU_BASE + 'lib/plugins/tabinclude/ajax.php', { call: 'content', page: encodeURI(page) })
    jQuery.post(DOKU_BASE + 'lib/plugins/tabinclude/ajax.php', { call: 'content', page: page })

すばらしいプラグインを開発・公開頂き、ありがとうございます。
Avatar
s.sahara #4
Member since Feb 2012 · 50 posts · Location: Makuhari, Chiba, Japan
Group memberships: Members
Show profile · Link to this post
ご対応いただき、ありがとうございます。
文法の自由度についても考慮中と聞き、うれしく思います。
最初に要望をメールした際には、あまり考えがまとまっておりませんでした。
検討材料として、当方の要望「改行で並べたい」の背景を補足しておきます。


私の場合、tabincludeを使うwikiソースを次の手順で書いています。
  1. タブ内表示したいページをすべてリスト(箇条書き)する。
  2. (たいていページ名が長いので)短いタブ名を決める。
  3. リスト全体を後から tabinclude でマークアップする。

手順のステップが進むごとにソースにマークアップやパラメータを追記するだけで済むシンタックスにならないかな―という要望です。
現行のtabincludeシンタックス=カンマ区切りだと、ステップ3でDokuWikiで箇条書きを壊すことになります。

そこで考えたシンタックス代替案は、次のようなものです。

  <tabinclude? 400px noscrollbar select=3 ... >
    * [[page1|tab name1]]
    * [[page2]]
    * *[[page3| readme first]]
  </tabinclude>


DokuWiki「らしさ」をもたせるために、いずれも人気のある pagelist と WRAP のプラグインを参考。
マークアップ内がUNMATCHEDかどうかで、
パラメータ指定の開始を示す「?」記号の必要有無があるのかもしれない…と考えています。
単にシンタックスの覚えやすさ・流儀だけの問題かもしれませんし、
プラグイン側で「?」と「 」(空白文字)でも受け入れ可とできるはずです。

そのうえで、タブ初期ページの指定を
パラメータ(select=3の部分)でも、
ページ名の前に「*」を置く方法でも可能(後者の指定が優先)にしたものです。
パラメータで、タブボックスの高さを指定できればページデザイン面で好都合です。

すでに設置済みのtabincludeページに影響しないように、
できれば現行シンタックスと両方に対応する一つのプラグインが実現できればベストですね。
Avatar
iobataya #5
User title: iobataya
Member since Jan 2010 · 3 posts · Location: Japan
Group memberships: Members
Show profile · Link to this post
改行で区切る文法を追加したバージョンを作ってみました。
今までの文法はそのまま使えるので、良さそうならmasterに統合しようかと。

[文法を追加したブランチ]
https://github.com/iobataya/dokuwiki-plugin-tabinclude/tre…

[プラグイン管理画面でのダウンロードURL]
https://github.com/iobataya/dokuwiki-plugin-tabinclude/arc…

<tabinclude [クラス名]>
 ページID | タイトル
*初期ID  | タイトル
 ページID | タイトル
</tabinclude>

・CSS関連は出来る限り分離したいので、スペースで区切ってクラス名を指定できるようにしました。複数のクラス名でも指定出来ます。
・タブ構築部分はhelperプラグイン(helper.php)に移し、他プラグインから呼び出せるようにしました。
Avatar
s.sahara #6
Member since Feb 2012 · 50 posts · Location: Makuhari, Chiba, Japan
Group memberships: Members
Show profile · Link to this post
ありがとうございます。さっそく文法追加ブランチ版をテストしてみました。

テストページ :playground:test-tab を用意し、以下のように記述しました。
  <tabinclude myclass>
  :start | top page!    /*1 id=start になるはず */
  start | ns top!   /*2 id=playground:start */
  :start                     /*3 id=start になるはず */
  start                      /*4 id=playground:start */
  playground             /*5 id=playground:playground */
  test-tab                  /*6 id=playground:test-tab */
  </tabinclude>

気になる問題が2つありました。

★問題1:タブページの相対指定について
DoKuWiki本体機能では、[[start]と[[:start]] が区別されていますので、
タブページも同じように指定できると期待しています。
上記のテストページでは、
タブ1~4番目はいずれも id=start に解釈され、Wikiのトップページが表示されてしまいます。
5と6はいずれもタブには空白ページとなりました。
ページ相対指定に失敗しているようです。
syntax/lines.php の 16行目 function handle() の直後に1行 global $ID;を追加する必要があるようです。
これを追加してテストを続けました。

こんどは、3~6は期待通りの表示となりました。
1と2は いずれも id=start に解釈されます。タイトルを指定すると相対指定を判別できないようです…。 :'(

★問題2:初期ページの判別について
初期ページを明示的に指定しないケースでは タブボックスに何も表示されません。
仕様であれば仕方ありませんが、できれば最初のものが表示されると助かります。
「*」マークを(誤って)複数付けてしまった場合は、付けたタブすべてが選択状態です。 :'(
実際に表示されるのは、最後のものです。
これは当方の期待どおりの動作ですが、タブの選択状態が不一致なのが気になります。
指定ページをすべて見てからでないと決まらないので、初期ページ判別を先にしておく
と解決できそうですが、エレガントではないかもしれません。

問題点ばかり挙げて恐縮ですが、ご報告します。
This post was edited on 2013-02-25, 15:57 by s.sahara.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2018-12-14, 23:20:51 (UTC +01:00)