ブログを書くように更新できるWebサイトをQHMで簡単に作れます。

プラグイン機能の利用と効果

Add to Google
a:35657 t:6 y:3

各種プラグインの利用効果

★このページでは, QHMプロに標準でセットされているプラグインを利用した方法を紹介しています。

★一部、Pukiwikiの他の方の自作プラグインを利用させていただいているものもあります。

QHMの無償版をご利用の方は、色々なプラグインを実際に利用した場合、どのようなページが作成できるかを検証していただければと思います。

PukiWikiプラグイン一覧

Pukiwiki公式ページ(いろいろなスキンの紹介など興味深いサイトです。)


枠内のおまじないをコピー&ペーストする場合の注意
コピー&ペーストしてご利用いただく場合は、#htmlの前や最後の}}の前などに半角スペースが入ると、おまじないが表示されるだけで、機能しませんのでご注意ください。

pukiwiki自作プラグインの紹介ーcalender9.inc.php

インストールと設置について

calendar9.inc.zip をダウンロード後、解凍して calendar9.inc.phpをpluginへアップロードしてください。 
UTF8で運用している場合はcalendar9.inc.phpをUTF8の文字コードで保存しなおしてからアップロードしてください。
jQuery を利用するのでダウンロードしてきて skin に  jquery.js の名前でアップロードしておいてください。

このプラグインは、下記のURLからGETできます。
http://www.sakasama.com/dive/index.php?calendar9.inc.php

表示方法(書式)

#calendar9(Edit auth); 

※このおまじないで、下記が表示されます。
※引数Edit authを省略すると、ブラウザから誰でも予定の書きこみができます。
※編集方法
1、編集したい日付をクリック
2、* 予定を入力
  -予定の詳細を入力(2行目以降は表示されません)

※jquery.js は、QHMではデフォルトでjsフォルダにあるので、それを一度FTPでダウンロードして、再度、指定のskinフォルダにアップロードしました。

表示サンプル

<< < 2018.12 > >>
[Edit auth]
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5


#styleの利用と効果

swfu/d/y17.JPG


記述方法

 #style(style=float:right;border:black 1px solid;){{
[[&ref2(swfu/d/y17.JPG);>http://kazumis- blog.com/swfu/d/y17.JPG]]
}}
#style(style=clear:both;)


※このコードは、下記のPukiwikiサイトのコードを参考にしました。

http://lsx.sourceforge.jp/?Plugin%2Fstyle.inc.php

#contentsをプルダウンメニューで表示させるプラグイン



※これは、下記のPukiwikiサイトのコードを参考にしてカスタマイズしました。

Pukiwiki自作プラグイン

カスタマイズ方法

◆FTPでQHMがアップロードされているファイル群のlibフォルダ内にあるconvert_html.php を編集します。

注意

  • 間違えると、QHMすべて機能しなくなります。
    必ずBack Upを行ってからカスタマイズしてください。
  • convert_html.phpのコードを書き換える方法ですので、
    不安な方は、テスト用QHMをサーバー上の別ディレクトリにインストールして、そちらで検証しながら行うことをお勧めします。
  • テスト用QHMのlibフォルダへ、カスタマイズ済みconvert_html.phpファイルを、FTPを使ってアップロードしてみてください。
  • 使用方法は、編集したいページに、#contentsを記述するのみです。
    ※デフォルトの#contentsプラグインをカスタマイズしてしまっているので、もともとの機能は使用できなくなります。
  • かなりやっつけなカスタマイズ方法ではありますので、自己責任でお願いします。
  • 2009・11・3現在では、標準プラグインではありませんので、QHMをバージョンアップすると、この機能は使用できなくなります。

上記の注意事項を踏まえて、試してみたい方は、
こちらからファイルをダウンロードしてください>>

ダウンロードが完了したら、そのまま、あなたのテスト用QHMのlibフォルダ内にFTPでアップロードしてみてください。

カスタマイズ箇所は以下です。
上記で紹介したPukiwikiサイトで紹介されているコードを
コピー&ペーストして、既存のコードをコメントアウトしただけです。

編集箇所は1081行目~1118行目

