モジュール:Quote(2023-04-27 19:40:27)

モジュール:Quoteの編集履歴一覧へ戻る

2023-04-27 19:40:27更新でのソースとプレビューを表示しています。


プレビューを確認する


ソース

<div><p>このモジュールについての説明文ページを モジュール:Quote/doc に作成できます</p></div><div><a href='#L-1'></a>-- <nowiki><a href='#L-2'></a>local Quote = {}<a href='#L-3'></a>local getArgs = require('Dev:Arguments').getArgs<a href='#L-4'></a>local i18n = require('Dev:I18n').loadMessages('Quote')<a href='#L-5'></a><a href='#L-6'></a>local function build(quotecontents, quotesource, options)<a href='#L-7'></a>    local quotecontainer = mw.html.create('blockquote')<a href='#L-8'></a>        :addClass('pull-quote')<a href='#L-9'></a>        :addClass(options.align)<a href='#L-10'></a>        :addClass(options.extraclasses)<a href='#L-11'></a>        :css(options.styles)<a href='#L-12'></a>        :cssText(options.extrastyles)<a href='#L-13'></a><a href='#L-14'></a>    quotecontainer:node(quotecontents)<a href='#L-15'></a><a href='#L-16'></a>    if quotesource then<a href='#L-17'></a>        local quote_source = quotecontainer:tag('cite')<a href='#L-18'></a>            :addClass('pull-quote__source')<a href='#L-19'></a>            :wikitext(quotesource)<a href='#L-20'></a>    end<a href='#L-21'></a><a href='#L-22'></a>    return quotecontainer<a href='#L-23'></a>end<a href='#L-24'></a><a href='#L-25'></a>local function options(args)<a href='#L-26'></a>    local options = {}<a href='#L-27'></a><a href='#L-28'></a>    options.styles = {}<a href='#L-29'></a>    options.extraclasses = i18n:parameter('class', args)<a href='#L-30'></a>    options.extrastyles = i18n:parameter('style', args)<a href='#L-31'></a>    options.align = ''<a href='#L-32'></a>    local align = i18n:parameter('align', args)<a href='#L-33'></a>    if align then<a href='#L-34'></a>        options.align = 'pull-quote--' .. align<a href='#L-35'></a>        options.styles['width'] = i18n:parameter('width', args) or<a href='#L-36'></a>                                  i18n:parameter('quotewidth', args) or<a href='#L-37'></a>                                  '300px'<a href='#L-38'></a>    end<a href='#L-39'></a><a href='#L-40'></a>    return options<a href='#L-41'></a>end<a href='#L-42'></a><a href='#L-43'></a>function Quote.quote(frame)<a href='#L-44'></a>    local args = getArgs(frame)<a href='#L-45'></a><a href='#L-46'></a>    local options = options(args)<a href='#L-47'></a><a href='#L-48'></a>    local quotetext=args[1] or<a href='#L-49'></a>                      i18n:parameter('quotetext', args) or<a href='#L-50'></a>                      i18n:parameter('quote', args) or<a href='#L-51'></a>                      i18n:parameter('text', args)<a href='#L-52'></a>    local person = args[2] or<a href='#L-53'></a>                   i18n:parameter('person', args) or<a href='#L-54'></a>                   i18n:parameter('speaker', args) or<a href='#L-55'></a>                   i18n:parameter('personquoted', args) or nil<a href='#L-56'></a>    local source = args[3] or<a href='#L-57'></a>                   i18n:parameter('source', args) or<a href='#L-58'></a>                   i18n:parameter('quotesource', args) or nil<a href='#L-59'></a><a href='#L-60'></a>    local quotecontents = mw.html.create('p')<a href='#L-61'></a>        :addClass('pull-quote__text')<a href='#L-62'></a>        :wikitext(quotetext)<a href='#L-63'></a><a href='#L-64'></a>    local quotesource = person<a href='#L-65'></a><a href='#L-66'></a>    if source then<a href='#L-67'></a>        quotesource = person .. ', ' .. source<a href='#L-68'></a>    end<a href='#L-69'></a><a href='#L-70'></a>    return build(quotecontents, quotesource, options)<a href='#L-71'></a>end<a href='#L-72'></a><a href='#L-73'></a>function Quote.dialogue(frame)<a href='#L-74'></a>    local args = getArgs(frame)<a href='#L-75'></a><a href='#L-76'></a>    local options = options(args)<a href='#L-77'></a><a href='#L-78'></a>    local quotecontents = mw.html.create('div')<a href='#L-79'></a>        :addClass('pull-quote__text')<a href='#L-80'></a><a href='#L-81'></a>    local quotesource<a href='#L-82'></a><a href='#L-83'></a>    for i, v in ipairs(args) do<a href='#L-84'></a>        local next_param = i + 1<a href='#L-85'></a><a href='#L-86'></a>        if i % 2 ~= 0 then<a href='#L-87'></a>            quotecontents:tag('div')<a href='#L-88'></a>                :addClass('pull-quote__line')<a href='#L-89'></a>                :tag('strong')<a href='#L-90'></a>                    :addClass('pull-quote__speaker')<a href='#L-91'></a>                    :wikitext(v .. ':')<a href='#L-92'></a>                    :done()<a href='#L-93'></a>                :wikitext(' ' .. args[next_param])<a href='#L-94'></a>                :done()<a href='#L-95'></a>        end<a href='#L-96'></a>    end<a href='#L-97'></a><a href='#L-98'></a>    local context=i18n:parameter('context', args)<a href='#L-99'></a>    local source = i18n:parameter('source', args)<a href='#L-100'></a>    if context and source then<a href='#L-101'></a>        quotesource = context .. ', ' .. source<a href='#L-102'></a>    elseif context and not source then<a href='#L-103'></a>        quotesource = context<a href='#L-104'></a>    elseif source and not context then<a href='#L-105'></a>        quotesource = source<a href='#L-106'></a>    end<a href='#L-107'></a><a href='#L-108'></a>    return build(quotecontents, quotesource, options)<a href='#L-109'></a><a href='#L-110'></a>end<a href='#L-111'></a><a href='#L-112'></a>return Quote</div>
<br>
この記事は、CC BY-SAのもとで公表された<a href="https://fifty-people-craft.fandom.com/ja/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Quote">「モジュール:Quote」</a>を改変し作成しました。特に記載されていない限り、CC BY-SAのもとで利用可能です。}

