Andreas01 スキン for PukiWiki Plus! i18n
Table of Contents |
概要
フリーな XHTML/CSS テンプレートである
Andreas01 を PukiWiki Plus! i18n に適用しました。
トップに画像を使用した固定幅のブログ的なデザインのスキンです。
PukiWiki らしくないデザインを目標としています。 PukiWiki を個人 CMS として使用している人を主な対象としています。
参照
- http://andreasviklund.com/templates/
本家
- WP-Andreas01
WordPress 用テーマ
- testrun
デモ
- Monobook for PukiWiki
Monobook スキンのコーディング規約、思想、デザイン、テクニックを参考させてもらいました。謝辞。
ダウンロード
まだアルファ版です。→ベータになりました。
zip
https://sourceforge.jp/projects/lsx/files/
から andreas01 dev
svn
http://svn.sourceforge.jp/svnroot/lsx/theme/andreas01/
インストール
0. PukiWiki Plus! i18n の svn 最新版を取得、もしくは最新版にアップデートするものとします(少なくとも PLUS_PROTECT_MODE が導入されたリビジョン以上であるものとします)。pukiwiki-plus というディレクトリにインストールしているものとします。
1. ダウンロードした zip ファイルを展開、梱包されているファイルを展開
$ unzip andreas01.zip -d pukiwiki-plus/
※ディレクトリ構造を変えている場合はこの限りではありません。適切に配置してください。
2. default.ini.php を変更
- define('SKIN_FILE_DEFAULT', SKIN_DIR . 'default.skin.php'); + define('SKIN_FILE_DEFAULT', SKIN_DIR . 'andreas01/andreas01.skin.php');
基本的にはこれで起動するはずです。
3. 試す
index.php でアクセスするとナビゲーション(編集リンク等)が表示されません。 edit.php からアクセスするとナビゲーションが表示されます。
フッタ(ページ最下部)の Admin リンクから edit.php へ移動できます。
4. 制限
個人CMSとして使用するために、厳密に index.php での編集を不可にするには、pukiwiki.ini.php で PKWK_READONLY を設定します。 edit.php の方には影響がでないようにできています。
defined('PKWK_READONLY') or define('PKWK_READONLY', 0); // 0,1,2,3,4,5
さらに厳密に、edit.php へのアクセス制限を設けたい場合には、.htaccess で制限してもよいですが、PukiWiki Plus! i18n には参照も制限する PLUS_PROTECT_MODE というものがあるので、それを利用してみます。edit.php 中で設定します。
defined('PLUS_PROTECT_MODE') or define('PLUS_PROTECT_MODE', 0); // 0,2,3,4,5
plus:Documents/PLUS_PROTECT_MODE 参照。
個人設定
andreas01.skin.php
- $frontphoto
トップページに表示される画像をURLで指定します。 - $favicon
favicon を URL で指定します。 - $page_subtilte
サイトのサブタイトルを指定できます。 ページの右上の部位に表示されます(サンプルのJust another WordPress weblogの部位)。 オリジナルの Andreas01 テンプレートのその余地があったので一応用意してみました。
- $adminlink
フッタにある Admin リンクのリンク先を指定します。edit.php への切り替えになっています。切り替わった状態を Admin モードと呼ぶことにします。 - $navi_plugin
Admin モード時に表示するナビゲーションメニュー用に使用するプラグインを指定します。navibar.inc.php, toolbar.inc.php, navibar2.inc.php から選びます。 - $navibar_arg
navibar.inc.php を選んだときの navibar への引数 - $toolbar_arg
toolbar.inc.php を選んだときの toolbar への引数。navibar2 の設定は Navigation ページで行われる。後記。 - その他
他のスキンに適用されなくなりますが問題なければ $page_title, $modifier, $modifierlink を pukiwiki.ini.php ではなくここで設定することも可能です。
default.ini.php
ul, ol リストの左マージンが大きすぎるので、default.ini.php の以下のような部分を編集します。 他のスキンにも影響してしまいますが、pukiwiki がサポートしていないので現状、仕方ありません。
// リスト構造の左マージン $_ul_left_margin = 0; // リストと画面左端との間隔(px) $_ul_margin = 16; // リストの階層間の間隔(px) $_ol_left_margin = 0; // リストと画面左端との間隔(px) $_ol_margin = 16; // リストの階層間の間隔(px) $_dl_left_margin = 0; // リストと画面左端との間隔(px) $_dl_margin = 16; // リストの階層間の間隔(px) $_list_pad_str = ' class="list%d" style="padding-left:%dpx;margin-left:%dpx"';
↓
// リスト構造の左マージン $_ul_left_margin = 5; // リストと画面左端との間隔(px) $_ul_margin = 16; // リストの階層間の間隔(px) $_ol_left_margin = 5; // リストと画面左端との間隔(px) $_ol_margin = 16; // リストの階層間の間隔(px) $_dl_left_margin = 21; // リストと画面左端との間隔(px) $_dl_margin = 16; // リストの階層間の間隔(px) $_list_pad_str = ' class="list%d" style="padding-left:0px;margin-left:%dpx"';
padding-left:0px;がミソです。
MenuBar
左部のようなページリストを作成したい場合
#style(class=page){{ -[[Home]] -[[Page1]] -[[Page2]] }} #style(class=box){{ *Note This is a box. }}
のようにします。
SideBar
SideBar ページを作成すると3段組みになります。
検索ボックスは search プラグインの代わりに同梱の wrap_search プラグインを使用すると表示が綺麗に出ます。MenuBar でも同じです。
*Site Search #wrap_search
Navigation
Admin モードでアクセスした際に表示されるナビゲーションメニューを Navigation ページで設定できます。
$navi_plugin = 'navibar2';
の時に使用されます。
plus:Plugin/navibar2.inc.php 参照
:Footer
フッタ部 (Powered by 上部)に任意の内容を挿入できます。
:Header
ヘッダ部(トップ画像下部)に任意の内容を挿入できます*1
index.php でナビゲーション
index.php ではナビゲーションを表示しない、という仕様になっていますが、 通常の PukiWiki と同様に、index.php でナビゲーションを表示、編集できて良いという場合は、index.php 中の任意の場所に
define('EDIT_OK', 1);
を追加します。
edit.php が邪魔ならば、andreas01.skin.php の $adminlink をコメントアウトし(フッタの Admin リンクが消えます)、edit.php を消去してください。
アップデート
svn で取得した場合は svn update でうまく自分の変更と新しい変更をマージしてくれるかもしれません。
zip をダウンロードして使用している場合は、マージするのに diff3 コマンドを使用できます。
$ diff3 -m MYFILE OLDFILE NEWFILE > MERGEDFILE
これを行うためには、独自設定する前の状態の古いファイルをとっておく必要があります。
UNIX系環境がない場合はちょっとわかりませんが、例えば Web Diff などを使用して、どこが修正されたのかを見ながらチクチク修正していくのはどうでしょう?
コメント
*1 他にいれるべき所が見当たらなかったのでとりあえずここに入れてみました