cssfilter.inc.php

名称CSS加工フィルタープラグイン
ファイルcssfilter.inc.php
バージョン1.00
対象サーバーPukiWiki 1.5.3 / PHP 7.4 / UTF-8
対象ブラウザーFirefox, Chrome, Safari, Edge 各最新版
ライセンスGPLv3

CSSファイルを加工し、そのURLを返すPukiWiki用プラグイン。

現バージョンでは、レガシーブラウザー向けにCSSカスタムプロパティーのポリフィルを施す機能のみ実装されています。
加工したCSSファイルはキャッシュディレクトリにキャッシュされます。

インストール

cssfilter.inc.php
7.2KB | 2020-05-21

cssfilter.inc.phpPukiWikipluginディレクトリに配置してください。

使い方

#cssfilter(cssFile)
  • cssFile … 加工するCSSファイルのパス(skinディレクトリからの相対パス)

使用例

<link rel="stylesheet" type="text/css" href="<?php echo (exist_plugin_convert('cssfilter'))? do_plugin_convert('cssfilter', 'mystyle.css') : SKIN_DIR . 'pukiwiki.css'; ?>" />

設定

コード内の下記の定数で動作を制御することができます。

定数名既定値意味
PLUGIN_CSSFILTER_FALLBACKCSS文字列'pukiwiki.css'フォールバックCSSファイル名(スキンディレクトリ内に存在すること)
PLUGIN_CSSFILTER_VARIABLES_POLYFILL0 or 11CSSカスタムプロパティーポリフィル機能有効
PLUGIN_CSSFILTER_CACHE_MAX_AGE数値(7 * 24 * 60 * 60)クライアントキャッシュ時間(秒)。0なら無指定。実際にキャッシュが効くかどうかは環境による

謝辞

CSSカスタムプロパティーのポリフィル処理は、『CSSカスタムプロパティ(CSS variables)のIE11対応polyfill作ってみた』(©やぶみの開発メモ, 2020年2月16日版)のJavaScriptコードをPHPに移植したものです。

default.ini.phpへの設定

本プラグインの定数設定(ファイル内の下記のような行)は、PukiWikiルートディレクトリにある標準設定ファイルdefault.ini.phpにも記述することができます。本プラグインの定数設定行をdefault.ini.phpの末尾にそのままコピーしてください。default.ini.php側の設定値が優先されます。

/////////////////////////////////////////////////
// ○○プラグイン設定(○○.inc.php)
if (!defined('PLUGIN_○○_×××)) define('PLUGIN_○○_×××', △);

設定をdefault.ini.phpに記述することで、プラグインをアップデート(ファイル上書き)するたびに値を書き直す必要がなくなります。また、設定がdefault.ini.phpに集中することで、運用中の設定管理も楽になります。

凡例

プラグインの引数は下記の書式で表現しています。

  • [] … 省略でき必要に応じて記述します
  • | … |で区切られた項目のうち1つを記述します
  • {} … 中カッコ内の引数は任意の順序で記述できます