プレビュー

このモジュールについての説明文ページを モジュール:Quote/doc に作成できます

-- local Quote = {}local getArgs = require('Dev:Arguments').getArgslocal i18n = require('Dev:I18n').loadMessages('Quote')local function build(quotecontents, quotesource, options) local quotecontainer = mw.html.create('blockquote') :addClass('pull-quote') :addClass(options.align) :addClass(options.extraclasses) :css(options.styles) :cssText(options.extrastyles) quotecontainer:node(quotecontents) if quotesource then local quote_source = quotecontainer:tag('cite') :addClass('pull-quote__source') :wikitext(quotesource) end return quotecontainerendlocal function options(args) local options = {} options.styles = {} options.extraclasses = i18n:parameter('class', args) options.extrastyles = i18n:parameter('style', args) options.align = '' local align = i18n:parameter('align', args) if align then options.align = 'pull-quote--' .. align options.styles['width'] = i18n:parameter('width', args) or i18n:parameter('quotewidth', args) or '300px' end return optionsendfunction Quote.quote(frame) local args = getArgs(frame) local options = options(args) local quotetext=args[1] or i18n:parameter('quotetext', args) or i18n:parameter('quote', args) or i18n:parameter('text', args) local person = args[2] or i18n:parameter('person', args) or i18n:parameter('speaker', args) or i18n:parameter('personquoted', args) or nil local source = args[3] or i18n:parameter('source', args) or i18n:parameter('quotesource', args) or nil local quotecontents = mw.html.create('p') :addClass('pull-quote__text') :wikitext(quotetext) local quotesource = person if source then quotesource = person .. ', ' .. source end return build(quotecontents, quotesource, options)endfunction Quote.dialogue(frame) local args = getArgs(frame) local options = options(args) local quotecontents = mw.html.create('div') :addClass('pull-quote__text') local quotesource for i, v in ipairs(args) do local next_param = i + 1 if i % 2 ~= 0 then quotecontents:tag('div') :addClass('pull-quote__line') :tag('strong') :addClass('pull-quote__speaker') :wikitext(v .. ':') :done() :wikitext(' ' .. args[next_param]) :done() end end local context=i18n:parameter('context', args) local source = i18n:parameter('source', args) if context and source then quotesource = context .. ', ' .. source elseif context and not source then quotesource = context elseif source and not context then quotesource = source end return build(quotecontents, quotesource, options)endreturn Quote

この記事は、CC BY-SAのもとで公表された「モジュール:Quote」を改変し作成しました。特に記載されていない限り、CC BY-SAのもとで利用可能です。

ソースを確認する


モジュール:Quoteの編集履歴一覧へ戻る