PukiWiki備忘録 のバックアップ(No.20)


Wikiアプデの際に生まれた副産物の配布および紹介が主なページ
Wikiカスタムにあたってのメモも記述   …の予定


この項目のそれは全て1.5.2&1.5.3+PHP7系でしかテストしていません
旧環境だとエラーを吐く可能性もあります。利用は自己責任で


配布

PukiWiki 1.5.2以降用スキン - Type_TR

当Wikiで使用しているレスポンシブデザインのスキン
同梱物を含めて丸々skinディレクトリ内に放り込めばすぐに利用可能
他のプラグインとの連携を想定してデフォルトではjQuery呼び出しをしています

通常のスキンとの違い

ロゴ撤廃+Ioniconsを利用して編集者向けメニューをアイコン化。上部がスッキリ
先に説明した通りレスポンシブデザインでもあり、縦持ち横持ち(厳密には横幅で判定)で見え方が変わります
他は些細な記述の違いはあるものの、デフォルトのスキンからさほど変更点は無いです

バージョンとライセンス

現在は2020/5/17更新のv0.4。その次の6/27→ 9/25更新で完成版を上げてそれで更新終了予定
スキン本体と専用CSSのライセンスはPukiWiki本家に準ずる形
再配布している同梱物(moveTo.js)はMIT

+  v0.4 → 完成版の変更予定
+  v0.3 → v0.4の変更点
+  v0.2 → v0.3の変更点
+  v0.1 → v0.2の変更点

必要なファイル

1.5.2であれば各zipファイルを解凍後、そのままskin直下に放り込めばすぐに利用可能
スキン本体のダウンロードはこのページの添付ファイルからどうぞ。Ionicons一式は外部の専用ページへ

注意事項

諸々試しながら少しずつ改変している為、配布物と当Wikiの現行スキンで微妙に仕様が異なる可能性あり
上の項目で記述した変更点がそれに該当

sortabletable.inc.php - Data Tables版

taru memo内の日記ページにて配布されているプラグインをDataTables仕様に改造した物
下位互換性を持たせているので、ユーザー側は旧版と同じ感覚で利用可能
ただしjQuery呼び出しおよび後述する各種ファイルの設置は必須
また利用の際はdefine('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0);設定が必須
この設定をしないと複数行に跨るプラグイン全般が機能しません。これは改変元のプラグインでも必須

旧版との大きな違い

表データの各種外部出力およびページャー機能が付きました。また、数値ソート(Number)が若干パワーアップ
ソート用の新オプションも追加したのでソートのON/OFF、データの一部非表示なども可能となりました
Data Tablesは改造しやすく、知識さえあれば他にも色々と出来そうですが今回実装分での違いはこのくらい

バージョンとライセンス

2019/7/24、R00。プロトタイプ的な位置付け
現状、深刻なバグが出ない限りはこのR00のまま。VerUP予定無し
あくまでWikiアプデの際の副産物なのでR01以降は他の人に任せます…

ライセンスは改造元の作者さんに倣い、GPLv2 or (at your option) any later version
記述時点ではGPLv2 or GPLv3の二択

必要なファイル

プラグイン本体は当然pluginディレクトリ
残りはskin/Data Tables内に置く事になります。詳細はプラグインに同梱のmemo内にて
jQueryの読み込ませ方はお好みで。一応デフォルトでは既に呼び出している前提の記述をしています

機能紹介

#sortabletable{{
表|h
表
}}

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

#sortabletable(有効値|有効値...,フィルター用の0~2の数値){{
表|h
表
}}

元のプラグインと違いsort=を付ける必要が無く、付いていても強引な修正処理により無い物として扱われる
また有効値はこの強引な修正処理により大文字小文字が入り混じってもOK
フィルター用の数値はきっちり半角で入力する事
有効値「」、もしくは無効値を入力
DataTablesにおけるニュートラルな条件でソート
これは後述のStringとは別物。若干ソートの仕方が違う
YYYYMMDD形式の日付処理はこれに任せるとよさげ

有効値「Number」
文字列を数値として扱う。旧版とおおよそは同じ仕様
旧版と違う所は数値以外を基本存在しない物として扱う点。カンマや円などの単位が付いていてもきっちり機能する
例外として、指定列内に数値が含まれていない文字列だけの箇所が混じっているとソートがおかしくなる事も 

有効値「String」
文字列を文字列として扱う。旧版と同じ仕様
旧版同様、数値もただの文字扱いなので数値処理には向かない 

有効値「Off」
この指定をされた列は矢印が表示されず、ソートの基準に出来ない。旧版では利用不可
「ソートの基準には出来ない」というだけなので他に合わせて動き、フィルターの対象としても扱われる

有効値「Secret」
この指定をされた行は完全に隠れて表示されない。旧版では利用不可
「表示はされないが要素として存在はしている」のでフィルターの対象にはなる
内部IDなど普段は隠しておきたい列に対して使うと良い

番外:自分で新たな有効値を設定
条件分岐をシンプルにしているのでPHPを弄る技量をお持ちならこれも有り
配布されている別のjsを使うも良し、特殊なオリジナルソートを自作するも良し
ただしここでその類の解説はしませんというか出来ません。頑張れる人だけ頑張って下さい
フィルター有効値「」、もしくは無効値を入力
フィルター機能無効。旧版と同じ

フィルター有効値「1」
フィルター機能有効。旧版とおおよそは同じ
旧版と違うのはON/OFF機能が無い…というか付ける必要のない簡易的なフィルターという点
故に複数条件での指定は出来ない

