- 追加された行はこの色です。
- 削除された行はこの色です。
[[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)
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)
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󥯤%F2%B6%E8%CA̤%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]]で公開されていますので、こちらのページからインストールしました。
----
ただし、そのままだと複数のイメージを利用したページを編集しようとした時、BASIC authが何度も出て編集できなくなります。これを防ぐため次の行をコメントアウトしました。~
ただし、そのままだと複数のイメージを利用したページを編集しようとした時、認証画面が何度も出て編集できなくなります。これを防ぐため次の行をコメントアウトしました。~
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>の前に配置