xpWikiのオリジナル設定紹介 anchor.png

  • この頁を読む人は、xpWikiが色々なオリジナル設定できることを御理解されているものと推察します。 以下に記載する内容は、nao-pon氏のxpWiki開発日記から、オリジナル設定方法のポイントを転載したものです。
  • 本頁に紹介する内容は、インストール頁のオリジナル設定の行い方(各種設定)にも記載されているように
    • XOOPS_ROOT_PATH/modules/xpwiki/private/ini ディレクトリにある[*.ini.php ファイル]を各自が追加記述する場合の書きかたです。
    • また、プラグインをオリジナル設定する方法等については、XOOPS_ROOT_PATH/modules/xpwiki/private/plugin ディレクトリに置く派生クラス[*.inc.php]を各自が追加記述する場合の書きかたです。オリジナル設定の行い方(プラグイン)
  • 本頁に紹介する設定方法は、2008/04/06現在のnao-pon氏のxpWiki開発日記より、nonn50が独断で転載したものです。 以降についても、逐次転載していきたいと考えますが、まとめているスピードよりも、nao-pon氏のxpWiki改造スピードのほうが早そうですから [worried] 、オリジナル設定を試みる人は本頁での紹介内容を鵜呑みにすることなく、nao-pon氏のxpWiki開発日記を熟読されることを御願いします。
Page Top

メインのCSSファイル名の設定追加 anchor.png

メインに読み込むCSSファイル名は、これまで main.css 固定でしたが、これを pukiwiki.ini.php にて設定できるようにしました。

また、Wikiヘルパーなどのテキストエリア拡張のため、JavaScript で main.css を必ず読み込むようにしていましたが、main.css から、base.css として必要部分だけを切り出し、JavaScript で base.css を読み込むようにしました。

今回のこの修正は、独自スキンやCSSの変更で main.css の定義が時として邪魔になることがあるからです。

pukiwiki.ini.php

$root->main_css = 'main.css';

Page Top

CSS 前置詞指定の設定値を追加 anchor.png

ImpressCMS のデフォルトテーマなどは、テーマの CSS で ID指定で CSS が設定されている場合があります。

その場合には、xpWiki 側での CSS 設定が効かない場合があるので、xpWiki の CSS 全体 ($class置換部分) に渡り、ID指定できる設定値を pukiwiki.ini.php に追加しました。

pukiwiki.ini.php

// CSS ID prefix ( ex. #xo-canvas )
$root->css_prefix = '';

例えば、ImpressCMS のデフォルトテーマでは、$root->css_prefix = '#xo-canvas'; と指定すると、xpWiki の CSS が正常に適用されるようになります。

Page Top

レンダラーモード用の設定追加 anchor.png

レンダラーモードでページリンクをポップアップ設定で、オートリンクのみポップアップする設定値(2)を追加しました。

pukiwiki.ini.php

// ページリンクをポップアップにする
// All page link uses popup. (1=All, 2=AutoLink only)
$root->render_popuplink = 0;
Page Top

レベル単位の段落編集 anchor.png

段落編集での編集範囲は従来は「次の見出しまで」でしたが、これに加えて「同レベル以上の見出し行まで」を選択できるようにしました。

pukiwiki.ini.php

/////////////////////////////////////////////////
// enable paraedit 
$root->fixed_heading_anchor_edit = 1;
// part-edit area - 'compat':PukiWiki 1.4.4 compat, 'level':level
$root->paraedit_partarea = 'compat';
Page Top

その他拡張機能 anchor.png

Page Top

ブラケットネームの拡張 anchor.png

同じ XOOPS 上に複数の xpWiki をインストールしている場合に、ブラケットネームを使い他の xpWiki ページへリンクできるようになりました。

例えば、このサイトでは UsersWiki というディレクトリ名で、もう一つ xpWiki をインストールしてありますが、[[UsersWiki:nao-pon]] と記述すると、UsersWiki:nao-pon と表示されます。

[[モジュールディレクトリ名:ページ名]] と記述するわけです。

また、一部のプラグインの引数でもこの指定が可能になります。とりあえず、recent と ls2、 include を対応させてみました。

Page Top

TOCの自動挿入機能 anchor.png

TOC (Table of contents) [#contents 相当] の自動挿入機能を追加した。デフォルトで4つ以上見出しがあると、自動挿入が行われるようにしました。

関連設定 pukiwiki.ini.php

/////////////////////////////////////////////////
// Number of heading that inserts "#contents" automatically
// 0: Disabled
$root->contents_auto_insertion = 4;
Page Top

Ajax編集の有効・無効スイッチ anchor.png

Page Top

外部オートリンク の優先度設定 anchor.png

優先度の指定子は 'priority' で数値指定です。通常のオートリンクが 50 、同階層ページのオートリンクが 60 に設定してあります。数値が大きいほど優先度が高く処理されます。何も指定しない場合は、priority = 40 として処理されます。 例えば、「hoge」の下層ページを通常のオートリンクよりも優先して処理させたい場合は、pukiwiki.ini.php にて次のように指定してください。

$root->ext_autolinks[] = array(
    'priority' => 70 ,
    'base'     => 'hoge' ,
    'len'      => 3 ,
);
Page Top

リンクページの列挙数指定 anchor.png

ページ下部に表示されるリンクページの列挙数を指定できるようにしました。リンクページが極端に多くなった時の過負荷防止対策です。

default.ini.php keitai.ini.php

$root->related_show_max = 100;
Page Top

MyTextSanitizer (まい・てきすと・さにたいざぁ) anchor.png

  • XOOPS, XOOPS Cube Legacy において、登録されたテキストを整形し表示するクラス。 このクラスに変更を加えることで、その XOOPS 全体に渡り、テキスト整形のルールを変更することができる。
  • XOOPS_ROOT_PATH/class/preload/SetupHyp_TextFilter.class.php を書き換え(XOOPS Cube Legacy 2.1.x 用) 当XOOPSでも、設定を変更した。(2008/06/14呑兵衛あな) しかし、実のところ、何が変わったのか良くわかっていない :-o
Page Top

d3forum に Wikiヘルパーを組み込む手順 anchor.png

  • 開設が長いが、結論としてはここを見れば良い様子 :D 以下、抜粋
    • MyTextSanitizerのxpWiki対応版への変更。 フォームがあるテンプレートに以下を追加。(場所はどこでもよい)-( :-D d3forum_main_post_form.html が良い)
      <script type="text/javascript" src="<{$xoops_url}>/modules/xpwiki/skin/loader.php?src=wikihelper_loader.js"></script> 
      これだけで、(日本語|その他)版のブラウザなら、(日本語|英語)のメッセージの Wiki Helper が表示されるはずです。
Page Top

xoops_breadcrumbs 対応 anchor.png

GIJOEさんの PEAK XOOPS - 統一的なパンくず規格 xoops_breadcrumbs の提案 に対応しました。

テーマの theme.html のお好みの場所に以下のような記述をすると、パンくずリストが表示されます。

<{if $xoops_breadcrumbs}>
    <div id="theme_breadcrumbs">
        <a href="<{$xoops_url}>/">TOP</a>
        <{foreach from=$xoops_breadcrumbs item="item"}>
            &#187;
            <{if $item.url}>
                <a href="<{$item.url}>"><{$item.name}></a>
            <{else}>
                <{$item.name}>
            <{/if}>
        <{/foreach}>
    </div>
<{/if}>

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 864, today: 2, yesterday: 1
最終更新: 2020-12-26 (土) 16:07:35 (JST) (1189d) by yuji