Top/PukiWiki備忘録

PukiWiki備忘録

 

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


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


配布

PukiWiki 1.5.3向けskin [Ver. 92738]

Screenshot_PC.pngScreenshot_SP.png

使い方

  1. ionicons v2一式を外部の専用ページへからダウンロード、解凍
  2. スキン一式を添付ファイル一覧よりダウンロード、解凍
  3. skinchg.phpのみディレクトリの最上層に置き、残りはskin直下へ投下。これでOK

収録内容

  • pukiwiki.skin.php
    • [Ver. 92738]スキン本体
  • pukiwiki.css
    • [Ver. 92738]スキン専用CSS
  • pukiwiki-sp.css
    • [Ver. 92738]スキン専用CSS。スマホ/タブレット用
  • skinchg.php
    • 疑似PC表示固定機能。Cookieを利用しページ最上部のトグルアイコンでON/OFFを切り替える
  • smooth-scroll.js
    • スムーズスクロール用。jQuery呼び出しは不必要。再配布

通常のスキンとの違い

  • Milligramのソースを一部流用したFlexbox仕様でレイアウトを再構築
  • Ioniconsを利用して編集者向けメニューをアイコン化
  • デフォルトスキンよりレスポンシブ対応を強化、PC表示固定機能も搭載
  • ページタイトル下に簡易検索窓搭載
  • 後々カスタマイズしやすくする為、無駄な隙間は悉く撤廃

動作確認済ブラウザ

Internet Explorer 11
Microsoft Edge - EdgeHTML
Microsoft Edge - Chromium
Waterfox Classic
Steam内蔵ブラウザ

動作確認済機種

iPhone SE - 第一世代
Xperia 5
Xperia 10 II
Xperia 10 III Lite
Pixel 5
Xbox Series S
PS Vitaも表示が若干崩れますが一応閲覧可能

ライセンス

スキン本体と専用CSSのライセンスはPukiWiki本家に準ずる形
再配布している同梱物(smooth-scroll.js)はMIT

アップデート履歴

+  [Ver. 92738]+1 → [Ver. 92738]++の変更点 (2021-09-27)
+  [Ver. 92738] → [Ver. 92738]+1の変更点 (2021-04-07)
+  v0.4 → [Ver. 92738]の変更 (2020-09-27)
+  v0.3 → v0.4の変更点 (2020-05-17)
+  v0.2 → v0.3の変更点 (2020-03-27)
+  v0.1 → v0.2の変更点 (2019-11-07)
+  初版

特記事項

基本的には一画面に収まるようなCSSの書き方をしていますが、table絡みだけはほぼそのまま
ここを無理に改善すると利便性が落ちる上に表に絡むプラグインと干渉する可能性があり、なくなく…
この影響でスクロール用ボタンが時々小さくなる不具合が存在しますが、上記の理由により「仕様」と化しました

注意事項

当Wikiの見出し横に付いている編集用鉛筆マークは改造版paraedit由来
故に配布中の専用スキンにデフォルトでは付いていません。あしからず

また、デフォルトで想定しているサイズは横幅1280まで
それ以上だとブラウザの中央配置となり周囲に余白が生まれます。ごりごりにカスタマイズする方は適宜変更を
右上のロゴ枠は自分で用意してください。一応バナーを置く事を想定した設計

対応を投げた箇所

2K以上のディスプレイ対応と4インチ未満の端末サポート。後者は初代iPhone SEが対応の境目
iOSのPC向け表示時における文字入力時の自動拡大。iPadも考慮すると縦対応はともかく、横持ち対応は現実的でない

(92738?)

TFFAC稼働開始が9/27→927
FF→ff→ffといえばさやか→38
要約すると若干私情の入ったTFFAC4周年記念モデルです

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

コメント

お名前:
  • 出来得る限り問題点を潰したマイチェン版であり、一応の完成版ともなります。これで当分スキンの更新はしない予定 -- 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
  • スキンのアップロードは完了   …しましたが解説変更が追いついてません。少々お待ちを -- 2020-09-27 (日) 20:16:58

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