モジュール:Marker utilities/doc
このページは、モジュール:Marker utilitiesの説明文を記述するページです。
このテンプレートは、以下のLuaモジュールを使用しています。 |
このモジュールは、モジュール:VCardで使用される関数を提供します。Wikivoyage:Marker utilities (ドイツ語版) も参照。
使用状況
編集このモジュールを使用しているモジュールは以下の通りです:
関数
編集メンテナンス関数
編集function mu.initMaintenance( name )
この関数は、エラーメッセージ出力のための変数を初期化します。name
には、名前空間名を除いた関連モジュールの名前が入ります。また、この関数は不正なパラメータとエラー・注釈のテーブルも初期化します。
function mu.addMaintenance( key, value )
この関数は、key
に与えられたコードから、エラーや注釈などのメッセージを取得してエラーと注釈のテーブルに入れます。value
はメッセージの引数として、%s
を置換します。上で紹介したいくつかの関数もこのテーブルに値を入れます。
function mu.getMaintenance()
この関数は、全てのエラーと注釈のメッセージを返します。
function mu.getCategories( formatStr )
使用されたすべてのウィキデータプロパティについて、そのプロパティのカテゴリへのリンクを返します。
補助関数
編集function mu.isSet( arg )
引数arg
がセットされているかどうかについて、true
またはfalse
を返します。arg
に空文字列以外の値が代入されている場合のみ、true
が返ります。
function mu.convertForSort( s )
ソート用に、文字列s
に含まれる特殊文字を置換します。置換される文字は、国際化ファイルのsubstitutes
テーブルに入っています。漢字は量が膨大であり列挙が不可能であるため、日本語版ウィキボヤージュではこの関数に意味がありません。
function mu.formatNumber( num )
数値の引数num
について、小数点を文字列として置換し、3桁ごとに桁の区切り文字を挿入します。
function mu.tableInsert( tab, value )
テーブルtab
が定義されており、空文字列でなければ、tab
にvalue
を挿入します。
function mu.textSplit( s, sep )
文字列s
を区切り文字sep
で分割し、空文字列を含まないテーブルに代入します。sep
は正確に1文字(1バイト)の長さを持ち、パターンマッチの構文は使用できません。この関数はmw.text.split()
よりも遥かに速いです。
function mu.split( s )
文字列s
をカンマで区切った連想配列を返します。部分文字列は小文字に変換され、スペースはアンダースコアで置換されます。
function mu.makeSpan( s, class, isBdi, attr, css )
s
を<span>
タグまたは<bdi>
タグで囲んだ文字列を返します。class
はCSSクラス、attr
は属性のテーブル、css
は要素に直接書かれるスタイルシートのテーブルです。
function mu.languageSpan( s, titleHint, args, country, addClass )
言語とテキストの方向が指定された<span>
タグにテキストs
を挿入します。titleHint
は<span>
タグのtitle
属性、args
はテンプレートのパラメータが入ったテーブル、country
は国の情報のテーブルです。
function mu.addWdClass( isFromWikidata )
isFromWikidata
がtrue
の場合、クラス識別子wikidata-content
を返し、そうでなければ空文字列を返します。
function mu.getAliases( tab, key )
テーブルtab
から、別名のキーと正式名称の値を持ったテーブルを作成します。
function mu.yesno( val )
val
が既知の値であればy
またはn
を返し、なければnil
を返します。モジュール:Yesnoと同じ機能です。
評価関数
編集function mu.checkArguments( templateArgs, validKeys )
テンプレートの呼び出し時に、未知のパラメータや別名によって重複したパラメータが使用されているか確認します。これらの不明または重複したパラメータは、無効なパラメータのテーブル(invalidParams
)または重複した別名のテーブル(duplicateAliases
)に入ります。templateArgs
は確認したいパラメータのテーブルで、validKeys
は既知のパラメータのテーブルです(モジュール:VCard/i18nなどを参照)。返り値は有効なパラメータのテーブルです。
function mu.checkCommonsCategory( args )
この関数は、コモンズのカテゴリargs.commonscat
から名前空間名を除去し、コモンズのカテゴリが設定されている場合はメンテナンス用のカテゴリを追加します。
function mu.checkCoordinates( lat, long )
lat
とlong
の値を確認します。エラーがある場合、latとlongは空文字列となります。エラーメッセージのテーブルにも対応する部分があります(下記参照)。
function mu.checkZoom( args )
args.zoom
の値が0~19の範囲の数字でない場合、args.zoom
を既定値に設定します。
function mu.checkImage( image, entity )
画像の値を確認し、エラーがあった場合には空文字列を代入します。エラーメッセージのテーブルにも対応する部分があります(下記参照)。
function mu.checkStatus( args )
status
パラメータの値を確認し、有効な値をargs.statusTable
に代入します。エラーが発生した場合、エラーメッセージのテーブルにも対応する部分があります(下記参照)。
function mu.checkTypeAndGroup( args )
args
のタイプとグループの値を確認し、正しい値を代入します。エラーが発生した場合、エラーメッセージのテーブルにも対応する部分があります(下記参照)。
function mu.checkUrl( args )
args
のURLの値を確認し、正しい値を代入します。エラーが発生した場合、エラーメッセージのテーブルにも対応する部分があります(下記参照)。
タイプとグループの関数
編集function mu.getTypeParams( aType )
aType
で指定されたタイプのテーブルを、モジュール:Marker utilities/Typesから取得して返します。該当するものがない場合、nil
が返ります。
function mu.getTypeLabel( id )
id
に対応するタイプの最初のラベルを返します。id
は、vCardのタイプかウィキデータの項目名です。エラーがある場合、空文字列かid
そのものが返ります。
function mu.typeExists( aType )
aType
がモジュール:Marker utilities/TypesにあればaTypeを、なければnil
を返します。別名は対応するタイプに変換されます。
function mu.groupWithEvents( group )
指定されたグループgroup
が、イベントのタイプを使用できるかどうかを返します。
function mu.getColor( args )
グループgroup
から引数args
にcolor
とinverse
を追加します。
function mu.idToType( id )
ウィキデータIDからタイプを検索し、見つかった場合はそのタイプを、そうでなければnil
を返します。
整形関数
編集function mu.getShow( default, args, validValues )
上書き可能な既定値を踏まえて、カンマ区切りでパラメータに渡されたshow
の値を持つ連想配列を返します。args
はパラメータのテーブルで、この関数内ではargs.show
のみが評価されます。
function mu.removeCtrls( s, onlyInline )
この関数は、文字列s
から制御文字や改行を削除します。onlyInline = false
の場合には改行は削除されません。この関数の返り値は2つあります:
- 整形された
s
<div>
タグのコンテナを持つ説明文descrDiv
クエリ関数
編集function mu.getCoordinatesFromWikidata( entity )
ウィキデータのデータセットにある座標をエンティティのインスタンスと共にに返します。まず P5140 プロパティから中心座標を取得しようと試み、次に P625 プロパティから座標の取得を試みます。
function mu.typeSearch( p31 )
いくつかの P31~P279 チェーンで、モジュール:Marker utilities/Typesのテーブルに値が含まれているかもしれないQIDを検索します。テーブル P31 には見つかったP31の値が含まれています。はじめにヒットした値が文字列で返されます。エラーの場合は、エラー文字列が返されます。上位レベルを検索する際の深さの最大数はmi.searchLimit
で設定でき、通常は4です。最初の P279 ID だけが評価され、ツリー構造全体は評価されません。
function mu.getCommonsCategory( args, entity )
この関数は、ウィキデータにあるエンティティのインスタンスからコモンズのカテゴリを取得しようと試みます。最初に接続されているコモンズへのリンクが調べられ、次に P373 プロパティ、最後に P910 プロパティを調べます。
function mu.getLangTable( wikiLang, localLang )
wikiLang
、localLang
(country.lang
)、モジュール:Marker utilities/i18nの言語langs
を使って言語コードの配列を作成します。
function mu.getNamesFromWikidata( args, fromWikidata, country, entity )
この関数は、ウィキデータの情報を用いて、ウィキの言語と現地語の名称でテーブルの引数を埋めます。fromWikidata
テーブルには、名称の情報をウィキデータから取得したかどうか(fromWikidata.name
、fromWikidata.nameLocal
)が格納されます。
function mu.getArticleLink( args, entity )
この記事でテンプレート呼び出しが行われない限り、この関数は関連する記事へのサイトリンクをargs.thisWiki
に渡します。
マーカー関数
編集function mu.getMaki( key )
Die Funktion liefert eine Tabelle für den angegebenen key
aus der Tabelle Module:Marker utilities/Maki icons zurück.
function mu.getMakiIconId( aType )
Die Funktion liefert den Namen eines MAKI-Symbols zum Type aType
oder nil
zurück, wenn es keinen gibt oder eine Abbildung für den Fließtext fehlt.
function mu.addIconToMarker( args )
fügt einen Text, der ein Symbol enthält, zur Parametertabelle args
.
function mu.makeMarkerSymbol( args, title, frame, show )
liefert r
: HTML-Quellcode des Marker-Symbols.
アイコン関数
編集function mu.makeStatusIcons( args )
args.statusTable
テーブルに従って画像の文字列を返します。
function mu.addLinkIcon( classes, link, title, text )
リンクされたアイコン画像を表示するためのHTMLを生成します。表示にはテンプレートのスタイルシートも必要です。listing-icon
に追加するCSSクラスclasses
と、リンクlink
(外部リンクでも内部リンクでも)、ツールチップtitle
、通常は表示されないリンクテキストtext
が必要です。
function mu.makeSisterIcons( icons, args, country, entity )
リンクされた姉妹プロジェクトのアイコンをテーブルに代入します。通常、情報はウィキデータ・エンティティのサイトリンクから取得します。args
は、テンプレートに渡されたパラメータのテーブルです。テーブルcountry
には言語をはじめとした国のデータが入っています。
function mu.makeSocial( icons, args, fromWikidata, name )
リンクされたソーシャルメディアサービスのアイコンをテーブルに代入します。args
は、テンプレートに渡されたパラメータのテーブルです。fromWikidata
はウィキデータから取得したパラメータのテーブル、name
はマーカーやvCardが紹介している場所の名称です。
出力関数
編集function mu.prepareNames( args )
name
パラメータとnameMap
から形成されるdisplayName
テーブルとgivenName
テーブルを引数テーブルに追加します。ウィキ構文内の有効なリンクから実際の名前を抽出することが主な目的です。どちらのテーブルも次の3つの要素で構成されます:
name
(string
):表示される名前all
(string
):テンプレートにリンク付きで渡された場合はリンクを含めたウィキ構文、そうでない場合は名前だけpageTitle
(string
):リンクの名前。name
と異なるかもしれません。
function mu.makeName( result, args, show, page, country, nameClass, localClass )
result
テーブルに名前と追加の名前を追加します。追加の名前には、別名、現地語での名前、コメント、空港コードが含まれ、括弧とspanタグに挟まれています。nameClass
とlocalClass
は、名前と現地語名の追加クラスです。
function mu.parentheses( s, trim )
この関数は、括弧内に文字列s
を挿入します。ブール値trim
がtrue
ならば、書式の文字列(通常は (%s)
)が切り抜かれます。
function mu.dmsCoordinates( lat, long, name, fromWD, extraParams, noBrackets )
文字列r
を返します。この文字列は、マップツールへのリンクを含む10進数の座標で、任意で括弧内に入れることもできます。name
は場所の名前で、fromWD = true
は座標がウィキデータ由来であることを意味します。また、extraParams
にはマップツールで使用される縮尺と領域のデータが入ります。
function mu.makeWrapper( result, args, country, show, list, aClass, frame )
マーカーやvCardの内容をタグ(<span>
、<div>
)で囲みます。
その他の関数
編集function mu.getPageData()
この関数は、ページに関連したデータを返します。