//カスタマイズ20091103
	function replace_contents($arr)
   	{
       $contents = $this->contents->toString();
       $contents_pulldown  = '<div class="contents">' . "\n" .
               '<a id="contents_' . $this->id . '"></a>' . "\n" .
               '<select onChange="location.href=\'#\'+this.options[this.selectedIndex].value">' . "\n";
       $level = 0;
       foreach(explode("\n", $contents) as $line)
       {
           if (preg_match('/^<ul/', $line))
           {
               $level++;
               $line = substr($line ,65);//<ul  class="list...margin-left:16px"><li>
           }
           else $line = substr($line, 4);//<li>
           if (preg_match("/^<a href=\"#(.+)\"> (.+)  <\/a>/", $line, $match))
               $contents_pulldown  .= '<option value="' . $match[1] .
                                   '">'.str_repeat('-', $level-1) .
                                   $match[2]." </option>\n";
           $level -= preg_match("/<\/ul>/", $line);
       }
       $contents_pulldown  .= '</select>' . "\n" . '</div>' . "\n";
       return $contents_pulldown;
   }
//ここまで



//ここからは、既存のコード。//をつけてコメントアウトしました。 
//	function replace_contents($arr)
//	{
//		$contents  = '<div class="contents">' . "\n" .
//				'<a id="contents_' . $this->id . '"></a>' . "\n" .
//				 $this->contents->toString() . "\n" .
//				'</div>' . "\n";
//		return $contents;
//	}


}



#scrollbox の利用と効果

QHMバージョンが4.17では、デフォルトでは#scrollboxプラグインはセットされていません。

現在のバージョンは、4.25ですので、デフォルトで有償版ならセットされています。
無償版をご利用のかたは、個別にFTPソフトを使用してアップロードしてください。

【file名:scrollbox.inc.php】

↑↑↑↑ 
こちらからダウンロードできます。
(ただし、圧縮してありますので、解凍してから、pluginフォルダにFTPでアップロードしてください。

コードはこちら>>

<?php
function plugin_scrollbox_convert()
{
    $args = func_get_args();
    $last = func_num_args() - 1;

    if (strpos($args[$last], 'style=') === 0) {
    } elseif (strpos($args[$last], 'class=') === 0) {
    } else {
        $body = array_pop($args);
   }
	//$body = strip_autolink(array_pop($args));
	
	list($w,$h,$option) = array_pad($args,3,'');
	$w = ($w == '') ? '100%' : $w;
	$h = ($h == '') ? '200px' : $h;
	$option = ($option = = '') ? 'overflow:auto;border:1px solid #dcdcdc;padding:5px 10px;margin-left:auto;margin-right:auto;text-align:justify;' : $option;
	$option = htmlspecialchars($option);
	
    if (isset($body)) {
        $body = str_replace("\r", "\n", str_replace("\r\n", "\n", $body));
        $lines = explode("\n", $body);
        $body = convert_html($lines);
    } else {
        $body = '';
    }
	
	$ret = '<div style= "';
	$ret .= 'width:'.$w.';';
	$ret .= 'height:'.$h.';';
	$ret .= $option.';"';
    $ret .= '>';
    $ret .= $body;
    $ret .= '</div>';
    return $ret;
}
?>



このプラグインは、QHMフォーラムのこのページ>>http://www.1st-easy-hp.com/uf/forum/post_view.php?id=1259で紹介されています。

記述方法

#scrollbox(80%,150px){{

&color(red){''重要''};ここにはQHMのおまじないが使用できます。
たとえば、
#recent(10)
と記述すると、更新情報を自動で、10件表示できます。
#recent()もプラグインの一種です。
()内の数字は、表示させたい件数を記述。
さらに、()内に件数いがいの条件を記述して、
(たとえばページ指定など)ページ限定の更新情報を自動表示できないか検証中。

}}

結果

重要ここにはQHMのおまじないが使用できます。たとえば、

#recent(10)
と記述すると、更新情報を自動で、10件表示できます。
最新の10件
2018-12-18 2018-12-16 2018-12-15 2018-12-14 2018-12-11 2018-12-10 2018-12-04 2018-11-30 2018-11-29 2018-11-28
#recent()もプラグインの一種です。
()内の数字は、表示させたい件数を記述。
さらに、()内の引数に件数だけでなく、それ以外の条件を記述することができないか現在検証中です。たとえば、ページ名限定など。)


選択肢 投票
役に立った 8  
まあまあかな? 0  
問題外 2  

何かアドバイスのある方は、ご遠慮なく掲示板・下記のコメント・お問い合わせよりご連絡ください。よろしくお願いします。



このページに関するコメントはこちらへ
 ↓ ↓ ↓