Wikiの仕様 のバックアップ(No.8)


※このページは管理者以外編集不可。基本凍結してます

以下はそれなりに知識がある人向けに記述
wikiwikiとの比較を交えて紹介

基本情報

独自仕様に関して

まずメニューどこ?

レスポンシブデザイン化に伴い、縦持ち(厳密には表示が縦>横)の際はメニューは下部へ移動するように
それを補う物として下向きの矢印アイコンを新たに設置。それで下部メニューへ移動可能
横持ち(厳密には横>縦)でPC表示となるのでそれでメニューを出すのもアリ

ページ上のアイコンは何?

閲覧特化する為に編集者向けメニューを簡素化した物。オンマウス時のみ説明が出ます
PC表示(横>縦)では通常のWikiと同じメニューが置いてありますが、スマホ向け(縦>横)では必要最低限
編集の際は一度PC表示にする事をオススメ

縦持ち時の表示スタイル

いわゆるスマホ専用ページではなく、PC表示を強引にスマホ対応した感じの仕様
なので全体的に表示がPCのそれに近くデフォルトでは文字も画像も小さめ
端末側の拡大・縮小機能に委ねた形

運用状況

使用中のWiki

PukiWiki 1.5.2 UTF-8のカスタム版
現在は下位の専用サーバーを借り、PHP7系で運用。こちらに関しては様子を見つつ順当に更新
諸々の便利機能はJava Scriptを切っていると働かないので注意

対応ブラウザ

通信の強制https化を施しているのでTLS 1.0、TLS 1.1、TLS 1.2対応は必須
またCSS3で登場したflexboxでレイアウトを組んでおり、これに非対応の場合は若干表示が崩れます
具体的にはPSPがアウトで比較的最近のゲーム機ブラウザが条件付OK、Windows2000やXPでもIEでなければ大体OK

…要するにOSと環境共に2000年代そのままの代物で無ければ問題無い、という事です
一応IEなら10以降、Firefoxなら24以降、Operaなら15以降が推奨

ドメイン期限

2019/12/26まで有効
期日近くになっても期限表記が更新されない場合、何かあったと思って下さい

投稿時の制限事項

注意事項

荒らし対策として編集時・投稿時の際にIPアドレスを取得、一時保管
閲覧に関しては特に何も施していません。よっぽどの事をやらかしたら取得したIPを元に閲覧時点で弾くかも

追加プラグインなど

PukiWikiにデフォルトで組み込まれている物は割愛
追加した物のみ記載

編集支援 - form_helper.php

https://debug-life.net/entry/2378で配布されている物をカスタム
一般的なレンタルWikiと違い、使用する度に一旦フォーム外をタッチした扱いとなる点には注意

spam_filter.php

スパム防止用。管理者向け
現時点でのフィルターは必要最低限ですが、状況によっては制限事項が増えます

attachref.inc.php

画像の添付と表示の統合
画像が存在しない状態では添付する為のリンク [UP] が表示される

&attachref(ファイル名.jpg,zoom,30%);
画像のアップロード+表示用
パーセントの所は100x100みたいなピクセル指定でもOK

なお一見必要無さそうなzoomは最新verのPukiWikiでは事実上必須
これかファイル名の前に./を付けないとエラー吐いて画像を表示してくれない…
かと思えば場合によっては適当でも大丈夫だったりで挙動が謎。画像が小さければセーフ? 

region.inc.php+endregion.inc.php

文章や表を格納出来る、このWikiでは欠かせない機能
Menubarに使うと表示がずれるバグが存在。Menubarには組み込まないように
なおJava Scriptが有効でないと動作しない

#region(折り畳み時に表示される文字列)
中身
基本的には何でも格納可能
JavaScriptが有効でない場合、格納されず中身はそのまま表示される
#endregion

secedit.inc.php

見出し毎に編集出来る機能を実現。鉛筆アイコンのあれ

shadowheader.inc.php

#shadowheader(見出しレベル,見出し文字列);
#contentsに表示されない見出しを作成
使い道は…隅々まできっちり読んだ人にだけ読ませるコーナー、とか?

sizex.inc.php

&sizex(1~7までの数字){文字列};
&sizeの亜種
あちらがpx指定なのに対して、こちらはブラウザ側の設定に基づく%指定で大きさを調整

sortabletable.inc.php - tablesorter.js仕様でテスト中

#sortabletable(有効値|有効値|...){{
表
}}

