トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

PukiWiki/カスタマイズ の変更点

Top / PukiWiki / カスタマイズ

[[PukiWiki]]

* PukiWikiカスタマイズ

**先頭にスペースを入れなくても、ソースコード全体を囲って、pre表示できるように対応

PukiWiki 1.4.6〜のMultiline plugin hack拡張機能を有効に設定
pukiwiki.iniphp
 define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0); // 1 = Disabled

次の場所からpre.inc.phpファイルをダウンロードし、pluginフォルダに配置します。~
http://lsx.sourceforge.jp/?Plugin%2Fpre.inc.php

使用方法
-ソースコード全体を#pre{{と}}で囲うと、pre表示となります。
 #pre{{
 echo "Hello, ";
 echo "world!";
 }}
      ↓整形後の表示結果~
#pre{{
echo "Hello, ";
echo "world!";
}}
-#pre(soft){{と}}で囲うと、リンクやフェースマークが有効となります。
-「#pre(soft){{」の中にスペースを入れてはいけません。



**180wiki-black skinのインストール
[[180style wiki>http://180xz.com/wiki/index.php?Wiki%2FPukiWiki%2FSkin]]で提供されている「180wiki-black」というテーマのワイドバージョンとスマホ対応版をインストールしました。(2014-02-08)~
~
インストール方法
+「[[自作スキン | 180style wiki>http://180xz.com/wiki/index.php?Wiki%2FPukiWiki%2FSkin]]」から180wiki-blackの次の2つのzipファイルをダウンロード
--Wiki/PukiWiki/Skin/black-w1000(ワイドバージョン)
--Wiki/PukiWiki/Skin/black-smartphone(スマホ対応版)
+それぞれのページで記述されているようにphpファイルを書き換えます。
~
~
インストールの注意点:
-skinフォルダ直下に展開しないとcssが適用されないようです。(サブフォルダに配置して、SKIN_FILEにサブフォルダを追加するだけだと効きませんでした)
-readme.txtなどのテキストファイルは配置しなくてもOKです。
-ワイドバージョンとスマホ対応版で一部ファイル名が同じですが、skinフォルダ上に上書きでOKです。
-skin自身はUTF-8対応で、PapuuWikiはEUCでした。skin内のファイルは特にUTF-8用のままサイトにアップしてOKでした。
-インストールでpukiwiki.ini.php, default.ini.phpなど元からEUCのファイルを書き換えますが、EUCのまま書き換えます。



**GS2 skinのインストール(旧スキン)
注:2014-02-08に「180wiki-black skin」に変えました。
デザイン、編集などのメニュー配置がいいので、導入しました。~
当wikiではプログラムソースをよく載せるので、ページが幅広で、見やすくて良さそうなのも、採用のポイントとなっています。~
配色はクールで見やすかったのでskyを採用し、テーブルの配色が見にくかったので、調整しました。

skin/pukiwiki_gs2.css.php
 thead td.style_td,
 tfoot td.style_td {
 	color:inherit;
 /*	background-color:<?php echo SKIN_CSS_BGCOLOR; ?>; */
 	background-color:#A1AAB8;
 }

skin/gs2_color/pukiwiki_gs2_color_sky.php
 	define('SKIN_CSS_BOX_BDCOLOR', 	'#9898A9');	// normal box border

h2, h3, h4の縁取りを調整し、それぞれ右マージンを0,25,50ピクセルとして、上下階層構造がよく分かるようにしました。~

本文の各要素で、左マージンを設定
 pre, dl, ol, p, blockquote {
 	line-height:175%;
 	margin-left:2em
 }
 
 pre {
 	...
 	margin-left:3em;
 	...
 }
 
 li {
 	margin: 3px 0px;
 	margin-left:1em;
 }

**pukiwiki.ini.php変更
WikiNameの無効化~
日本語でページを書く場合、ほとんど使わず、見た目に悪影響を与えるので、無効化しました。
 $nowikiname = 1;

更新および削除の表示項目数増加
 $maxshow = 180;
 $maxshow_deleted = 180;

アンカータグ自動挿入無効化~
ほとんど使わず、整形前の文章が見にくくなるので、無効化しました。
 $fixed_heading_anchor = 0;


**テーブルを左寄せ
中央だと、解像度の大きいモニタで本文と離れすぎるので、1em空けた左寄せ
にします。~
skin/pukiwiki.css.php (GS2 skinをインストールしているときは、pukiwiki_gs2.css.php。180wiki-black skinをインストールしているときはデフォルトで左寄せでした)
 .style_table {
 	padding:0px;
 	border:0px;
 /*	margin:auto; */
 	margin:auto auto auto 1em;
 	text-align:left;
 	color:inherit;
 	background-color:#ccd5dd;
 }
-パラメータの順番は、上 右 下 左

** [[FrontPage]]でなく[[トップ]]を開くように変更
pukiwiki.ini.php
 $defaultpage  = 'FrontPage';     // Top / Default page
     ↓
 $defaultpage  = 'トップ';     // Top / Default page

** 外部リンク左端にマークを付け、_blankで開くように変更
外部リンクがすぐ分かり、別で開いたほうが使いやすいので、このようにしています。~
編集中のプレビューから間違えて開いたときに、編集中の内容が消えないようにする効果もあります。

リンクマークの画像を用意~
image/ext_link.png

skin/pukiwiki.css.php (GS2 skinをインストールしているときは、pukiwiki_gs2.css.php。180wiki-black skinをインストールしているときは180wiki.css、180wiki-sp.css)
 a.external {
   padding-left: 14px;
   background: url("../image/ext_link.png") no-repeat left bottom;
 }

pukiwiki.ini.php
 <?php
     // 外部リンクを表すマーク表示で使用する変数
     // 自サイトのURL (内部・外部リンクの区別のため)
     $my_site = 'papuu.jp';
 ?>

lib/make_link.php

 class Link_url
 
      function toString()
      {
          if (FALSE) {
              $rel = '';
          } else {
              $rel = ' rel="nofollow"';
          }
          return '<a href="' . $this->name . '"' . $rel . '>' . $this->alias . '</a>';
      }
          ↓
      function toString()
      {
          global $my_site;
  
          if (FALSE) {
              $rel = '';
          } else {
              $rel = ' rel="nofollow"';
          }
  
          if (strpos($this->name, $my_site)) {
              return '<a href="' . $this->name . '"' . $rel . '>' . $this->alias . '</a>';
          } else {
              // 内部・外部リンクを区別する
              return '<a href="' . $this->name . '" target="_blank" class="external"' . $rel . '>' . $this->alias . '</a>';
          }
      }

 class Link_url_interwiki
 
     function toString()
     {
         return '<a href="' . $this->name . '" rel="nofollow">' . $this->alias . '</a>';
     }
          ↓
      function toString()
      {
          // 内部・外部リンクを区別する
          return '<a href="' . $this->name . '" target="_blank" class="external" rel="nofollow">' . $this->alias . '</a>';
      }

 class Link_interwikiname
     function toString()
     {
         return '<a href="' . $this->url . $this->anchor . '" title="' .
             $this->name . '" rel="nofollow">' . $this->alias . '</a>';
     }
          ↓
     function toString()
     {
         // 内部・外部リンクを区別する
         return '<a href="' . $this->url . $this->anchor . '" title="' .
             $this->name . '" target="_blank" class="external" rel="nofollow">' . $this->alias . '</a>';
     }

参考ページ
-[[cubic9.com 内部・外部リンクを区別する>http://cubic9.com/PukiWiki/%B2%FE¤/%C6%E2%C9%F4%A1%A6%B3%B0%C9%F4%A5%EA%A5&#941028;%F2%B6%E8%CA&#804;%B9%A4%EB/]]
-[[よくきたblog>http://blog.poyo.jp/archives/id-1172026651]]
... googleを利用して相手にリファラーを教えない方法も載っています。



**ページ編集時にプレビューボタンなどと『テキスト整形のルールを表示する』のリンクが近くて押しにくいので、<br>2つを挿入
lib/html.php 269行目付近
 		$body .= '<br><br><ul><li><a href="' .



**ページ編集のテキストエリアサイズを拡げる
MacやiPadで編集しやすいようにするため拡げました。
default.ini.php
 $cols = 132; // 80から拡げました
 $rows = 32; // 20から拡げました



**ロリポップなどPukiWiki認証ができないサーバに対応する
PukiWikiはApacheモジュールとして動作しているPHPでないと認証に失敗します。
Apacheモジュールとして動作しているPHPかどうかはphpinfo();で表示できます。
|phpinfo()で表示される項目名|値|PukiWikiの認証|レンタルサーバ例|h
|Server API|CGI/FastCGI|失敗|ロリポップ、らくらインターネット|
|Server API|Apache|成功|XREA|

CGI版PHPでもPukiWikiの認証を動作させるプラグインが[[自作プラグイン/login.inc.php | pukiwiki.sourceforge.jp>http://pukiwiki.sourceforge.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Flogin.inc.php]]で公開されています。~
こちらを改良したものが[[login.inc.php | 俺 wiki.wetcradle.com>http://wiki.wetcradle.com/index.php?pukiwiki%2F%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Flogin.inc.php]]で公開されていますので、こちらのページからインストールしました。
----
ただし、そのままだと複数のイメージを利用したページを編集しようとした時、認証画面が何度も出て編集できなくなります。これを防ぐため次の行をコメントアウトしました。~
pukiwiki.ini.php
 session_regenerate_id(TRUE);

詳しくは次のページのコメント欄に載っています。
[[自作プラグイン/login.inc.php | pukiwiki.sourceforge.jp>http://pukiwiki.sourceforge.jp/?自作プラグイン%2Flogin.inc.php]]



**PukiWikiにGoogleアナリティクスを導入
トラッキングコードを「skin/pukiwiki.skin.php」ファイルの</head>の前に配置

トラッキングコードを「skin/pukiwiki.skin.php」ファイルの</head>の前に配置(180wiki-black skinをインストールしているときは180wiki.skin.php、180wiki-sp.skin.php)