Extension:Labeled Section Transclusion
![]() リリースの状態: 安定 |
|
---|---|
実装 | タグ , パーサー関数 |
説明 | 文章のマークされた節を埋め込み参照する |
作者 | Steve Sanbeg |
互換性ポリシー | MediaWikiとともにリリースされるスナップショット。 master には後方互換性がありません。 |
MediaWiki | >= 1.35.0 |
データベースの変更 | いいえ |
ライセンス | GNU 一般公衆利用許諾書 2.0 以降 |
ダウンロード | |
translatewiki.net で翻訳を利用できる場合は、Labeled Section Transclusion 拡張機能の翻訳にご協力ください | |
問題点 | 未解決のタスク · バグを報告 |
Labeled Section Transclusion(ラベル付き段落の参照読み込み)拡張機能は、通常のようにウィキテキストを構文解析して、マークされた節の選択的な参照読み込みを可能にします。その機能は、通常の参照読み込みを持つ<onlyinclude>
タグの拡張バージョンと似ています。これは、包含する節を選択します。これはウィキメディアのすべてのウィキで有効になっています。
標準の参照読み込みが基本的には小規模なテンプレートの大きなまとまりを扱うのに対し、ラベル付き節の山椒読み込みは大きなページの小さなまとまりを意図しています。
ただし、多少の相違点があります。ネイティブなテンプレートの参照読み込みでは節を挙動ごとにマークします。そのおかげで利用者は対象にするかしないか、(おそらく隣接しない) セクションひとつに絞り込むことができます。
さて、節の名前でマークし、呼び出し子で挙動を選択すると、必要に応じて節を対象に含めたり外したりできます。異なるページごとに選択した節を対象に含めたり除外したりできます。節の数は任意で、また任意に重複が認められます。
節に挙動ではなく名前でマークする場合、長い文を対象にした抽出が節リンクの編集の表示を寄り的確に行います。このとき拡張機能は現在ページの冒頭で対象外とするべき節を考慮に入れることができ、参照読み込みする節を適切にオフセットできるようにします。
動作の仕組み
ステップ 1: 節へのタグ付け
以下のように <section>
タグを使用して節にタグ付けします:
<section begin="chapter1" />this is a chapter 1<section end="chapter1" />
これらのタグはHTML/XMLではなく、通常の属性構文を使用しないことに注意してください。
このため、begin
と end
のマーカーは XML の通常の開く/閉じるタグではなく、個別であるため、節の入れ子やオーバーラップが許可されます。これにより、他の節との干渉を気にすることなく、section タグを挿入できるようになります。
ステップ 2a: 節の参照読み込み
Call the parser function #lst to transclude it, i.e. to transclude a section called chapter1 from a page called articleX:
{{#lst:articleX|chapter1}}
The target article defines the location of the section; its behavior is determined by the parser function.
ステップ 2b: ページは参照読み込みし節は除外する
To transclude a page, but exclude a specified section, use the #lstx function:
{{#lstx:articleX|chapter1}}
任意に、除外されたセクションへ代替テキストを挿入することができます。
{{#lstx:articleX|chapter1|replacement_text}}
例:
{{#lstx:articleX|chapter1|See chapter 1 in [[articleX]].}}
置換されたテキストは、セクションがスキップされた(除外された)エリアに表示されます。
その他の機能
不連続な節
同一名の複数の節は共存できます。この事例では、同一名の節はどれも対象にしたり除外したりできます。さまざまな議論をマークするとき、特に有効です。
節の範囲
These functions have an additional, optional argument to specify a section range; i.e. {{#lst:articleX|chapter1|chapter3}}, to include everything from the beginning of chapter 1 to the end of chapter 3. This allows using empty marker pairs to mark one end of the section, possibly in a template. A similar mechanism is currently used at the French Wikisource.
subst展開
This also works with substitution; it's even possible for an article to substitute a section of itself. One use of this provides a neat way to archive talk pages: Mark the text to be archived using <section begin=archive />
, etc. Then create an archive page with the text, using {{subst:#lst:talk_page|archive}}, which copies archived sections. Lastly, replace the contents of talk_page with {{subst:#lstx:talk_page|archive}} to remove those sections.
見出し単位で節を参照読み込みする
このオプションは、標準的な見出し、たとえば==this section==
でマークした文の節の参照読み込みをサポートします。インストールすると、lsth 関数で実施します。
導入部の参照読み込み
ページ導入部(1つ目の見出しより前の部分)を除外するには、以下のようにしてください :
{{#lsth:pagename}}
特定の節の参照読み込み
また、sectionXの内容全てを参照読み込みすることもできます (サブセクションの全てが含まれますが、sectionXの見出しは含まれません)。
{{#lsth:pagename|sectionX}}
注意点:
- 同一名の節が複数ある場合、最初に出現するsectionXに限定して参照読み込みされる。
- sectionXの見出し名は表示される文字列ではなく、必ずin wiki codeの書式で入力。たとえば節見出しが
==List of [[Extension]]==
の場合、入力する文字列は「List of [[Extension]]
」が正しく「List of Extension
」は間違い。 - 翻訳拡張機能を使って翻訳対象のマークを付けたページから、節を参照読み込みする場合、言語特定版から参照読み込みすること。 例:単なるpagenameではなくpagename/enを対象にする。
- 対応付けはリンクが大文字と小文字の変更によってリンクが崩れるのを防ぐため。大文字小文字を区別しない。
複数の節の参照読み込み
最初のsectionXの出現 (sectionX自体の見出しを除外) から次に出現するsectionYまでの間を除外することもできます。sectionYは停止点として機能し、sectionYの内容は参照読み込みの対象外です。
{{#lsth:pagename|sectionX|sectionY}}
スキップした見出しについての注記
MediaWikiにおける従来の参照読み込みは節を対象にしていないため、連続しない見出しは対象外です。その結果、複数の見出しを含むテンプレートを参照読み込みする場合、冒頭の見出しを対象から除外すると節編集リンクはすべて、テンプレート内の誤った箇所に対応付けされます。
この拡張機能の利用 (MediaWiki 1.9以降の場合)、#lst関数と#lsth関数は「除外した」冒頭部の見出しも数えて見出しの対応付けを的確に実行します。複雑ではない事例では、節が正しく対応付けされます。
注意点として、#lstxは除外した見出しを対象にしない上、不連続な節内の除外された見出しはオフセットしません。 ただ現状では解消されたように (おそらくMediaWiki の新しい前処理機能にポートされた場合も) 表示されます。参照読み込みされた見出しは正しい節を対応付け可能.
地域化
内部的には、パーサー関数は拡張子の名前との一貫性を保つため、すべてlst接頭子を使用します。この接頭子は開発者以外を混乱させる可能性があるため、読みやすい英語の変数名が導入され、現在、関数はどちらの名前からも呼び出し可能です。
関数 | 英語 | ドイツ語 | ヘブライ語 (RTL) | ポルトガル語 |
---|---|---|---|---|
#lst | #section | #Abschnitt | #קטע |
#trecho |
#lstx | #section-x | #Abschnitt-x | #בלי קטע |
#trecho-x |
#lsth | #section-h |
さらに、タグはこの時点でローカライズ可能になりました (現状では英語、ドイツ語、ヘブライ語)。例をあげます。 英語, ドイツ語, ヘブライ語, ポルトガル語; 例:
- 英語
<section begin=x/> ... <section end=x/>
- ドイツ語
<Abschnitt Anfang=x/> ... <Abschnitt Ende=x/>
- ヘブライ語 (RTL)
<קטע התחלה=א> ... <קטע סוף=א>
(「開始」コードが右、「終了」コードが左です)- ポルトガル語
<trecho começo=x/> ... <trecho fim=x/>
制限
- 複数の名前空間でこの拡張機能を利用できますが、ウィキ間参照は未解決です。今も、たとえばウィキソースの部分をリモートのMediaWikiインストールに含めることは不可能です。
- 節タグそのものを他のページで動作させるために参照読み込みさせることはできません。
{{#lst:}}
and{{#lstx:}}
は、節タグが参照読み込み先のページそのもののウィキテキストに存在する場合のみ有効です。言い換えるなら、たとえば、テンプレートのパラメータやパーサ関数を利用して節タグをテンプレートに埋め込むことはできません。#tag
マジックワードは節タグとは同時に使えません。 - 2014年現在、節タグはテンプレーとのパラメータ内で使われると効果がありませんでした。ページ A に{{B|X}}というテキストがある場合、{{#lst:A|...}}がXにアクセスすることは不可能です。
ダウンロード
拡張機能は、Git から直接取得できる場合があります [?]:
- コードを参照
- 一部の拡張機能には安定版リリースのタグがあります。
- タグを参照
- タグを選択します
- 「スナップショット」をクリックします
- 各ブランチは過去の MediaWiki リリースと関連付けられています。 最新のアルファ バージョンを含む「master」ブランチもあります (MediaWiki のアルファ バージョンが必要な場合用)。
- ブランチを参照
- ブランチ名を選択します
- 「選択」をクリックします
スナップショットを展開して、MediaWiki インストレーション内の extensions/LabeledSectionTransclusion/ ディレクトリに配置します。
git に馴染みがあり、かつサーバーにシェルでアクセスできる場合は、拡張機能を以下のようにして取得することもできます:
cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion.git
インストール
- ダウンロードして、ファイルを
extensions/
フォルダー内のLabeledSectionTransclusion
という名前のディレクトリ内に配置します。 - 以下のコードを
LocalSettings.php
の末尾に追加します:wfLoadExtension( 'LabeledSectionTransclusion' );
完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
さまざまなウィキソースにガジェットがあり、簡略化した## label ##
構文で節を特定できます。
コードはWikisource:MediaWiki:Gadget-Easy_LST.jsで入手できます。
例
- wikisource:user:sanbeg/Includerとは基本機能のいくつかを示す初期のデモンストレーション版です。
関連ページ
- DynamicPageList (サードパーティ製)にはラベル付き節参照読み込みをわずかに改変したビルトイン版が含まれる
![]() | この拡張機能は 1 つ以上のウィキメディアのプロジェクトで使用されています。 これはおそらく、この拡張機能が安定していて高いトラフィックのウェブサイトでも十分に動作することを意味します。 この拡張機能がインストールされている場所を確認するには、ウィキメディアの設定ファイル CommonSettings.php および InitialiseSettings.php 内で、この拡張機能の名前を探してください。 特定のウィキにインストールされている拡張機能の完全な一覧は、そのウィキの Special:Version ページにあります。 |
![]() | この拡張機能は以下のパッケージ/ウィキファームに含まれています: |