元のプラグインと違いsort=を付ける必要が無く付いてても無い物とされる
フィルターのOn/Off機能はtablesorter自体に有能なそれが付いているのでこちらもsort=同様
そして有効値は既存の「String」「Number」に加え指定行のソートを禁止する「false」が利用可能
「String」は指定行全てを文字列として扱う「"text"」として内部処理される
「Number」は指定行全てを数値として扱う「"digit"」として内部処理。「false」はそのまんま
区切りの「|」だけ置いて何も書かない行は通常のソート仕様で処理される

title.inc.php

#TITLE(タイトルにしたい文字列)
wikiwikiにおけるTITLE:の代替品
使用したページの閲覧時限定でタイトルを変更する。内部的な扱いは変わらず
「キャラクター」ページのタイトルを変えてもWikiでの扱いは「キャラクター」のまま、という事です

tomorrow_schedule.inc.php

''&tomorrow_schedule(period=数字,曜日か指定日){文章とか画像};''
数字部分は何日前から表示するかの指定、{ }内は&br;による改行や&refなども使用可能
両端の''は太字にする為なので必須ではない。外してもOK 

曜日か指定日の部分は曜日なら月~日のいずれか。週も指定するなら土3のような書き方
指定日の場合は月を指定しないなら数字だけ、月も指定するなら1/1のように記述
また月末指定のEOMや月末からx日指定の-数字という一風変わった指定方法も

実際に表示する際は当日であれば「今日は」、前日であれば「明日は」が書かずとも先頭に付く
該当日まで数日ある場合は「〇〇日後は」が付く

twitter_widget.inc.php

#Twitter_widget(data-widget-id=ウィジェット作成時に表示される数字,height=500,width=500)
wikiwikiにおける#twitter_timelineの代替品
Twitter上でウィジェットを作成する必要がある。つまり使用にはTwitterアカウントが必須

wikiwiki比で失われた機能

装飾

顔文字

一応入れようと思えば導入可能
個人的には不必要と判断

一部の編集アシスト

wikiwikiとは違う形での実装は可能
要望があれば編集連絡板

プラグイン

aa.inc.php
アスキーアートをWiki内で使用可能にする
codehighlight.inc.php
プログラムのソースコードを色分けして表示
addline.inc.php
ボタンを押すと該当ページ内に指定した文字列を追加
marquee.inc.php
IE独自の仕様であるmarqueeを表示を実現する
gyo2cal.inc.php
2行で表示出来るカレンダー
recentdetail.inc.php
更新履歴拡張
showrss2.inc.php
表示行数を指定できるshowrss
areaedit.inc.php
ページ内の指定領域のみを編集対象とする事が可能
pukiwikitimes.inc.php
blogtimesのPukiWiki版
vote2.inc.php、tvote.inc.php
最初から組み込まれている投票プラグインvote.inc.phpの拡張
jumplist.inc.php
リンクリストを作って指定したページに簡単に飛べるフォームを作れる
table_edit.inc.php
簡単に編集出来る表を作成可能
制限が多く、更にバグの多い旧verしかダウンロード出来ない状況
include2.inc.php
表示行数制限付きinclude.inc.php
ls2_1.inc.php
ls2拡張
newpage_subdir.inc.php
指定ページ以下のディレクトリを列挙して新規ページを作成可能
urlbookmark.inc.php
簡単入力でURLのブックマーク一覧を作れる
扱いを間違えると面倒な事になるので導入検討の余地無し
nicovideo.inc.php
ニコニコ動画のサムネイルを表示
ニコニコ自体の仕様がころころ変わるので導入検討の余地無し
exkp.inc.php
携帯とPCとで表示するソースを使い分ける
これは別の手段で既に実現済。導入検討の余地無し
tracker_plus.inc.php - 高機能tracker
memox.inc.php - 列,行数の指定, 表組みに設置可能なmemo
listbox3.inc.php - tracker特化型listbox
randommes.inc.php - 指定したファイルに書かれた一行をランダム表示
この4つは既に配布終了
transit.inc.php - 路線情報表示
splitinclude.inc.php - 左右に分割してのインクルード
replace.inc.php - 文字列置換
partedit.inc.php - 部分編集のon/off
nosidebar.inc.php - 右サイドメニューを非表示
nomenubar.inc.php - 左サイドメニューを非表示
mixirss.inc.php - RSSリーダーをより読みやすくする
minicalendar_viewer.inc.php - 日記プラグインの拡張
minicalendar.inc.php - メニューバーに出すためのカレンダー
この9つも実質配布終了状態