Extension:HTMLets/ja

From MediaWiki.org
Jump to: navigation, search
MediaWiki 拡張機能マニュアルManual:Extensions
Crystal Clear action run.png
HTMLets

リリースの状態:Extension status 安定

実装Template:Extension#type Tag
説明Template:Extension#description ファイルからHTMLスニペットを埋め込むことができる
作者Template:Extension#username Daniel Kinzler (Duesentriebtalk)
最新バージョンTemplate:Extension#version continuous updates
MediaWikiTemplate:Extension#mediawiki 1.9 以降
データベースの変更Template:Extension#needs-updatephp いいえ
ライセンスTemplate:Extension#license GPL-2.0 以降
ダウンロード
README
パラメーターTemplate:Extension#parameters

$wgHTMLetsDirectory

タグTemplate:Extension#tags
<htmlet>
使用するフックTemplate:Extension#hook
ParserFirstCallInitManual:Hooks/ParserFirstCallInit

translatewiki.net で翻訳を利用できる場合は、HTMLets 拡張機能の翻訳にご協力ください

使用状況とバージョン マトリクスを確認してください。

HTMLets拡張機能は(インラインの)スタティックなHTMLスニペットをwikiページにインクルードする方法を提供します。スニペットはウェブサーバ上の特別なディレクトリのファイルに設定されます。これは任意で潜在的に有害なコードを挿入することをユーザに許可することなく、特別なJavaScriptコード、<iframe>、HTMLフォームを挿入するシンプルな方法に対する要求を解決します。

インストール[edit]

  • ダウンロードして、ファイルを extensions/ フォルダー内の HTMLets という名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php の末尾に追加します:
    require_once "$IP/extensions/HTMLets/HTMLets.php";
    $wgHTMLetsDirectory = "$IP/htmlets";
    
  • YesY 完了 - ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

使用[edit]

HTMLスニペットをインクルードすることは特別なタグである、<htmlet>を使用することで行われます。例えば、wikiページで次のコードを設置する場合です:

<htmlet>foobar</htmlet>

これはhtmletディレクトリからfoobar.htmlファイルの内容をインクルードします。スニペットが頻繁に変更して、これらの変更をすぐにwikiページ上で反映させたい場合、そのページに対してHTMLetsにパーサーキャッシュを無効にするように伝えることができます:

<htmlet nocache="yes">foobar</htmlet>

htmletディレクトリは$wgHTMLetsDirectoryを使用して構成することができます; デフォルトの値は"$IP/htmlets"で、すなわち、MediaWikiのインストレーションrootのhtmletsディレクトリです。$wgHTMLetsDirectoryはウェブサーバ上の場所を参照することもできます。例えばhttp://localhost/htmlets/に設定できます。- note that the .htmlで終わることが必須でクエリ文字列がhtmletの名前で許可されていないからです。。

パーサー問題とハック[edit]

現在、mediawikiのパーサーはパーサーフックの出力をそのままにしてしまいます(bugzilla:8997)。このことはスニペットのファイルからのHTMLは特定の状況で一部が表示されない(mangeled)可能性があります(例えば、インデントもしくは空白の行が含まれない)。

リビジョン19966に関して、HTMLetsは"hack modes"によってこの問題に対処します。提供されるhackは<htmlet>タグに対してhack属性を使用することで制御でき、$wgHTMLetsHack設定をLocalSettings.phpで使用することで、グローバルなデフォルトの値を設定できます。次の値が定義されています(最初はhack属性で使用するための名前で、2番目はLocalSettings.phpで使用するための定数名です):

  • "bypass" (HTMLETS_BYPASS_HACK): は安全に動作します; スニペットファイルからBase64でエンコードされたHTMLバージョンを出力して、ParserAfterTidyフックでそれをデコードすることで動作します。これはデフォルトの設定です。
  • "strip" (HTMLETS_STRIP_HACK): は表示をめちゃくちゃにするきっかけになるものをストリップまたはエンコードします。これは<pre> でフォーマットされたテキストを壊し特別な状況の下でJavaScriptコードに干渉もする可能性があります。
  • "none" (HTMLETS_NO_HACK): スニペットファイルの内容の処理をパーサーに任せます。完全な世界では、これは正しいでしょう。表示されない要素(mangeling)に注意しないとすぐに予期せぬ結果になります。既知のトリガーは空白の行、と空白で始まる行、"#", "*", ";",もしくは":"です、行においてコロン(":")の前にある空白も問題です。ここで説明したものはHTMLETS_STRIP_HACKによって対処できます。別のトリガーがあるかもしれませんし、パーサーの振る舞いが変わることがあります。

関連項目[edit]

言語:Project:Language policy English  • 日本語