現在位置: Top/PukiWikiの改造

PukiWikiの改造

トップページをpukiwikiにする。

他のファイルを一つのディレクトリにまとめ、index.phpのみをルートに置く。

<?php
define('DATA_HOME',     'x/');
define('PKWK_DIR',      '/virtual/your-account/public_html/x/');
define('LIB_DIR',       PKWK_DIR.'lib/');
require(LIB_DIR . 'pukiwiki.php');
?>

添付ファイルのダウンロードや画像表示がうまくいかない

plugin/ref.inc.phpの

$url = $script . '?plugin=

とある部分(2カ所)を

$url = $script . 'x/?plugin=

などのように広告が表示されないフォルダを指定する。

フォントの指定

font-family: "Lucida Grande", "Osaka", "MS PGothic", sans-serif;

ヒラギノを指定するとベースラインがずれてしまう。

pukiwiki.ini.phpの設定

  • WikiNameを自動的にリンクをしない
    $nowikiname = 1;
  • オートリンクを無効にする
    $autolink = 0;
  • 編集に認証を必要とさせる
    $edit_auth = 1;
    $edit_auth_pages = array(
    	'/^.*$/' => 'yourname',
    );
  • アンカー
    $fixed_heading_anchor = 0;
  • 自動的に改行する
    $line_break = 1;

default.ini.phpの設定

  • トップに戻るアンカーを非表示
    //$top = $_msg_content_back_to_top;
    $top = '';
  • 関連するリンクを常に表示する(負担がかかります)
    $related_link = 0;
  • WikiName,BracketNameに経過時間を付加する
    $show_passage = 0;

表を左寄せ

.style_table {
	padding:0px;
	border:0px;
	margin:auto;
	text-align:left;
	color:inherit;
	background-color:#ccd5dd;
}

のmarginを削除

ナビゲーターにTopの文字を

タイトルの下のナビゲーターは、FrontPageの時に表示しないので、下記のように修正。
plugin/topicpath.inc.php 32行目付近

if ($page == '' || $page == $defaultpage) return '';

if ($page == '' || $page == $defaultpage) return 
'<span class="small"><a href="' . $script . '" title="TopPage">Top</a></span>';

トップへのリンクをトップへ

トップページへのリンクに「?TopPage」とついてしまうので、それを消す
plugin/topicpath.inc.php

//$topic_path[] = make_pagelink($defaultpage, PLUGIN_TOPICPATH_TOP_LABEL);
$topic_path[] = '<a href="' . $script . '" title="TopPage">Top</a>';

編集画面にリンクソースを表示

  1. lib/html.phpを開く
  2. 225行目あたり
    $body = <<<EOD
    <form action="$script" method="post">
    とある辺りの前の行に
    $ss_page = '<a href="' . $script . '?' . $r_page .
       '" title="' . $s_page . '">' . $s_page . '</a>';
    $forlink = <<<EOD
    <input type="text" name="query" size="80" value='$ss_page'>
    <br />
    EOD;
    を追加
  3. そのやや下の
    </form>
    がある行の下に
    $forlink
    を追加

パスワードなしで添付ファイルをアップロード

attach.inc.php

// 管理者だけが添付ファイルをアップロードできるようにする
define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', FALSE); // FALSE or TRUE

// 管理者だけが添付ファイルを削除できるようにする
define('PLUGIN_ATTACH_DELETE_ADMIN_ONLY', FALSE); // FALSE or TRUE

画面上の「添付」でアップロードすると、その位置にファイルを参照

attachref.inc.php

&attachref;
&attachref(,nolink);

昨日&今日の人気記事ランキング

popular2.inc.php

#popular2(20,TopPage|MenuBar|PukiWiki/.*|PukiWiki|RecentDeleted,recent,,notitle)

ダウンロード人気ランキング

dlrank.inc.php

すべてのページのアクセス数の一覧

counterview.inc.php

ページにdescriptionを入れる

  • [wiki]/pukiwiki.ini.php
    $page_title = 'Dimbula Tearoom';
    と、ページタイトルを指定している行の下に
    $description = '北海道のことやコンピュータ活用のWikiです。';
    descriptionの文字列を記述する。
  • [wiki]/lib/html.php
    global $page_title;   // Title of this site
    という行の下に
    global $description;
    という行を挿入。
  • [wiki]/skin/pukiwiki.skin.php
    <title><?php echo $title ?> - <?php echo $page_title ?></title>
    と、タイトルを表示している行の下に
    <meta name="description" content="<?php echo $description ?>" />
    descriptionを表示するタグを入れる

feed meterへの対応

descriptionを表示させる
更新頻度を正しく表示させる
RSS内のリンクの修正(RecentChangesではなくトップへ)
RSS1.0を読ませるようにする

  • [wiki]/pukiwiki.ini.php
    $page_title = 'Dimbula Tearoom';
    と、ページタイトルを指定している行の下に
    $description = '北海道のことやコンピュータ活用のWikiです。';
    descriptionの文字列を記述する。
  • [wiki]/skin/pukiwiki.skin.php
    <link rel="alternate" type="application/rss+xml" title="RSS"
    href="<?php echo $link['rss'] ?>" /><?php // RSS auto-discovery ?>
    という行を探し、これを削除
    <link rel="alternate" type="application/rss+xml" title="RSS"
    href="<?php echo $link['rss'] ?>&ver=1" />
    <link rel="alternate" type="application/rsd+xml" title="RSD"
    href="<?php echo $link['rss'] ?>&ver=2" />
    を代わりに記述する。
  • [wiki]/plugin/rss.inc.php
    • global行の修正
      global $vars, $rss_max, $page_title, $whatsnew, $trackback;
      という行を探す。
      global $vars, $rss_max, $page_title, $whatsnew, $trackback, $description;
      と$descriptionを追加する。
    • $descriptionをエンコード
      $page_title_utf8 = mb_convert_encoding($page_title, 'UTF-8', SOURCE_ENCODING);
      とページタイトルをエンコードしている行の下に
      $description_utf8 = mb_convert_encoding($description, 'UTF-8', SOURCE_ENCODING);
      descriptionをエンコードする行を追加。
    • RecentChangesをトップページへ
      RecentChangesへリンクしている場所がいくつかある。
      <link>$self?$r_whatsnew</link>
      <channel rdf:about="$self?$r_whatsnew">
      から「?$r_whatsnew」を削除する。
    • descriptionを表示させる
      descriptionを表示させる場所がいくつかある。
      <description>PukiWiki RecentChanges</description>
      となっている行を
      <description>$description_utf8</description>
      と修正する。

日付表示で曜日をカット

  • [wiki]/lib/func.php
    function format_date($val, $paren = FALSE)
    {
    	global $date_format, $time_format, $weeklabels;
    
    	$val += ZONETIME;
    
    	$date = date($date_format, $val) .
    //		' (' . $weeklabels[date('w', $val)] . ') ' .
    		date($time_format, $val);
    
    	return $paren ? '(' . $date . ')' : $date;
    }

カウンタープラグインのPHP5への対応

  • [wiki]/plugin/counter.inc.php
    UTIMEを検索し、「, UTIME」を削除する。