このページは、モジュール:Marker utilitiesの説明文を記述するページです。

このモジュールは、モジュール:VCardで使用される関数を提供します。Wikivoyage:Marker utilities (ドイツ語版も参照。

ウィキデータでのバージョン: 2024-11-11 問題あり

使用状況

編集

このモジュールを使用しているモジュールは以下の通りです:

関数

編集

メンテナンス関数

編集
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が定義されており、空文字列でなければ、tabvalueを挿入します。

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>タグで囲んだ文字列を返します。classCSSクラス、attrは属性のテーブル、cssは要素に直接書かれるスタイルシートのテーブルです。

function mu.languageSpan( s, titleHint, args, country, addClass )

言語とテキストの方向が指定された<span>タグにテキストsを挿入します。titleHint<span>タグのtitle属性、argsはテンプレートのパラメータが入ったテーブル、countryは国の情報のテーブルです。

function mu.addWdClass( isFromWikidata )

isFromWikidatatrueの場合、クラス識別子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 )

latlongの値を確認します。エラーがある場合、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から引数argscolorinverseを追加します。

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 )

wikiLanglocalLangcountry.lang)、モジュール:Marker utilities/i18nの言語langsを使って言語コードの配列を作成します。

function mu.getNamesFromWikidata( args, fromWikidata, country, entity )

この関数は、ウィキデータの情報を用いて、ウィキの言語と現地語の名称でテーブルの引数を埋めます。fromWikidataテーブルには、名称の情報をウィキデータから取得したかどうか(fromWikidata.namefromWikidata.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つの要素で構成されます:

  • namestring):表示される名前
  • allstring):テンプレートにリンク付きで渡された場合はリンクを含めたウィキ構文、そうでない場合は名前だけ
  • pageTitlestring):リンクの名前。nameと異なるかもしれません。
function mu.makeName( result, args, show, page, country, nameClass, localClass )

resultテーブルに名前と追加の名前を追加します。追加の名前には、別名、現地語での名前、コメント、空港コードが含まれ、括弧とspanタグに挟まれています。nameClasslocalClassは、名前と現地語名の追加クラスです。

function mu.parentheses( s, trim )

この関数は、括弧内に文字列sを挿入します。ブール値trimtrueならば、書式の文字列(通常は (%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()

この関数は、ページに関連したデータを返します。

関連項目

編集