フィルター有効値「2」
フィルター機能有効+ページャー有効。旧版では利用不可
簡易的な指定件数毎の表示機能が設けられ、表を複数ページに分ける事が可能。TOP10表示などに便利
表示は500件、100件、50件、10件、1件の中で指定が可能、初期値は500。プラグイン内の該当箇所を直接弄る事で変更可

サンプル1

#sortabletable(aaaaa|Number|SecRet|date|off,2){{
|~yyyymd|~人口|~密度|~a|~b|h
|987/11/16|約555|1|2月29日||
|3411-1-5|1111人|02.1|||
|5555/11/13|aaaa6aaaaaaaaaaaaaaaaaaa|10|9月15日||
|6890/12/4|5.55です|1.9|11月22日||
|0987/11/2|9,99人|2.6|1月2日||
|987/1/2|999体|-2.6|11月11日||
|987/11/2|-9ふぇ99人|2.6|11月3日||
|0987/11/2|9,99人|2.6|10月10日||
|987/1/2|999体|2.6|2月29日||
|2016/9/27|4000000|16|1月10日|ALL GOOD|
|987/2/11|5000兆ギル欲しい|+2.23|0120828828||
}}
 
yyyymd人口密度ab
987/11/16約55512月29日
3411-1-51111人02.1
5555/11/13aaaa6aaaaaaaaaaaaaaaaaaa109月15日
6890/12/45.55です1.911月22日
0987/11/29,99人2.61月2日
987/1/2999体-2.611月11日
987/11/2-9ふぇ99人2.611月3日
0987/11/29,99人2.610月10日
987/1/2999体2.62月29日
2016/9/274000000161月10日ALL GOOD
987/2/115000兆ギル欲しい+2.23828828

メモ(随時追加)

プラグイン微改修

region.inc.phpのHTML5対応

本家の想定バージョン自体がかなり古い為、まずはUTF-8変換して保存

tableタグ中のcellpadding=1 cellspacing=2を削除し、style="padding:0.2em;border-collpase:separate;border-spacing:1px;"に置き換え
tdタグ中のvalign=topを削除し、styleにvertical-align:top;を追加
paddingは2px指定でも可

80行目辺りのspan id=rgn_button$this-~のstyleにpadding-left:0.2em; padding-right:0.2em;を追加
更にfontの文字化け部分をMS Pゴシックに再置き換え
paddingの幅指定、fontのサイズ指定はお好み…というか環境に合わせて微調整して下さい

secedit.inc.phpのPHP7系対応

プログラム中に3つほどある&newをnewに置き換え。これだけ
ただしform_helper.phpを筆頭とした編集支援対応は別途記述が必要。頑張れる人は頑張って下さい
なお置き換え後は古いバージョンのPHPでは動作不可となる。互換性無し

tomorrow_schedule.inc.phpのPHP7系対応

本家の想定バージョン自体がかなり古い為、まずはUTF-8変換して保存
合わせてjaの方のtodayis、tomorrowis、daystoを「今日は」「明日は」「%d日後は」に書き換え
その後、プラグイン内に記述されているeregを7系対応している別の何か(mb_eregなど)に置き換えればOK

コメント

お名前:
  • TFBL版のスキンをあちらで配布開始。ここのは比較対象としての役割を担ってもらうので削除はしませんが、今後更新しません+サポートも無し+Wiki自体のスキンもTFFAC版のままで行きます -- 2024-02-16 (金) 22:52:37
  • 出来得る限り問題点を潰したマイチェン版であり、一応の完成版ともなります。これで当分スキンの更新はしない予定 -- 2021-09-27 (月) 23:43:05
  • Pukiwikiスキン[Ver. 92738]最新ver、[Ver. 92738]++をリリースしました -- 2021-09-27 (月) 23:41:34
  • 逆に言えば対策が必要な箇所はそこくらいなので今回分でほぼ完成となります。多分 -- 2021-04-07 (水) 23:32:19
  • device-width仕様でもう一度だけ更新するかもしれません。しれないかもしれません -- 2021-04-07 (水) 23:30:19
  • スマホにおけるフォーム文字入力時の勝手なズームがどうもviewport起因っぽいので、 -- 2021-04-07 (水) 23:30:04
  • スキン[Ver. 92738]+1、アップロードしました -- 2021-04-07 (水) 23:27:42
  • Appleはちょっと要らないお節介しすぎですね…そもそも以前は問題なかったのに何故 -- 2021-04-01 (木) 23:39:18
  • 申し訳ありませんが公開を4/7に延期します。泥対応はほぼ解決しましたがiPhone SEで想定外が複数起きている為… -- 2021-04-01 (木) 23:37:13
  • スキン更新、4/1ギリギリになりそうな感じです。一昨日仕上げる気だったのに寝落ちするから… -- 2021-04-01 (木) 18:32:01
  • スキン[Ver. 92738]の次回変更点を記述。+1です -- 2021-03-14 (日) 02:45:02
  • 調整&他端末での確認後、2021/4/1にスキン[Ver. 92738.1]を上げます -- 2021-01-10 (日) 05:35:45
  • Pixel 5で文字が想定していない大きさになっていたのを確認。マイチェンが必要になりましたね… -- 2021-01-10 (日) 05:34:45
  • 今更ですが動作確認済ブラウザと機種を追加。まあCSS3対応なら問題ないです -- 2020-11-28 (土) 05:27:34
  • 完成版スキン、[Ver .92738]の解説およびアップロードを完了 -- 2020-09-27 (日) 21:06:06

最新の15件を表示しています。 コメントページを参照