「モジュール:Su」の版間の差分
ナビゲーションに移動
検索に移動
mediawiki>えのきだたもつ 細 (「モジュール:Su」の保護設定を変更しました: 更新の必要性が低い重要ページ ([編集=拡張承認された利用者と管理者に許可] (無期限) [移動=拡張承認された利用者と管理者に許可] (無期限))) |
細 (1版 をインポートしました) |
(相違点なし)
|
2022年3月12日 (土) 16:57時点における最新版
このモジュールについての説明文ページを モジュール:Su/doc に作成できます
-- This module implements {{su}}. local p = {} function p.main(frame) -- Use arguments from the parent frame only, and remove any blank arguments. -- We don't need to trim whitespace from any arguments, as this module only -- uses named arguments, and whitespace is trimmed from them automatically. local origArgs = frame:getParent().args local args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end -- Define the variables to pass to luaMain. local sup = args.p local sub = args.b local options = { align = args.a, fontSize = args.w, lineHeight = args.lh, verticalAlign = args.va } return p._main(sup, sub, options) end function p._main(sup, sub, options) options = options or {} local span = mw.html.create('span') -- Set the styles. span:css{ ['display'] = 'inline-block', ['margin-bottom'] = '-0.3em', ['vertical-align'] = options.verticalAlign or sub and '-0.4em' or '0.8em', ['line-height'] = options.lineHeight or '1.2em' } if options.fontSize == 'f' or options.fontSize == 'fixed' then span:css{ ['font-family'] = 'monospace,monospace', ['font-size'] = '80%' } else span:css('font-size', options.fontSize and options.fontSize or '80%') end if options.align == 'r' or options.align == 'right' then span:css('text-align', 'right') elseif options.align == 'c' or options.align == 'center' then span:css('text-align', 'center') else span:css('text-align', 'left') end -- Add the wikitext. span :wikitext(sup) :tag('br', {selfClosing = true}):done() :wikitext(sub) return tostring(span) end return p